| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #ifndef __LORAWAN_H
- #define __LORAWAN_H
- #include "stm32f10x.h"
- typedef enum {
- MODE_INT,
- MODE_CMD, //mode pin high
- MODE_TRANSPARENT,
- } LoraNode_Mode_T;
- /*
- typedef enum {
- NET_ABP,
- NET_OTAA,
- } LoraNode_NetMode_T;
- */
- typedef enum {
- MODE_WAKEUP,
- MODE_SLEEP,
- } LoraNode_SleepMode_T;
- /*
- typedef struct {
- uint8_t DevEUI[8];
- uint8_t AppEUI[8];
- uint8_t DevADDR[4];
- uint8_t AppKEY[16];
- uint8_t AppSKEY[16];
- uint8_t NwkSKEY[16];
- uint8_t Join;
- LoraNode_Mode_T MODE;
- uint8_t ONline;
- uint8_t BUSY;
- uint8_t NET_Mode;
- uint8_t Confirm;
- } Node_Info;
- typedef struct {
- uint8_t Up_Result;
- uint8_t Up_CH;
- uint8_t Up_RATE;
- uint8_t Up_DB;
- uint32_t Up_Link;
- uint16_t Up_Cache;
- uint16_t Resend;
- } Send_Info;
- */
- /* Lorawan Node pin configuration */
- #define LORANODE_WAKE_PIN GPIO_Pin_4
- #define LORANODE_WAKE_GPIO_PORT GPIOC
-
- #define LORANODE_MODE_PIN GPIO_Pin_7
- #define LORANODE_MODE_GPIO_PORT GPIOC
-
- #define LORANODE_NRST_PIN GPIO_Pin_7
- #define LORANODE_NRST_GPIO_PORT GPIOA
-
- /* INPUT */
- #define LORANODE_STAT_PIN GPIO_Pin_8
- #define LORANODE_STAT_GPIO_PORT GPIOC
-
- #define LORANODE_BUSY_PIN GPIO_Pin_0
- #define LORANODE_BUSY_GPIO_PORT GPIOB
- /* stop the wfi sleep */
- #define LORANODE_GPIO_PORT LORANODE_BUSY_GPIO_PORT //LORANODE_STAT_GPIO_PORT
- #define LORANODE_WAKE_HIGH() GPIO_WriteBit(LORANODE_WAKE_GPIO_PORT, LORANODE_WAKE_PIN, Bit_SET)
- #define LORANODE_WAKE_LOW() GPIO_WriteBit(LORANODE_WAKE_GPIO_PORT, LORANODE_WAKE_PIN, Bit_RESET)
-
- #define LORANODE_MODE_HIGH() GPIO_WriteBit(LORANODE_MODE_GPIO_PORT, LORANODE_MODE_PIN, Bit_SET)
- #define LORANODE_MODE_LOW() GPIO_WriteBit(LORANODE_MODE_GPIO_PORT, LORANODE_MODE_PIN, Bit_RESET)
- #define LORANODE_NRST_HIGH() GPIO_WriteBit(LORANODE_NRST_GPIO_PORT, LORANODE_NRST_PIN, Bit_SET)
- #define LORANODE_NRST_LOW() GPIO_WriteBit(LORANODE_NRST_GPIO_PORT, LORANODE_NRST_PIN, Bit_RESET)
- #define LORANODE_STAT_STATUS GPIO_ReadInputDataBit(LORANODE_STAT_GPIO_PORT, LORANODE_STAT_PIN)
- #define LORANODE_BUSY_STATUS GPIO_ReadInputDataBit(LORANODE_BUSY_GPIO_PORT, LORANODE_BUSY_PIN)
- #define LORANODE_MODE_STATUS GPIO_ReadOutputDataBit(LORANODE_MODE_GPIO_PORT, LORANODE_MODE_PIN)
- uint8_t StrToHex(uint8_t temp);
- void LoraNode_GPIO_Init(void);
- void LoraNode_Init_Mode(LoraNode_Mode_T mode);
- void LoraNode_Wake_Sleep(LoraNode_SleepMode_T mode);
- static void LoraNode_Reset(void);
- void LoraNode_OTAA_Config(void);
- void transparent_send_data(uint8_t *DataBuf, uint32_t xmitLen); //ÔÚ͸´«Ä£Ê½Ï·¢ËÍÊý¾Ý
- void lorawan_Sleep(void);
- #endif
|