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.
MinimouseSrc/Define.h
- Committer:
- fholin
- Date:
- 2017-12-15
- Revision:
- 0:2325d1d28df3
- Child:
- 1:eda561b01daf
File content as of revision 0:2325d1d28df3:
/* __ __ _ _ | \/ (_) (_) | \ / |_ _ __ _ _ __ ___ ___ _ _ ___ ___ | |\/| | | '_ \| | '_ ` _ \ / _ \| | | / __|/ _ \ | | | | | | | | | | | | | | (_) | |_| \__ \ __/ |_| |_|_|_| |_|_|_| |_| |_|\___/ \__,_|___/\___| 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 */