modified car net server
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
<component name="libraryTable">
|
||||||
|
<library name="jcommander-1.48">
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$USER_HOME$/Downloads/jcommander-1.48.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</component>
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
import com.beust.jcommander.Parameter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by user on 7/12/16.
|
||||||
|
*/
|
||||||
|
public class CommandLineArgs {
|
||||||
|
|
||||||
|
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
|
||||||
|
public Integer verbose = 1;
|
||||||
|
|
||||||
|
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
|
||||||
|
public String groups;
|
||||||
|
|
||||||
|
@Parameter(names = "-debug", description = "Debug mode")
|
||||||
|
public boolean debug = false;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
import com.beust.jcommander.JCommander;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by user on 7/12/16.
|
||||||
|
*/
|
||||||
|
public class JCom extends JCommander {
|
||||||
|
}
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import com.beust.jcommander.JCommander
|
||||||
import com.google.protobuf.ByteString
|
import com.google.protobuf.ByteString
|
||||||
import io.netty.buffer.Unpooled
|
import io.netty.buffer.Unpooled
|
||||||
import io.netty.handler.codec.http.*
|
import io.netty.handler.codec.http.*
|
||||||
@@ -12,6 +13,11 @@ import java.util.*
|
|||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
//2 argm path to bin and server ip
|
//2 argm path to bin and server ip
|
||||||
//1 option - 0x000...
|
//1 option - 0x000...
|
||||||
|
var asss:ArrayList<String> = ArrayList();
|
||||||
|
|
||||||
|
val clArgs:CommandLineArgs = CommandLineArgs();
|
||||||
|
val jcom = JCommander(clArgs)
|
||||||
|
|
||||||
val host = "127.0.0.1"
|
val host = "127.0.0.1"
|
||||||
val port = 8888
|
val port = 8888
|
||||||
val base = "0x08000000"
|
val base = "0x08000000"
|
||||||
|
|||||||
@@ -10,5 +10,6 @@
|
|||||||
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
|
||||||
<orderEntry type="library" name="netty-all-4.1.2.Final-sources" level="project" />
|
<orderEntry type="library" name="netty-all-4.1.2.Final-sources" level="project" />
|
||||||
<orderEntry type="library" name="protobuf-java-3.0.0-beta-3" level="project" />
|
<orderEntry type="library" name="protobuf-java-3.0.0-beta-3" level="project" />
|
||||||
|
<orderEntry type="library" name="jcommander-1.48" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
.idea/workspace.xml
|
.idea/workspace.xml
|
||||||
.idea/uiDesigner.xml
|
.idea/uiDesigner.xml
|
||||||
|
.idea/jsLibraryMappings.xml
|
||||||
|
.idea/libraries/stFlashServer_node_modules.xml
|
||||||
protobufjs
|
protobufjs
|
||||||
node_modules
|
node_modules
|
||||||
out
|
out
|
||||||
|
|||||||
+1
@@ -4,5 +4,6 @@
|
|||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="inheritedJdk" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="library" name="stFlashServer node_modules" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
@@ -3,12 +3,13 @@
|
|||||||
*/
|
*/
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const main = require("./main.js");
|
const main = require("./main.js");
|
||||||
|
var exec = require('child_process').exec;
|
||||||
|
|
||||||
function loadBin(httpContent, response) {
|
function loadBin(httpContent, response) {
|
||||||
|
|
||||||
var uploadClass = main.protoConstructor.Upload;
|
var uploadClass = main.protoConstructor.Upload;
|
||||||
var uploadObject = uploadClass.decode(httpContent);
|
var uploadObject = uploadClass.decode(httpContent);
|
||||||
fs.writeFile(binFilePath, uploadObject.data.buffer, "binary", function (error) {
|
fs.writeFile(main.binFilePath, uploadObject.data.buffer, "binary", function (error) {
|
||||||
var uploadResultClass = main.protoConstructor.UploadResult;
|
var uploadResultClass = main.protoConstructor.UploadResult;
|
||||||
var code = 0;
|
var code = 0;
|
||||||
var stdErr = "";
|
var stdErr = "";
|
||||||
@@ -17,21 +18,32 @@ function loadBin(httpContent, response) {
|
|||||||
stdErr = error.toString();
|
stdErr = error.toString();
|
||||||
} else {
|
} else {
|
||||||
code = 0;
|
code = 0;
|
||||||
console.log(main.commandPrefix + " " + main.binFilePath + " " + uploadObject.base);
|
var shCommand = main.commandPrefix + " " + main.binFilePath + " " + uploadObject.base;
|
||||||
|
exec(shCommand, function (error, stdout, stderr) {
|
||||||
|
// TODO get program result code and error textual representation and send
|
||||||
|
// back in the response
|
||||||
|
if (error) {
|
||||||
|
code = 1;
|
||||||
|
console.error(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
var resultObject = new uploadResultClass({
|
||||||
|
"stdOut": stdout.toString(),
|
||||||
|
"resultCode": code,
|
||||||
|
"stdErr": stderr.toString()
|
||||||
|
});
|
||||||
|
var byteBuffer = resultObject.encode();
|
||||||
|
var byteArray = [];
|
||||||
|
for (var i = 0; i < byteBuffer.limit; i++) {
|
||||||
|
byteArray.push(byteBuffer.buffer[i]);
|
||||||
|
}
|
||||||
|
response.writeHead(200, {"Content-Type": "text/plain", "Content-length": byteArray.length});
|
||||||
|
response.write(new Buffer(byteArray));
|
||||||
|
response.end();
|
||||||
|
console.log(shCommand);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
var resultObject = new uploadResultClass({
|
|
||||||
"stdOut": "",
|
|
||||||
"resultCode": code,
|
|
||||||
"stdErr": stdErr
|
|
||||||
});
|
|
||||||
var byteBuffer = resultObject.encode();
|
|
||||||
var byteArray = [];
|
|
||||||
for (var i = 0; i < byteBuffer.limit; i++) {
|
|
||||||
byteArray.push(byteBuffer.buffer[i]);
|
|
||||||
}
|
|
||||||
response.writeHead(200, {"Content-Type": "text/plain", "Content-length": byteArray.length});
|
|
||||||
response.write(new Buffer(byteArray));
|
|
||||||
response.end();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ handle["/other"] = handlers.other;
|
|||||||
|
|
||||||
server.start(router.route, handle);
|
server.start(router.route, handle);
|
||||||
exports.protoConstructor = protoConstructor;
|
exports.protoConstructor = protoConstructor;
|
||||||
exports.commandPrefix = "./data/macosx-x86_64/st-flash write";
|
exports.commandPrefix = "./st-flash write";
|
||||||
exports.binFilePath = (commander.binfile ? commander.binfile : "./") + "f.bin";
|
exports.binFilePath = (commander.binfile ? commander.binfile : "./") + "f.bin";
|
||||||
console.log(exports.binFilePath);
|
console.log(exports.binFilePath);
|
||||||
console.log(exports.commandPrefix);
|
console.log(exports.commandPrefix);
|
||||||
+1
-1
@@ -1 +1 @@
|
|||||||
./data/macosx-x86_64/st-flash write ./data/fancyblink.bin 0x08000000
|
./macosx-x86_64/st-flash write ./data/fancyblink.bin 0x08000000
|
||||||
|
|||||||
Reference in New Issue
Block a user