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.
Diff: MinimouseSrc/Define.h
- 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 */