NAMote72 Utility Application – Serial Terminal Monitor control for NAMote72 (note: this application replaces the previous na_mote1 test code application)

Dependencies:   SX127x lib_gps lib_mma8451q lib_mpl3115a2 lib_sx9500 mbed

Fork of na_mote1 by wayne roberts

See wiki Page for a detailed

This is a link to the wiki page

Revision:
17:f73dbeca8736
Parent:
16:b8648db86f86
--- a/oslmic.h	Fri Jan 15 18:28:50 2016 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 IBM Corporation.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Zurich Research Lab - initial API, implementation and documentation
- *******************************************************************************/
-
-#ifndef _oslmic_h_
-#define _oslmic_h_
-
-// Dependencies required for the LoRa MAC in C to run.
-// These settings can be adapted to the underlying system.
-// You should not, however, change the lmic.[hc]
-
-
-
-//================================================================================
-//================================================================================
-// Target platform as C library
-typedef unsigned char      bit_t;
-typedef unsigned char      u1_t;
-typedef   signed char      s1_t;
-typedef unsigned short     u2_t;
-typedef          short     s2_t;
-typedef unsigned int       u4_t;
-typedef          int       s4_t;
-typedef unsigned long long u8_t;
-typedef          long long s8_t;
-typedef unsigned int       uint;
-typedef const char* str_t;
-
-#define CFG_noassert 1
-#include <string.h>
-//#include "hal.h"
-#define EV(a,b,c) /**/
-#define DO_DEVDB(meth,...) /**/
-#if !CFG_noassert
-#define ASSERT(cond) if(!(cond)) hal_failed()
-#else
-#define ASSERT(cond) /**/
-#endif
-
-#define os_clearMem(a,b)   memset(a,0,b)
-#define os_copyMem(a,b,c)  memcpy(a,b,c)
-
-typedef     struct osjob_t osjob_t;
-typedef      struct band_t band_t;
-typedef      struct rxqu_t rxqu_t;
-typedef   struct chnldef_t chnldef_t;
-typedef   struct rxsched_t rxsched_t;
-typedef   struct bcninfo_t bcninfo_t;
-typedef        const u1_t* xref2cu1_t;
-typedef              u1_t* xref2u1_t;
-#define TYPEDEF_xref2rps_t     typedef         rps_t* xref2rps_t
-#define TYPEDEF_xref2rxqu_t    typedef        rxqu_t* xref2rxqu_t
-#define TYPEDEF_xref2rxsched_t typedef     rxsched_t* xref2rxsched_t
-#define TYPEDEF_xref2chnldef_t typedef     chnldef_t* xref2chnldef_t
-#define TYPEDEF_xref2band_t    typedef        band_t* xref2band_t
-#define TYPEDEF_xref2osjob_t   typedef       osjob_t* xref2osjob_t
-
-#define SIZEOFEXPR(x) sizeof(x)
-
-#define ON_LMIC_EVENT(ev)  onEvent(ev)
-#define DECL_ON_LMIC_EVENT void onEvent(ev_t e)
-
-extern u4_t AESAUX[];
-extern u4_t AESKEY[];
-#define AESkey ((u1_t*)AESKEY)
-#define AESaux ((u1_t*)AESAUX)
-#define FUNC_ADDR(func) (&(func))
-
-u1_t radio_rand1 (void);
-#define os_getRndU1() radio_rand1()
-
-#define DEFINE_LMIC  struct lmic_t LMIC
-#define DECLARE_LMIC extern struct lmic_t LMIC
-
-void radio_init(void);
-void radio_irq_handler (u1_t dio);
-void os_init (void);
-void os_runloop (void);
-
-//================================================================================
-
-
-#ifndef RX_RAMPUP
-#define RX_RAMPUP  (us2osticks(200))
-#endif
-#ifndef TX_RAMPUP
-#define TX_RAMPUP  (us2osticks(2000))
-#endif
-
-#ifndef OSTICKS_PER_SEC
-#define OSTICKS_PER_SEC 15625
-#elif OSTICKS_PER_SEC < 10000 || OSTICKS_PER_SEC > 64516
-#error Illegal OSTICKS_PER_SEC - must be in range [10000:64516]. One tick must be 15.5us .. 100us long.
-#endif
-
-typedef s4_t  ostime_t;
-
-#if !HAS_ostick_conv
-#define us2osticks(us)   ((ostime_t)( ((s8_t)(us) * OSTICKS_PER_SEC) / 1000000))
-#define ms2osticks(ms)   ((ostime_t)( ((s8_t)(ms) * OSTICKS_PER_SEC)    / 1000))
-#define sec2osticks(sec) ((ostime_t)( (s8_t)(sec) * OSTICKS_PER_SEC))
-#define osticks2ms(os)   ((s4_t)(((os)*(s8_t)1000    ) / OSTICKS_PER_SEC))
-#define osticks2us(os)   ((s4_t)(((os)*(s8_t)1000000 ) / OSTICKS_PER_SEC))
-// Special versions
-#define us2osticksCeil(us)  ((ostime_t)( ((s8_t)(us) * OSTICKS_PER_SEC + 999999) / 1000000))
-#define us2osticksRound(us) ((ostime_t)( ((s8_t)(us) * OSTICKS_PER_SEC + 500000) / 1000000))
-#define ms2osticksCeil(ms)  ((ostime_t)( ((s8_t)(ms) * OSTICKS_PER_SEC + 999) / 1000))
-#define ms2osticksRound(ms) ((ostime_t)( ((s8_t)(ms) * OSTICKS_PER_SEC + 500) / 1000))
-#endif
-
-
-struct osjob_t;  // fwd decl.
-typedef void (*osjobcb_t) (struct osjob_t*);
-struct osjob_t {
-    struct osjob_t* next;
-    ostime_t deadline;
-    osjobcb_t  func;
-};
-TYPEDEF_xref2osjob_t;
-
-
-#if !HAS_os_calls
-
-#ifndef os_getDevKey
-void os_getDevKey (xref2u1_t buf);
-#endif
-#ifndef os_getArtEui
-void os_getArtEui (xref2u1_t buf);
-#endif
-#ifndef os_getDevEui
-void os_getDevEui (xref2u1_t buf);
-#endif
-#ifndef os_setCallback
-void os_setCallback (xref2osjob_t job, osjobcb_t cb);
-#endif
-#ifndef os_setTimedCallback
-void os_setTimedCallback (xref2osjob_t job, ostime_t time, osjobcb_t cb);
-#endif
-#ifndef os_clearCallback
-void os_clearCallback (xref2osjob_t job);
-#endif
-#ifndef os_getTime
-ostime_t os_getTime (void);
-#endif
-#ifndef os_getTimeSecs
-uint os_getTimeSecs (void);
-#endif
-#ifndef os_radio
-void os_radio (u1_t mode);
-#endif
-#ifndef os_getBattLevel
-u1_t os_getBattLevel (void);
-#endif
-
-#ifndef os_rlsbf4
-//! Read 32-bit quantity from given pointer in little endian byte order.
-u4_t os_rlsbf4 (xref2cu1_t buf);
-#endif
-#ifndef os_wlsbf4
-//! Write 32-bit quntity into buffer in little endian byte order.
-void os_wlsbf4 (xref2u1_t buf, u4_t value);
-#endif
-#ifndef os_rmsbf4
-//! Read 32-bit quantity from given pointer in big endian byte order.
-u4_t os_rmsbf4 (xref2cu1_t buf);
-#endif
-#ifndef os_wmsbf4
-//! Write 32-bit quntity into buffer in big endian byte order.
-void os_wmsbf4 (xref2u1_t buf, u4_t value);
-#endif
-#ifndef os_rlsbf2
-//! Read 16-bit quantity from given pointer in little endian byte order.
-u2_t os_rlsbf2 (xref2cu1_t buf);
-#endif
-#ifndef os_wlsbf2
-//! Write 16-bit quntity into buffer in little endian byte order.
-void os_wlsbf2 (xref2u1_t buf, u2_t value);
-#endif
-
-//! Get random number (default impl for u2_t).
-#ifndef os_getRndU2
-#define os_getRndU2() ((u2_t)((os_getRndU1()<<8)|os_getRndU1()))
-#endif
-#ifndef os_crc16
-u2_t os_crc16 (xref2u1_t d, uint len);
-#endif
-
-#endif // !HAS_os_calls
-
-// ======================================================================
-// AES support 
-// !!Keep in sync with lorabase.hpp!!
-
-#ifndef AES_ENC  // if AES_ENC is defined as macro all other values must be too
-#define AES_ENC       0x00 
-#define AES_DEC       0x01
-#define AES_MIC       0x02
-#define AES_CTR       0x04
-#define AES_MICNOAUX  0x08
-#endif
-#ifndef AESkey  // if AESkey is defined as macro all other values must be too
-extern xref2u1_t AESkey;
-extern xref2u1_t AESaux;
-#endif
-#ifndef os_aes
-u4_t os_aes (u1_t mode, xref2u1_t buf, u2_t len);
-#endif
-
-void wbr_print_lora_regs(void);
-
-#endif // _oslmic_h_