fholin fholin / Mbed 2 deprecated MiniMousetest

Dependencies:   mbed

Revision:
0:2325d1d28df3
Child:
1:eda561b01daf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MinimouseSrc/Define.h	Fri Dec 15 13:15:04 2017 +0000
@@ -0,0 +1,178 @@
+/*
+
+  __  __ _       _                                 
+ |  \/  (_)     (_)                                
+ | \  / |_ _ __  _ _ __ ___   ___  _   _ ___  ___  
+ | |\/| | | '_ \| | '_ ` _ \ / _ \| | | / __|/ _ \
+ | |  | | | | | | | | | | | | (_) | |_| \__ \  __/ 
+ |_|  |_|_|_| |_|_|_| |_| |_|\___/ \__,_|___/\___| 
+                                                   
+                                                   
+Description       : Dedine for loraMac Layer.  
+
+
+License           : Revised BSD License, see LICENSE.TXT file include in the project
+
+Maintainer        : Fabien Holin (SEMTECH)
+*/
+#ifndef DEFINE_H
+#define DEFINE_H
+#include "mbed.h"
+
+/********************************************************************************/
+/*                         LoraWan Process States                               */
+/********************************************************************************/
+
+typedef enum LoraWan_Process_States {
+    LWPSTATE_IDLE ,
+    LWPSTATE_SEND ,
+    LWPSTATE_RX1 ,
+    LWPSTATE_RX2 ,
+    LWPSTATE_PROCESSDOWNLINK ,
+    LWPSTATE_UPDATEMAC,
+    LWPSTATE_TXWAIT,    
+    LWPSTATE_ERROR
+} eLoraWan_Process_States;
+/********************************************************************************/
+/*                           Timer Process States                               */
+/********************************************************************************/
+enum{
+    TIMERSTATE_SLEEP,
+    TIMERSTATE_RUNNING
+};
+
+/*****************************************************************************/
+/*                                 Radio Process States                      */
+/*****************************************************************************/
+
+enum{
+    RADIOSTATE_IDLE,
+    RADIOSTATE_TXON,
+    RADIOSTATE_TXFINISHED,
+    RADIOSTATE_RX1FINISHED,
+//    RADIOSTATE_RX2FINISHED
+};
+
+
+/********************************************************************************/
+/*                   LoraWan Mac Layer Parameters                               */
+/********************************************************************************/
+enum{
+    JOINREQUEST,
+    JOINACCEPT,
+    UNCONFDATAUP,
+    UNCONFDATADOWN,
+    CONFDATAUP,
+    CONFDATADOWN,
+    REJOINREQUEST,
+    PROPRIETARY,
+};
+
+enum{
+    LORAWANR1,
+    RFU,
+};
+
+enum {
+    LINK_CHECK_REQ,
+    LINK_CHECK_ANS,
+    LINK_ADR_REQ,
+    LINK_ADR_ANS,
+    DUTY_CYCLE_REQ,
+    DUTY_CYCLE_ANS,
+    RXPARRAM_SETUP_REQ,
+    RXPARRAM_SETUP_ANS,
+    DEV_STATUS_REQ,
+    DEV_STATUS_ANS,
+    NEW_CHANNEL_REQ,
+    NEW_CHANNEL_ANS,
+    RXTIMING_SETUP_REQ,
+    RXTIMING_SETUP_ANS,
+};
+#define RX1DELAY              1000 // define in ms
+#define RX1DELAYJOIN          5000 // define in ms
+#define MAX_FCNT_GAP          16384
+#define MINLORAWANPAYLOADSIZE 13
+#define PORTNWK 0
+/*****************************************************************************/
+/*                   Lora Phy Irg Flags Parameters                           */
+/*****************************************************************************/
+
+enum{
+    RXTIMEOUTIRQFLAG     = 0x80,
+    RECEIVEPACKETIRQFLAG = 0x40,
+    BADPACKETIRQFLAG = 0x60,
+};
+
+
+/********************************************************************************/
+/*                   Code implementation Parameters                             */
+/********************************************************************************/
+#define MSB32FIRST( x ) ( ( ( x & 0x000000FF ) << 24 ) + ( ( x & 0x0000FF00 ) << 8 ) + ( ( x & 0x00FF0000 ) >> 8 ) + ( ( x & 0xFF000000 ) >> 24 ) )
+#define MSB16FIRST( x ) ( ( ( x & 0x00FF ) << 8 ) + ( ( x & 0xFF00 ) >> 8 ) )
+#define MAXTXPAYLOADSIZE 255
+#define FHDROFFSET 9 // MHDR+FHDR offset if OPT = 0 + fport
+#define MICSIZE 4
+#define FLASH_UPDATE_PERIOD 4
+/*!
+ * Frame direction definition for up-link communications
+ */
+#define UP_LINK                                     0
+
+/*!
+ * Frame direction definition for down-link communications
+ */
+#define DOWN_LINK                                   1
+
+/*User Confi for Adr Mode select*/
+typedef enum eDataRateStrategy{
+    STATICADRMODE,
+    MOBILELONGRANGEADRMODE,
+    MOBILELOWPOWERADRMODE,
+} eDataRateStrategy;
+
+enum { 
+    ERRORLORAWAN = -1,
+    OKLORAWAN    = 0,
+};
+
+enum {
+    NOVALIDRXPACKET,
+    USERRXPACKET,
+    NWKRXPACKET,
+    JOINACCEPTPACKET,
+};
+enum {
+    RX1,
+    RX2
+};
+/*************************/
+/*    SHARE WITH USER    */
+/*************************/
+enum {
+    NOLORARXPACKETAVAILABLE,
+    LORARXPACKETAVAILABLE,
+};
+
+enum { 
+    NOTJOINED,
+    ISJOINED,
+};
+
+enum { 
+    NOFRAME_TOSEND,
+    NWKFRAME_TOSEND,
+    USERACK_TOSEND,
+};
+
+/*************************/
+/*    API CRYPTO         */
+/*************************/
+enum { 
+    UNICASTKEY,
+};
+#endif
+/* pense bete minimouse)
+
+ SendPayload(uint8_t fPort,const uint8_t* dataIn,const uint16_t sizeIn, uint8_t* dataReceive,uint16_t *sizeOut) api
+loraWanContainer.MType = UNCONFDATAUP;//tbupdate Mtype should become a parameter of SendPayload */