This example project explains the following: * Reading and writing NFC tag * Use Flash storage to store Javascript source code which can be executed when the board is turned on. * Downloading JavaScript program from url. Project demo: Writes and runs JS program from Flash storage by downloading from internet using URL from NFC tag. NFC tag must contain the following info: 1- Password 2- URL separated by: , Note: This project is based on Mbed JavaScript and hence cannot be compiled using MBed Compiler. Read Readme.md for information about compiling and running this project.

Revision:
0:1cefa69131b8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/js_manager.js	Sun Aug 19 21:39:08 2018 +0500
@@ -0,0 +1,121 @@
+var js_manager = new JSManager();
+
+//print("\r\njs_manager.js has finished executing.");
+
+run_program_from_flash = function(){
+    print('\33[36mRunning js from flash...\33[0m'); // color back to normal
+    var result = js_manager.run_js_flash();
+    
+    if(result == 0){
+        print("\33[32mProgram execution successful!\33[0m");
+    }
+    else if(result == 1){
+        print("\33[35mFlash is empty!\33[0m");
+    }
+    else if(result == 2){
+        print("\33[31mProgram execution failed! Error parsing code.\33[0m");
+    }
+    else if(result == 3){
+        print("\33[31mProgram execution failed! Error in execution.\33[0m");
+    }
+    
+}
+
+load_http_program = function(url){
+    var result = js_manager.load_http_program(url);
+
+    if(result == 0){
+        print("\33[32mProgram downloaded successfully!\33[0m");
+    }
+    else if(result == 1){
+        print("\33[31mServer could not be located!\33[0m");
+    }
+    else if(result == 2){
+        print("\33[31mProgram not found!\33[0m");
+    }
+    else if(result == 3){
+        print("\33[31mInvalid Program file! Contains errors.\33[0m");
+    }
+    else if(result == 4){
+        print("\33[31mNetwork could not be initalized!\33[0m");
+    }
+    return result;
+};
+
+load_nfc_program = function(file){
+    var s = String.fromCharCode(47);
+    
+    var protocol =  'http:'; //http:' + '/' + '/' + 'www' + '.indigost' + '.com' + '/' + 'code.js';
+    var div = s + s;
+    var website = 'www.indigost.com' + s + 'cloud' + s + 'index.php' + s + 's';
+
+    var link = protocol + div + website + s + file + s + 'download';
+    
+    print(link);
+    
+    var result = js_manager.load_http_program(link);
+
+    if(result == 0){
+        print("\33[32mProgram downloaded successfully!\33[0m");
+    }
+    else if(result == 1){
+        print("\33[31mServer could not be located!\33[0m");
+    }
+    else if(result == 2){
+        print("\33[31mProgram not found!\33[0m");
+    }
+    else if(result == 3){
+        print("\33[31mInvalid Program file! Contains errors.\33[0m");
+    }
+    else if(result == 4){
+        print("\33[31mNetwork could not be initalized!\33[0m");
+    }
+    return result;
+};
+
+gg = function(){
+    // Symbol / is causing problems sometimes in a string so we get it this way 
+    var s = String.fromCharCode(47);
+    
+    var protocol =  'http:'; //http:' + '/' + '/' + 'www' + '.indigost' + '.com' + '/' + 'code.js';
+    var div = s + s;
+    var website = 'www.indigost.com';
+    var file = 'code.js';
+    var link = protocol + div + website + s + file;
+
+    print('Opening: ' + link);
+    var result = js_manager.load_http_program(link);
+
+    if(result == 0){
+        print("\33[32mProgram downloaded successfully!\33[0m");
+    }
+    else if(result == 1){
+        print("\33[31mServer could not be located!\33[0m");
+    }
+    else if(result == 2){
+        print("\33[31mProgram not found!\33[0m");
+    }
+    else if(result == 3){
+        print("\33[31mInvalid Program file! Contains errors.\33[0m");
+    }
+    else if(result == 4){
+        print("\33[31mNetwork could not be initalized!\33[0m");
+    }
+    return result;
+};
+
+erase_flash = function(){
+    var result = js_manager.erase_flash();
+    if(result == 0 ){
+        return ('Flash erased successfully!');
+    }
+    else{
+        return ('Flash erasing failed with error code: ' + result);
+    }
+};
+
+reboot = function(){
+    return js_manager.reboot();
+}
+
+module.exports = js_manager;