As of 14 April 2022, 32-bit controller firmware from SPLat Controls has some enhancements.
Battery-Backed NVEM RAM
First, everything that uses an STM32F4-based controller now incorporates a 4KB RAM space accessible as NVEM3. If there's a battery backup available, this memory becomes non-volatile.
64KB RAM as NVEM2
Next, many of the 32-bit products are now getting a 64KB RAM space accessible as NVEM2. As firmware is updated, this will be rolled out to more of the 32-bit products.
Speaker Frequency Change
Touch-screen products now allow you to set the frequency of the speaker using an SPxCmd4 command 0 to address 20 with the frequency in U[0-3]. Code for this would look something like:
Modbus NVEM Access
Modbus can now access NVEM areas directly.
- Addresses 40001-40257 access RAM in Word mode with byte addressing as normal
- Addresses 40258-41000 access NVEM2 (if it's available) or NVEM3 (if it's available and NVEM2 is not) in Word mode with byte addressing
- Addresses 41001-41257 access RAM in Byte mode as normal
- Addresses 41258-42000 access NVEM2 (if it's available) or NVEM3 (if it's available and NVEM2 is not) in Byte mode
- Addresses 42001-42039 access the LCD buffer (for devices with an LCD) in Word mode (read only)
- Addresses 43001-43129 access RAM in Word mode with word addressing as normal
- Addresses 43130-44000 access NVEM2 (if it's available) or NVEM3 (if it's available and NVEM2 is not) in Word mode
- Addresses 45001-46000 access NVEM0 in Word mode (read only)
- Addresses 46001-47000 access NVEM1 in Word mode
- Addresses 47001-48000 access NVEM2 in Word mode
- Addresses 48001-49000 access NVEM3 in Word mode
See the Modbus Resource Mapping Knowledge Base page for more details
Even More Tasks
On 16 August 2021, the SPLat 32-bit firmware was extended from 64 tasks to 128. (Note that it was upgraded from 32 to 64 tasks on 13 June 2014.)
Process Count Limits
The 256 instruction count limit was required for code running on 8-bit processors. For 32-bit processors that run a lot faster, we extended that count to 1024 instructions as of 23 March 2020.