Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 0:bd4e93ef863c, committed 2022-05-23
- Comitter:
- dshin
- Date:
- Mon May 23 05:22:16 2022 +0000
- Commit message:
- lab07-simple-timer
Changed in this revision
diff -r 000000000000 -r bd4e93ef863c ESP-call.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ESP-call.lib Mon May 23 05:22:16 2022 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/dshin/code/ESP-call/#11487122965a
diff -r 000000000000 -r bd4e93ef863c main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon May 23 05:22:16 2022 +0000
@@ -0,0 +1,70 @@
+// ======================================================================
+
+#include "mbed.h"
+#include "ESP-call.h"
+
+// ======================================================================
+// NodeMCU program
+
+NodeMCU_PGM simple_timer[] = {
+ "", 1,
+ "delayms = 500", 1,
+ "", 1,
+ "LEDpin = 4", 1,
+ "LEDstate = 0", 1,
+ "", 1,
+ "gpio.mode(LEDpin,gpio.OUTPUT)", 1,
+ "", 1,
+ "function toggle()", 1,
+ " if (LEDstate) then gpio.write(LEDpin,gpio.LOW)", 1,
+ " else gpio.write(LEDpin,gpio.HIGH)", 1,
+ " end", 1,
+ " LEDstate = not LEDstate", 1,
+ "end", 1,
+ "", 1,
+ "mytimer = tmr.create()", 1,
+ "mytimer:register(delayms, tmr.ALARM_AUTO, function () toggle() end)", 1,
+ "mytimer:start()", 1,
+ NULL, 0, // last line should be NULL and 0
+};
+
+// ======================================================================
+// Main thread
+
+int main()
+{
+ int i;
+ char *p;
+
+ // Config baudrate of PC and ESP
+ PC.baud(115200);
+ ESP.baud(115200);
+
+ // Reset ESP
+ PC.printf("\r\nReset ESP...\r\n");
+ ESP_reset();
+
+ // Setup ESP noecho mode
+ PC.printf("Setup ESP noecho...\r\n");
+ ESP_noecho();
+
+ // Execute a NodeMCU program
+ PC.printf("Execute a NodeMCU program...\r\n");
+ ESP_call_multi(simple_timer);
+
+ // Setup ESP echo mode
+ PC.printf("\r\nSetup ESP echo...\r\n");
+ ESP_echo();
+
+ // Config ESP passthrough mode
+ PC.printf("ESP passthrough mode...\r\n");
+ PC.attach(&ISR_PC_to_ESP, Serial::RxIrq);
+ ESP.attach(&ISR_ESP_to_PC, Serial::RxIrq);
+
+ // Main thread sleeps
+ while(1) {
+ sleep();
+ }
+}
+
+// ======================================================================
\ No newline at end of file
diff -r 000000000000 -r bd4e93ef863c mbed-os.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Mon May 23 05:22:16 2022 +0000 @@ -0,0 +1,1 @@ +https://github.com/armmbed/mbed-os/#cf4f12a123c05fcae83fc56d76442015cb8a39e9
diff -r 000000000000 -r bd4e93ef863c simple-timer.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/simple-timer.lua Mon May 23 05:22:16 2022 +0000 @@ -0,0 +1,17 @@ +delayms = 500 + +LEDpin = 4 +LEDstate = 0 + +gpio.mode(LEDpin,gpio.OUTPUT) + +function toggle() + if (LEDstate) then gpio.write(LEDpin,gpio.LOW) + else gpio.write(LEDpin,gpio.HIGH) + end + LEDstate = not LEDstate +end + +mytimer = tmr.create() +mytimer:register(delayms, tmr.ALARM_AUTO, function () toggle() end) +mytimer:start() \ No newline at end of file