1 | extern "C" {
|
2 | #include "user_interface.h"
|
3 | #include "ets_sys.h"
|
4 | }
|
5 |
|
6 | #include "I2C_OLED.h"
|
7 | #include "BMP280.h"
|
8 |
|
9 | #if ((SPI_FLASH_SIZE_MAP == 0) || (SPI_FLASH_SIZE_MAP == 1))
|
10 | #error "The flash map is not supported"
|
11 | #elif (SPI_FLASH_SIZE_MAP == 2)
|
12 | #define SYSTEM_PARTITION_OTA_SIZE 0x6A000
|
13 | #define SYSTEM_PARTITION_OTA_2_ADDR 0x81000
|
14 | #define SYSTEM_PARTITION_RF_CAL_ADDR 0xfb000
|
15 | #define SYSTEM_PARTITION_PHY_DATA_ADDR 0xfc000
|
16 | #define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR 0xfd000
|
17 | #elif (SPI_FLASH_SIZE_MAP == 3)
|
18 | #define SYSTEM_PARTITION_OTA_SIZE 0x6A000
|
19 | #define SYSTEM_PARTITION_OTA_2_ADDR 0x81000
|
20 | #define SYSTEM_PARTITION_RF_CAL_ADDR 0x1fb000
|
21 | #define SYSTEM_PARTITION_PHY_DATA_ADDR 0x1fc000
|
22 | #define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR 0x1fd000
|
23 | #elif (SPI_FLASH_SIZE_MAP == 4)
|
24 | #define SYSTEM_PARTITION_OTA_SIZE 0x6A000
|
25 | #define SYSTEM_PARTITION_OTA_2_ADDR 0x81000
|
26 | #define SYSTEM_PARTITION_RF_CAL_ADDR 0x3fb000
|
27 | #define SYSTEM_PARTITION_PHY_DATA_ADDR 0x3fc000
|
28 | #define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR 0x3fd000
|
29 | #elif (SPI_FLASH_SIZE_MAP == 5)
|
30 | #define SYSTEM_PARTITION_OTA_SIZE 0x6A000
|
31 | #define SYSTEM_PARTITION_OTA_2_ADDR 0x101000
|
32 | #define SYSTEM_PARTITION_RF_CAL_ADDR 0x1fb000
|
33 | #define SYSTEM_PARTITION_PHY_DATA_ADDR 0x1fc000
|
34 | #define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR 0x1fd000
|
35 | #elif (SPI_FLASH_SIZE_MAP == 6)
|
36 | #define SYSTEM_PARTITION_OTA_SIZE 0x6A000
|
37 | #define SYSTEM_PARTITION_OTA_2_ADDR 0x101000
|
38 | #define SYSTEM_PARTITION_RF_CAL_ADDR 0x3fb000
|
39 | #define SYSTEM_PARTITION_PHY_DATA_ADDR 0x3fc000
|
40 | #define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR 0x3fd000
|
41 | #else
|
42 | #error "The flash map is not supported"
|
43 | #endif
|
44 |
|
45 | static const partition_item_t at_partition_table[] = {
|
46 | { SYSTEM_PARTITION_RF_CAL, SYSTEM_PARTITION_RF_CAL_ADDR, 0x1000},
|
47 | { SYSTEM_PARTITION_PHY_DATA, SYSTEM_PARTITION_PHY_DATA_ADDR, 0x1000},
|
48 | { SYSTEM_PARTITION_SYSTEM_PARAMETER, SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR, 0x3000},
|
49 | };
|
50 |
|
51 | extern "C" void ICACHE_FLASH_ATTR user_pre_init(void) {
|
52 | if(!system_partition_table_regist(at_partition_table, sizeof(at_partition_table)/sizeof(at_partition_table[0]),SPI_FLASH_SIZE_MAP)) {
|
53 | os_printf("system_partition_table_regist fail\r\n");
|
54 | while(1);
|
55 | }
|
56 | }
|
57 |
|
58 | extern "C" void ICACHE_FLASH_ATTR user_init(void) {
|
59 | BMP280 bmp_280 = BMP280();
|
60 |
|
61 | while(true) {
|
62 | int32_t temperature = bmp_280.read_temperature();
|
63 | os_printf("Temperature: ");
|
64 | os_printf("%d\r\n", temperature);
|
65 | os_delay_us(2000000);
|
66 | }
|
67 | }
|