This CLI (Command Line Interface) is based mbed-os. Both NNN50 and NQ620 are supported.
Fork of NNN40_CLI by
BLE CLI Document can be downloaded here .
Note that when evaluate using Windows PC as the host, the Serial driver need to be installed in advance. The instruction is explained in the link below
https://developer.mbed.org/handbook/Windows-serial-configuration
Once installed, a device called 'mbed Serial Port (COM#)' should be recognized in Device Manager, as shown below
Please open the com port at 115200 8n1 as default
Diff: mbed-events/events-c/events_mbed.cpp
- Revision:
- 25:1423b707b705
- Parent:
- 24:838a0b25934b
--- a/mbed-events/events-c/events_mbed.cpp Fri Nov 11 09:02:51 2016 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-#if defined(__MBED__)
-
-#include "events_tick.h"
-#include "events_sema.h"
-#include "events_mutex.h"
-
-#include <stdbool.h>
-#include "mbed.h"
-#ifdef MBED_CONF_RTOS_PRESENT
-#include "rtos.h"
-#endif
-
-
-// Ticker operations
-static class GlobalTicker {
-public:
- GlobalTicker() {
- _tick = 0;
- _timer.start();
- _ticker.attach_us(this, &GlobalTicker::step, (1 << 16) * 1000);
- };
-
- void step() {
- _timer.reset();
- _tick += 1 << 16;
- }
-
- unsigned tick() {
- return _tick + (unsigned)_timer.read_ms();
- }
-
-private:
- unsigned _tick;
- Timer _timer;
- Ticker _ticker;
-} gticker;
-
-unsigned events_tick() {
- return gticker.tick();
-}
-
-
-// Mutex operations
-int events_mutex_create(events_mutex_t *m) { return 0; }
-void events_mutex_destroy(events_mutex_t *m) { }
-
-void events_mutex_lock(events_mutex_t *m) {
- *m = __get_PRIMASK();
- __disable_irq();
-}
-
-void events_mutex_unlock(events_mutex_t *m) {
- __set_PRIMASK(*m);
-}
-
-
-// Semaphore operations
-#ifdef MBED_CONF_RTOS_PRESENT
-
-static inline Semaphore *sema(events_sema_t *s) {
- return static_cast<Semaphore*>(*s);
-}
-
-int events_sema_create(events_sema_t *s) {
- *s = new Semaphore(0);
- return sema(s) ? 0 : -1;
-}
-
-void events_sema_destroy(events_sema_t *s) {
- delete sema(s);
-}
-
-void events_sema_release(events_sema_t *s) {
- sema(s)->release();
-}
-
-bool events_sema_wait(events_sema_t *s, int ms) {
- int t = sema(s)->wait(ms < 0 ? osWaitForever : ms);
- return t > 0;
-}
-
-#else
-
-// Semaphore operations
-int events_sema_create(events_sema_t *s) { return 0; }
-void events_sema_destroy(events_sema_t *s) {}
-void events_sema_release(events_sema_t *s) {}
-
-static void events_sema_wakeup() {}
-
-bool events_sema_wait(events_sema_t *s, int ms) {
- Timeout timeout;
- timeout.attach_us(events_sema_wakeup, ms*1000);
-
- __WFI();
-
- return true;
-}
-
-#endif
-
-#endif
-
