diff --git a/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc b/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc index 9bf370c0..ca4fffd5 100644 --- a/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc +++ b/resources/I-CUBE-Mongoose/Cesanta.I-CUBE-Mongoose.pdsc @@ -8,7 +8,7 @@ License.txt https://mongoose.ws/contact/ - See https://github.com/cesanta/mongoose/releases/tag/7.21 + See https://github.com/cesanta/mongoose/releases/tag/7.21 See https://github.com/cesanta/mongoose/releases/tag/7.21 See https://github.com/cesanta/mongoose/releases/tag/7.21 See https://github.com/cesanta/mongoose/releases/tag/7.21 @@ -24,7 +24,7 @@ - + Networking Core @@ -34,20 +34,5 @@ - - Web Device Dashboard - - - - - - - - - MQTT Client - - - - diff --git a/resources/I-CUBE-Mongoose/Makefile b/resources/I-CUBE-Mongoose/Makefile index e11d5b2f..80e3778e 100644 --- a/resources/I-CUBE-Mongoose/Makefile +++ b/resources/I-CUBE-Mongoose/Makefile @@ -1,11 +1,8 @@ -VERSION = 7.21.6 +VERSION = 7.21.7 REPO_ROOT = ../.. MX ?= /Applications/STMicroelectronics/STM32CubeMX.app/Contents/MacOs/STM32CubeMX FILES = Cesanta.I-CUBE-Mongoose.pdsc Release_Notes.html mongoose_config.h README.md -GENERATED = License.txt \ - mongoose.h mongoose.c \ - dashboard.c file_data.c dashboard.html html2c.js \ - mongoose_mqtt.c +GENERATED = License.txt mongoose.h mongoose.c PACK = Cesanta.I-CUBE-Mongoose.$(VERSION).pack all: $(PACK) diff --git a/resources/I-CUBE-Mongoose/README.md b/resources/I-CUBE-Mongoose/README.md index bca3bca7..37d44bc6 100644 --- a/resources/I-CUBE-Mongoose/README.md +++ b/resources/I-CUBE-Mongoose/README.md @@ -101,15 +101,44 @@ Hi from Mongoose! Tick 38187 ## Add full device dashboard -Enable "Mongoose Web Device Dashboard" component in CubeMX. Regenerate code. -This component installs the following files: -- `dashboard.c` - a C backend side -- `dashboard.html` - an HTML frontend side: the Web UI itself -- `file_data.c` - this file is generated from `dashboard.html` -- `html2c.js` - a node.js script that generates `file_data.c` using this command: `node html2c.js dashboard.html -o file_data.c`. This script first inlines all external resources into an amalgamated HTML file - so it does not depend on anything external, and then zips it and packs into a Mongoose embedded filesystem. This way it takes the minimum space on flash. +Remove the hello world server if you added it. -Remove the hello world server if you added it. Modify your while loop -to look like this: +Create `Mongoose` directory in the project root and copy +the following files there: + +- [dashboard.c](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/tutorials/device-dashboard/full/dashboard.c) +- [dashboard.html](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/tutorials/device-dashboard/full/dashboard.html) +- [html2c.js](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/resources/html2c.js) + +`html2c.js` is a node.js script that generates `file_data.c` using this command: +`node html2c.js dashboard.html -o file_data.c`. This script first inlines all +external resources into an amalgamated HTML file - so it does not depend on +anything external, and then zips it and packs into a Mongoose embedded +filesystem. This way it takes the minimum space on flash. + +In top-level `CMakeLists.txt`, add two extra source files to the build, +and add the rule to generate `file_data.c` from `dashboard.html`. +Note that requires Nodejs installed: + +```text +# Generate file_data.c from dashboard.html +add_custom_command( + OUTPUT ${CMAKE_SOURCE_DIR}/Mongoose/file_data.c + COMMAND node ${CMAKE_SOURCE_DIR}/Mongoose/html2c.js ${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html -o ${CMAKE_SOURCE_DIR}/Mongoose/file_data.c + DEPENDS ${CMAKE_SOURCE_DIR}/Mongoose/dashboard.html + VERBATIM +) + +# Add sources to executable +target_sources(${CMAKE_PROJECT_NAME} PRIVATE + # Add user sources here + Mongoose/dashboard.c + Mongoose/file_data.c +) +``` + + +Modify your while loop to look like this: ```c /* USER CODE BEGIN WHILE */ @@ -124,15 +153,23 @@ while (1) /* USER CODE END WHILE */ ``` -Rebuild, reflash your board and enjoy the fully functional device dashboard -that you can tailor to your firmware. +Rebuild and reflash your board, then open the device's IP address in your +browser. Log in using `admin` as the password. You should see the full +dashboard, including the status panel, device settings, firmware update, and +file manager. You can easily customize it for your product, but we will start +by implementing a simple LED control dashboard to demonstrate the principles. -To customise your dashboard, edit `dashboard.c` and `dashboard.html`. -After editing `dashboard.html`, regenerate `file_data.c` using this command: +## Simple LED control dashboard -```sh -node html2c.js dashboard.html -o file_data.c -``` +Copy a minimal LED control dashboard example to your `Mongoose/` directory: + +- [dashboard.c](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/tutorials/device-dashboard/minimal/dashboard.c) +- [dashboard.html](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/tutorials/device-dashboard/minimal/dashboard.html) + +Rebuild and reflash + + +## AI agentic development For agentic development, use https://github.com/cesanta/mongoose/tree/master/resources/AGENTS.md Use a prompt like this: @@ -142,7 +179,9 @@ Use a prompt like this: ## Add MQTT Client -Enable "Mongoose MQTT Client" component in CubeMX. Regenerate code. + +Copy [mqtt.c](https://raw.githubusercontent.com/cesanta/mongoose/refs/heads/master/tutorials/mqtt/mqtt-client/mqtt.c) +to the `Mongoose/` directory. Add it to the extra source files in `CMakeLists.txt` Add MQTT init and poll to your while loop: @@ -160,6 +199,6 @@ while (1) ``` Rebuild, reflash your board. This MQTT Client connects to the -HiveMQ public MQTT broker - see `mongoose_mqtt.c` file for details. +HiveMQ public MQTT broker. Also it add a JSON-RPC "ota.update" function via MQTT, so you can update your firmware over MQTT, see https://mongoose.ws/mqtt/ diff --git a/resources/I-CUBE-Mongoose/mongoose_config.h b/resources/I-CUBE-Mongoose/mongoose_config.h index e94d746f..0fccec8e 100644 --- a/resources/I-CUBE-Mongoose/mongoose_config.h +++ b/resources/I-CUBE-Mongoose/mongoose_config.h @@ -1,6 +1,10 @@ // Mongoose configuration file. For full list of build options, see // https://mongoose.ws/docs/getting-started/build-options/ +// DO NOT EDIT THIS FILE, BECAUSE CODE REGENERATION WILL DESTROY +// YOUR EDITS. THIS FILE INCLUDES THIS PROJECT'S main.h, SO +// INSTEAD, ADD BUILD OPTIONS TO Core/Inc/main.h + #pragma once #define MG_ARCH MG_ARCH_CUBE diff --git a/resources/downloads/Makefile b/resources/downloads/Makefile index 0f12221b..89877082 100644 --- a/resources/downloads/Makefile +++ b/resources/downloads/Makefile @@ -26,22 +26,10 @@ define ST_RULE $(1): $(1).ioc # This creates MX-generated baseline project mkdir -p $$@ cp $(1).ioc $$@ - echo config load `pwd`/$$@/$(1).ioc > gen.mx - echo project generate >> gen.mx - echo exit >> gen.mx - $(MX) -q `pwd`/gen.mx + sh init.sh $(1) $(1)_$(2): $(1) - mkdir -p $$@ - test -d $$@/$(1).ioc || cp -r $(1)/* $$@/ - grep mongoose.h $$@/Core/Src/main.c || sed -i '' '/BEGIN Includes/r patch_include.c' $$@/Core/Src/main.c - grep '^int _write' $$@/Core/Src/main.c || sed -i '' '/USER CODE BEGIN 0 /r patch_write.c' $$@/Core/Src/main.c - grep 'mg_dash_init' $$@/Core/Src/main.c || sed -i '' '/USER CODE BEGIN WHILE/,/USER CODE END WHILE/{//!d;};' $$@/Core/Src/main.c - grep 'mg_dash_init' $$@/Core/Src/main.c || sed -i '' '/USER CODE BEGIN WHILE/r patch_loop.c' $$@/Core/Src/main.c - test -f $$@/STM32H723XG_FLASH.ld && (grep eth_ram $$@/STM32H723XG_FLASH.ld || sed -i '' '/_sidata =/r patch_ld.txt' $$@/STM32H723XG_FLASH.ld) || true - $(MAKE) -C $(TOP)/tutorials/device-dashboard/$(2) file_data.c - cp $(TOP)/tutorials/device-dashboard/$(2)/{file_data.c,dashboard.c} $$@/Middlewares/Third_Party/Cesanta_Mongoose/ - cp $(TOP)/LICENSE $$@ + sh init.sh $(1) $(2) endef $(foreach T,$(ST_TARGETS), $(foreach P,$(PROJECTS), $(eval $(call ST_RULE,$(T),$(P))))) diff --git a/resources/downloads/nucleo_f756zg.ioc b/resources/downloads/nucleo_f756zg.ioc index cb64e94f..1538131e 100644 --- a/resources/downloads/nucleo_f756zg.ioc +++ b/resources/downloads/nucleo_f756zg.ioc @@ -4,12 +4,12 @@ CAD.pinconfig= CAD.provider= CORTEX_M7.IPParameters=default_mode_Activation CORTEX_M7.default_mode_Activation=1 -Cesanta.I-CUBE-Mongoose.7.21.6.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; +Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; ETH.IPParameters=MediaInterface ETH.MediaInterface=HAL_ETH_RMII_MODE File.Version=6 @@ -35,8 +35,8 @@ Mcu.Pin12=PG13 Mcu.Pin13=PB7 Mcu.Pin14=VP_RNG_VS_RNG Mcu.Pin15=VP_SYS_VS_Systick -Mcu.Pin16=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +Mcu.Pin16=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 Mcu.Pin2=PA2 Mcu.Pin3=PA7 Mcu.Pin4=PC4 @@ -46,7 +46,7 @@ Mcu.Pin7=PB13 Mcu.Pin8=PB14 Mcu.Pin9=PD8 Mcu.PinsNb=18 -Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.6 +Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7 Mcu.ThirdPartyNb=1 Mcu.UserConstants= Mcu.UserName=STM32F756ZGTx @@ -199,10 +199,10 @@ RCC.VCOOutputFreq_Value=432000000 RCC.VCOSAIOutputFreq_Value=384000000 USART3.IPParameters=VirtualMode-Asynchronous USART3.VirtualMode-Asynchronous=VM_ASYNC -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Mode=MongooseJjNetworkingOoCore -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Mode=MongooseJjWebOoDeviceOoDashboard -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 VP_RNG_VS_RNG.Mode=RNG_Activate VP_RNG_VS_RNG.Signal=RNG_VS_RNG VP_SYS_VS_Systick.Mode=SysTick diff --git a/resources/downloads/nucleo_h563zi.ioc b/resources/downloads/nucleo_h563zi.ioc index febbcfd8..89418b61 100644 --- a/resources/downloads/nucleo_h563zi.ioc +++ b/resources/downloads/nucleo_h563zi.ioc @@ -9,12 +9,12 @@ CORTEX_M33_NS.IPParameters=default_mode_Activation,Number-Cortex_Memory_Protecti CORTEX_M33_NS.Number-Cortex_Memory_Protection_Unit_Region0_OTP_RO_AREAS_Settings=MPU_REGION_NUMBER0 CORTEX_M33_NS.default_mode_Activation=1 CORTEX_M33_NS.userName=CORTEX_M33 -Cesanta.I-CUBE-Mongoose.7.21.6.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true; +Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true; ETH.IPParameters=MediaInterface ETH.MediaInterface=HAL_ETH_RMII_MODE File.Version=6 @@ -55,8 +55,8 @@ Mcu.Pin19=VP_SYS_VS_Systick Mcu.Pin2=PA1 Mcu.Pin20=VP_BOOTPATH_VS_BOOTPATH Mcu.Pin21=VP_MEMORYMAP_VS_MEMORYMAP -Mcu.Pin22=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -Mcu.Pin23=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +Mcu.Pin22=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +Mcu.Pin23=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 Mcu.Pin3=PA2 Mcu.Pin4=PA7 Mcu.Pin5=PC4 @@ -65,7 +65,7 @@ Mcu.Pin7=PB0 Mcu.Pin8=PB15 Mcu.Pin9=PD8 Mcu.PinsNb=24 -Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.6 +Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7 Mcu.ThirdPartyNb=1 Mcu.UserConstants= Mcu.UserName=STM32H563ZITx @@ -249,10 +249,10 @@ VP_BOOTPATH_VS_BOOTPATH.Mode=BP_Activate VP_BOOTPATH_VS_BOOTPATH.Signal=BOOTPATH_VS_BOOTPATH VP_CORTEX_M33_NS_VS_Hclk.Mode=Hclk_Mode VP_CORTEX_M33_NS_VS_Hclk.Signal=CORTEX_M33_NS_VS_Hclk -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Mode=MongooseJjNetworkingOoCore -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Mode=MongooseJjWebOoDeviceOoDashboard -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 VP_ICACHE_VS_ICACHE.Mode=DirectMappedCache VP_ICACHE_VS_ICACHE.Signal=ICACHE_VS_ICACHE VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg diff --git a/resources/downloads/nucleo_h723zg.ioc b/resources/downloads/nucleo_h723zg.ioc index be841af9..cbeee74c 100644 --- a/resources/downloads/nucleo_h723zg.ioc +++ b/resources/downloads/nucleo_h723zg.ioc @@ -4,12 +4,12 @@ CAD.pinconfig= CAD.provider= CORTEX_M7.IPParameters=default_mode_Activation CORTEX_M7.default_mode_Activation=1 -Cesanta.I-CUBE-Mongoose.7.21.6.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjNetworkingOoCore_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard=true -Cesanta.I-CUBE-Mongoose.7.21.6.MongooseJjWebOoDeviceOoDashboard_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; +Cesanta.I-CUBE-Mongoose.7.21.7.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjNetworkingOoCore_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard=true +Cesanta.I-CUBE-Mongoose.7.21.7.MongooseJjWebOoDeviceOoDashboard_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; ETH.IPParameters=MediaInterface ETH.MediaInterface=HAL_ETH_RMII_MODE File.Version=6 @@ -40,8 +40,8 @@ Mcu.Pin13=PE1 Mcu.Pin14=VP_RNG_VS_RNG Mcu.Pin15=VP_SYS_VS_Systick Mcu.Pin16=VP_MEMORYMAP_VS_MEMORYMAP -Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 Mcu.Pin2=PA2 Mcu.Pin3=PA7 Mcu.Pin4=PC4 @@ -51,7 +51,7 @@ Mcu.Pin7=PB13 Mcu.Pin8=PB14 Mcu.Pin9=PD8 Mcu.PinsNb=19 -Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.6 +Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7 Mcu.ThirdPartyNb=1 Mcu.UserConstants= Mcu.UserName=STM32H723ZGTx @@ -212,10 +212,10 @@ RCC.VCOInput2Freq_Value=2000000 RCC.VCOInput3Freq_Value=2000000 USART3.IPParameters=VirtualMode-Asynchronous USART3.VirtualMode-Asynchronous=VM_ASYNC -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Mode=MongooseJjNetworkingOoCore -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Mode=MongooseJjWebOoDeviceOoDashboard -VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard +VP_Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 VP_MEMORYMAP_VS_MEMORYMAP.Mode=CurAppReg VP_MEMORYMAP_VS_MEMORYMAP.Signal=MEMORYMAP_VS_MEMORYMAP VP_RNG_VS_RNG.Mode=RNG_Activate diff --git a/resources/downloads/nucleo_n657x0_q.ioc b/resources/downloads/nucleo_n657x0_q.ioc index 96ec8058..57eb72e6 100644 --- a/resources/downloads/nucleo_n657x0_q.ioc +++ b/resources/downloads/nucleo_n657x0_q.ioc @@ -3,15 +3,15 @@ Appli.IPs=CORTEX_M55_S,GPDMA1,HPDMA1,LINKEDLIST,RCC,SAU,GPIO,NVIC1\:I CAD.formats= CAD.pinconfig= CAD.provider= -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader.MongooseJjNetworkingOoCore=true -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader.MongooseJjNetworkingOoCore_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader.MongooseJjWebOoDeviceOoDashboard=true -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader.MongooseJjWebOoDeviceOoDashboard_Checked=true -Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader.IPParameters=MongooseJjNetworkingOoCore,MongooseJjWebOoDeviceOoDashboard +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader.MongooseJjNetworkingOoCore=true +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader.MongooseJjNetworkingOoCore_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader.MongooseJjWebOoDeviceOoDashboard=true +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader.MongooseJjWebOoDeviceOoDashboard_Checked=true +Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader_SwParameter=MongooseJjNetworkingOoCore\:true;MongooseJjWebOoDeviceOoDashboard\:true;MongooseJjMQTTOoClient\:true; ETH1.IPParameters=MediaInterface ETH1.MediaInterface=HAL_ETH_RMII_MODE -ExtMemLoader.IPs=EXTMEM_LOADER,EXTMEM_MANAGER,RCC\:I,GPIO,Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader\:I +ExtMemLoader.IPs=EXTMEM_LOADER,EXTMEM_MANAGER,RCC\:I,GPIO,Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader\:I FSBL.IPs=CORTEX_M55_FSBL,GPDMA1\:I,HDP,HPDMA1\:I,LINKEDLIST,RCC,GPIO\:I,NVIC\:I,RIF,RNG,USART1,ETH1 FSBL.Pins=PG0,PG10,PG8 File.Version=6 @@ -45,8 +45,8 @@ Mcu.Pin13=PG8 Mcu.Pin14=PG11 Mcu.Pin15=VP_RIF_VS_RIF1 Mcu.Pin16=VP_RNG_VS_RNG -Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +Mcu.Pin17=VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +Mcu.Pin18=VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 Mcu.Pin2=PF4 Mcu.Pin3=PF10 Mcu.Pin4=PF7 @@ -56,9 +56,9 @@ Mcu.Pin7=PF14 Mcu.Pin8=PF11 Mcu.Pin9=PF13 Mcu.PinsNb=19 -Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.6 +Mcu.ThirdParty0=Cesanta.I-CUBE-Mongoose.7.21.7 Mcu.ThirdParty0_ContextShortName=ExtMemLoader -Mcu.ThirdParty0_Instance=Cesanta.I-CUBE-Mongoose.7.21.6_ExtMemLoader +Mcu.ThirdParty0_Instance=Cesanta.I-CUBE-Mongoose.7.21.7_ExtMemLoader Mcu.ThirdPartyNb=1 Mcu.UserConstants= Mcu.UserName=STM32N657X0HxQ @@ -884,10 +884,10 @@ RIF.VENC_CID_RIMU=0 RIF.default_config=false USART1.IPParameters=VirtualMode-Asynchronous USART1.VirtualMode-Asynchronous=VM_ASYNC -VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Mode=MongooseJjNetworkingOoCore -VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.6_7.21.6 -VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Mode=MongooseJjWebOoDeviceOoDashboard -VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6.Signal=Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.6_7.21.6 +VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Mode=MongooseJjNetworkingOoCore +VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjNetworkingOoCore_7.21.7_7.21.7 +VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Mode=MongooseJjWebOoDeviceOoDashboard +VP_Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7.Signal=Cesanta.I-CUBE-Mongoose_ExtMemLoader_VS_MongooseJjWebOoDeviceOoDashboard_7.21.7_7.21.7 VP_RIF_VS_RIF1.Mode=RISUP VP_RIF_VS_RIF1.Signal=RIF_VS_RIF1 VP_RNG_VS_RNG.Mode=RNG_Activate diff --git a/resources/downloads/patch_include.c b/resources/downloads/patch_include.c deleted file mode 100644 index 3bff6177..00000000 --- a/resources/downloads/patch_include.c +++ /dev/null @@ -1 +0,0 @@ -#include "mongoose.h" diff --git a/resources/downloads/patch_ld.txt b/resources/downloads/patch_ld.txt deleted file mode 100644 index 352d2dd0..00000000 --- a/resources/downloads/patch_ld.txt +++ /dev/null @@ -1,4 +0,0 @@ - - /* Mongoose Ethernet driver: place Ethernet buffers to DMA-accessible region */ - .eth_ram : { *(.eth_ram .eth_ram*) } > RAM_D2 AT > FLASH - diff --git a/resources/downloads/patch_loop.c b/resources/downloads/patch_loop.c deleted file mode 100644 index d92a1f9d..00000000 --- a/resources/downloads/patch_loop.c +++ /dev/null @@ -1,8 +0,0 @@ - struct mg_mgr mgr; - mg_mgr_init(&mgr); - mg_dash_init(&mgr); - - while (1) - { - mg_mgr_poll(&mgr, 1); - mg_dash_poll(&mgr); diff --git a/resources/downloads/patch_write.c b/resources/downloads/patch_write.c deleted file mode 100644 index fa8b619c..00000000 --- a/resources/downloads/patch_write.c +++ /dev/null @@ -1,4 +0,0 @@ -int _write(int fd, unsigned char *buf, int len) { - HAL_UART_Transmit(&huart3, buf, len, HAL_MAX_DELAY); - return len; -} diff --git a/tutorials/device-dashboard/full/dashboard.html b/tutorials/device-dashboard/full/dashboard.html index b5a8a5b0..78330942 100644 --- a/tutorials/device-dashboard/full/dashboard.html +++ b/tutorials/device-dashboard/full/dashboard.html @@ -390,7 +390,7 @@ a, a:visited, a:link { text-decoration: none; } ok -
+
CPU Load
@@ -400,7 +400,7 @@ a, a:visited, a:link { text-decoration: none; } moderate
-
+
Free Memory