123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- #include "main.h"
- #include "sram.h"
- #include "nandflash.h"
- #include "usart.h"
- #include "malloc.h"
- #include "demo_nand_fatfs.h"
- #include "cjson.h"
- #include "delay.h"
- #include "string.h"
- #include "includes.h"
- #include "lwip/timers.h"
- #include "led.h"
- #include "sys_tcpdemo.h"
- #include "sys_mqtt.h"
- #include "sys_http.h"
- #include "task.h"
- #include "sys_sx1278.h"
- #include "node_data_acquisition.h"
- #define UNIQUE_ID 0x1fff7a10
- #define PERIOD_TASK_PRIO 2
- #define PERIOD_STK_SIZE 2048
- OS_STK PERIOD_TASK_STK[PERIOD_STK_SIZE];
- void period_taskFuntcion(void *arg);
- #define LED_TASK_PRIO 28
- #define LED_STK_SIZE 128
- OS_STK LED_TASK_STK[LED_STK_SIZE];
- void led_taskFuntcion(void *pdata);
- __align(8) OS_STK DATA_TASK_STK[DATA_STK_SIZE];
- __align(8) OS_STK SX1278_TASK_STK[SX1278_STK_SIZE];
- void NVIC_Configuration(void);
- void load_unique(void);
- char gatewayId[11];
- int main(void)
- {
- int status;
- load_unique();
- sprintf(gatewayId,"DTtest0001");
- NVIC_Configuration();
- my_mem_init(SRAMEX);
- my_mem_init(SRAMIN);
- delay_init();
-
-
- NET_STATUS_LED_Config();
- USART_485_config();
- USART_485_DE_TX();
- USART_232_config();
- status = NAND_Init();
- while(status){
- NAND_Format();
- status = NAND_Init();
- }
- OSInit();
- #if 0
-
- OSTaskCreate(period_taskFuntcion,(void*)0,(OS_STK*)&PERIOD_TASK_STK[PERIOD_STK_SIZE-1],PERIOD_TASK_PRIO);
- OSTaskCreate(led_taskFuntcion,(void*)0,(OS_STK*)&LED_TASK_STK[LED_STK_SIZE-1],LED_TASK_PRIO);
- #endif
- OSTaskCreate(period_taskFuntcion,(void*)0,(OS_STK*)&PERIOD_TASK_STK[PERIOD_STK_SIZE-1],PERIOD_TASK_PRIO);
- OSTaskCreate(data_task,(void*)0,(OS_STK*)&DATA_TASK_STK[DATA_STK_SIZE-1],DATA_TASK_PRIO);
-
- printf("system start \r\n");
- OSStart();
-
- while (1)
- {
-
- }
-
- }
- void period_taskFuntcion(void *arg)
- {
- OS_CPU_SR cpu_sr;
- #if OS_TASK_STAT_EN > 0u
- OSStatInit();
- #endif
-
- lwIP_Init();
- http_getDemo();
- http_postDemo();
- mqtt_threadCreate();
-
- OSTaskSuspend(OS_PRIO_SELF);
- }
- void led_taskFuntcion(void *pdata)
- {
- int tms;
-
- while(1)
- {
- tms = hd_netledOpen();
- OSTimeDly(tms);
-
- tms = hd_netledClose();
- OSTimeDly(tms);
- }
- }
- void bsp_Idle(void)
- {
-
-
- }
-
- void NVIC_Configuration(void)
- {
-
-
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
-
- }
- #ifdef USE_FULL_ASSERT
- void assert_failed(uint8_t* file, uint32_t line)
- {
-
-
-
-
- }
- #endif
- void load_unique(void)
- {
- char *hex_table = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN";
- uint32_t CpuID1, CpuID2, CpuID3;
- CpuID1 = *(volatile uint32_t *)(UNIQUE_ID);
- CpuID2 = *(volatile uint32_t *)(UNIQUE_ID+8);
- CpuID3 = *(volatile uint32_t *)(UNIQUE_ID+16);
- char strId[11];
- for (uint8_t i = 0, j = 0; i < 8; i += 2)
- {
- uint32_t sum1 = (CpuID1 >> ((j % 4) * 8)) & 0xFF;
- uint8_t index1 = sum1 / 16;
- uint8_t remainder1 = sum1 % 16;
- uint32_t sum2 = (CpuID2 >> ((j % 4) * 8)) & 0xFF;
- uint8_t index2 = sum2 / 16;
- uint8_t remainder2 = sum2 % 16;
- uint32_t sum3 = (CpuID3 >> ((j % 4) * 8)) & 0xFF;
- uint8_t index3 = sum3 / 16;
- uint8_t remainder3 = sum3 % 16;
- strId[i + 2] = hex_table[index1 + index2 + index3];
- strId[i + 1 + 2] = hex_table[remainder1 + remainder2 + remainder3];
- j++;
- }
- strId[10] = '\0';
- strId[0]='L';
- strId[1]='R';
- strcpy(gatewayId,strId);
- }
|