1- # Load configuration
1+ $(info Building device '$(DEVICE)'...)
22
3+ # Load configuration
34ifndef CONFIG
4- include $(SITEDIR ) /Configuration.mk
5+ include $(SITEDIR ) /Configuration.mk
56else
6- include $(SITEDIR ) /Configuration.mk.$(CONFIG )
7+ include $(SITEDIR ) /Configuration.mk.$(CONFIG )
78endif
89
910
10- # Sanity checking some required variables
11- ifndef SMING_HOME
12- $(error SMING_HOME is not set. Please configure it in Configuration.mk or set in environment.)
13- endif
14-
15- ifndef ESP_HOME
16- $(error ESP_HOME is not set. Please configure it in Configuration.mk or set in environment.)
17- endif
18-
19-
20- # Add required modules
21- MODULES += $(BASEDIR ) /framework/devices
22- MODULES += $(BASEDIR ) /framework/features
23- MODULES += $(BASEDIR ) /framework/managers
24- MODULES += $(BASEDIR ) /framework/services
25- MODULES += $(BASEDIR ) /framework/util
26- MODULES += $(BASEDIR ) /framework
27-
2811# Add device module either from site or from esper
2912ifneq ($(wildcard $(SITEDIR ) /devices/$(DEVICE ) ) , )
30- MODULES + = $(SITEDIR ) /devices/$(DEVICE )
13+ export DEVICEDIR : = $(SITEDIR ) /devices/$(DEVICE )
3114else
32- MODULES + = $(BASEDIR ) /devices/$(DEVICE )
15+ export DEVICEDIR : = $(BASEDIR ) /devices/$(DEVICE )
3316endif
3417
3518
4528
4629
4730# Load the device overrides
48- -include $(SITEDIR ) /devices/ $( DEVICE ) /Device .mk
31+ -include $(DEVICEDIR ) /device .mk
4932
5033
5134# Define config defaults
@@ -64,6 +47,9 @@ UPDATE_TOPIC ?= $(MQTT_REALM)/update
6447INFO_HTTP_ENABLED ?= false
6548INFO_HTTP_PORT ?= 80
6649
50+ MQTT_PORT ?= 1883
51+ MQTT_URL ?= mqtt://$(MQTT_USERNAME ) :$(MQTT_PASSWORD ) @$(MQTT_HOST ) :$(MQTT_PORT )
52+
6753
6854# Pass options to source code
6955USER_CFLAGS += -DDEVICE=\"$(DEVICE ) \"
@@ -72,11 +58,8 @@ USER_CFLAGS += -DVERSION=\"$(VERSION)\"
7258USER_CFLAGS += -DLOGGING=$(LOGGING )
7359USER_CFLAGS += -DLOGGING_DEBUG=$(LOGGING_DEBUG )
7460
75- USER_CFLAGS += -DMQTT_HOST=\"$(MQTT_HOST ) \"
76- USER_CFLAGS += -DMQTT_PORT=$(MQTT_PORT )
61+ USER_CFLAGS += -DMQTT_URL=\"$(MQTT_URL ) \"
7762USER_CFLAGS += -DMQTT_REALM=\"$(MQTT_REALM ) \"
78- USER_CFLAGS += -DMQTT_USERNAME=\"$(MQTT_USERNAME ) \"
79- USER_CFLAGS += -DMQTT_PASSWORD=\"$(MQTT_PASSWORD ) \"
8063
8164USER_CFLAGS += -DHEARTBEAT_ENABLED=$(HEARTBEAT_ENABLED )
8265USER_CFLAGS += -DHEARTBEAT_TOPIC=\"$(HEARTBEAT_TOPIC ) \"
@@ -90,7 +73,6 @@ USER_CFLAGS += -DUPDATE_TOPIC=\"$(UPDATE_TOPIC)\"
9073USER_CFLAGS += -DINFO_HTTP_ENABLED=$(INFO_HTTP_ENABLED )
9174USER_CFLAGS += -DINFO_HTTP_PORT=$(INFO_HTTP_PORT )
9275
93-
9476# Use Release
9577SMING_RELEASE = 1
9678
@@ -99,29 +81,56 @@ SMING_RELEASE = 1
9981DISABLE_SPIFFS = 1
10082
10183
102- # Use alternative bootloader
84+ # Configure bootloader for A/B partitioning
10385RBOOT_ENABLED = 1
10486RBOOT_BIG_FLASH = 0
10587RBOOT_TWO_ROMS = 1
10688RBOOT_RTC_ENABLED = 0
10789
108- RBOOT_LD_0 = $(BASEDIR ) /rom0.ld
109- RBOOT_LD_1 = $(BASEDIR ) /rom1.ld
90+ RBOOT_LD_0 = $(BASEDIR ) /framework/ rom0.ld
91+ RBOOT_LD_1 = $(BASEDIR ) /framework/ rom1.ld
11092
11193
11294# For ESP01 - enhanced version
113- SPI_SIZE = 1M
95+ SPI_SIZE = 4M
96+ SPI_MODE = dio
97+ SPI_SPEED = 80
11498
11599
116100# Work-around for encoding errors in terminal during ESP boot
117101COM_OPTS += --raw
118102
119103
104+ # Add the framework to the search path
105+ COMPONENT_SEARCH_DIRS += $(BASEDIR ) /framework
106+
107+
120108# Include main makefile
121- include $(SMING_HOME ) /Makefile-rboot .mk
109+ include $(SMING_HOME ) /project .mk
122110
123111
124112# Write the manifest
125113all : $(FW_BASE ) /version
126114$(FW_BASE ) /version :
127115 echo -n " $( VERSION) " > $(FW_BASE ) /version
116+
117+
118+ # Copy to distribution directory
119+ $(DISTDIR ) :
120+ mkdir -pv $(DISTDIR )
121+
122+ all : $(DISTDIR ) /$(DEVICE ) .rboot
123+ $(DISTDIR ) /$(DEVICE ) .rboot : $(FW_BASE ) /rboot.bin $(DISTDIR )
124+ cp -v $(FW_BASE ) /rboot.bin $(DISTDIR ) /$(DEVICE ) .rboot
125+
126+ all : $(DISTDIR ) /$(DEVICE ) .rom0
127+ $(DISTDIR ) /$(DEVICE ) .rom0 : $(FW_BASE ) /rom0.bin $(DISTDIR )
128+ cp -v $(FW_BASE ) /rom0.bin $(DISTDIR ) /$(DEVICE ) .rom0
129+
130+ all : $(DISTDIR ) /$(DEVICE ) .rom1
131+ $(DISTDIR ) /$(DEVICE ) .rom1 : $(FW_BASE ) /rom1.bin $(DISTDIR )
132+ cp -v $(FW_BASE ) /rom1.bin $(DISTDIR ) /$(DEVICE ) .rom1
133+
134+ all : $(DISTDIR ) /$(DEVICE ) .version
135+ $(DISTDIR ) /$(DEVICE ) .version : $(FW_BASE ) /version $(DISTDIR )
136+ cp -v $(FW_BASE ) /version $(DISTDIR ) /$(DEVICE ) .version
0 commit comments