News‎ > ‎

New public version 1.38 available

posted Jun 8, 2019, 7:15 AM by ciccio cb   [ updated Jun 8, 2019, 7:26 AM]

Updated version 1.38 and AnnexToolkit 1.04
Includes many new features / fixes (synthesis) :

- Implemented MQTT
- Implemented FTP
- Implemented PID
- Implemented the Tone generation
- Implemented support for the PUYA flash memory chip
- Possibility to change the MAC address (useful for ESPNOW)
- Improved HTML interactions with the addition of 2 new variables
- Implemented frequency counter
- Implemented some unit conversion functions
- Many stability improvements
- Many minor changes, fixes

Toolkit 1.04
- Included a new feature that ease the paste of the code in the forum

This is the detailed change log (from the previous 1.36 public version).
It can be also find inside the "change log" tab of the toolkit :

Version 1.38 public release
- Based on the 1.37 beta 5
Addition of the function BAS.LOAD to load and run another script
Uploaded online 1.38 help

Version 1.37 beta 5
Addition of the support for the OLED display SH1106
Addition of the FTP file upload 
- function BAS.FTP$
MQTT
- Addition of the function MQTT.connected()
- Useful to know if the connection is lost 
Addition of the command OPTION.NTPSYNC to refresh the NTP time server
Editor Page
- Fixed the search function not positioning correctly on the element found
- Yet removed more unused code (lower size)
Snags
- MQTT.CONNECT can be used with empty arguments
- Fixed a problem with TONE with frequency 0
- Fixed a problem with PRINT ,

Version 1.37 beta 4
Update of the SDK to the version 2.5.2
- Restored the previous 2.4.1 SoftwareSerial library (the new was using ~10KB or RAM)
Addition of 2 new internal variables for HTML interactions
- HtmlEventVar$ : returns the name of the variable changed during the event onHtmlChange
- HtmlEventButton$ : returns the name of the button that generate the jump
- Useful to manage several buttons in the same function 
Addition of 2 new string constants
- BAS.SSID$ : returns the current STATION mode SSID
- BAS.PASSWORD$ : returns the current STATION mode password
Addition of 2 new commands for the LCD
- LCD.OFF : turns the backlight off
- LCD.ON  : turns the backlight on 
Editor Page
- Removed more unused code (lower size)
- Updated the Syntax Highlight Table with the new commands / functions
Addition of the MQTT protocol support
- Function MQTT.SETUP, MQTT.CONNECT, MQTT.DISCONNECT, MQTT.PUBLISH, 
           MQTT.SUBSCRIBE, MQTT.UNSUBSCRIBE, MQTT.MESSAGE$, MQTT.TOPIC$
- Event OnMQTT
WIFI
- Improved the sleep mode; actually works without any limitations (AP and STA with static or dynamic IP)
- Addition of the function WIFI.MODE to get the current WIFI mode (off, STA, AP)
Snags
- Fixed a crash when calling a function with the wrong type (type mismatch)
- Fixed an error ENDIF WITHOUT IF when using the EXIT DO
- Fixed an error ISR not in IRAM when using the counters
- Fixed the syntax of PRINT value,;
Several optimisations
- removed some unused code
 
Version 1.37 beta 3d
- Support for the Flash Chip Puya (To be confirmed)
- Addition of the command EXIT FOR to exit from the FOR loop
- Addition of the command PIN.TONE
- Generate a tone on any pin from 1 to 5KHz
- Fixed OPTION.PWMFREQ going down to 1Hz

Version 1.37 beta 3c
Update of the SDK to the version 2.5.1
- around 3KB of more RAM available
- Restored the previous 2.4.1 SoftwareSerial library (the new was using ~10KB or RAM)
- Removed external STDIO library (now it's using the internal one)
- replaced all the references (internal)
- Many pixes on the string management (internal changes)
LOCAL command
- The arrays can be defined with the command LOCAL inside SUBs
- This permits to avoid the modification of an already existing global array
SELECT CASE:
- it is now possible to continue on the same line after the case.
- Example CASE "1" : print "case 1" : a = 1
Editor page
- Clicking the "new file" icon now reset the filename
- Fixed a text selection problem in the file OPEN/SAVE window
- Removed some unused code (lower size)
Output page
- Several minor fixes / improvements
- Updated the Autorefresh limit (it can go now down to 10 msec)
Improved again the memory management
- More strict control on the low memory
- More improvements to the websocket send internal function
  - Implemented a timeout mechanism to avoid module stalls
- Improvements in the websocket reception internal function
Snags
- Fixed a crash of the module after an out of memory coming from a string sum operation
- Fixed a crash of the module inside SUBs with low memory available
- Fixed the IP$ function not working in AP mode
- Fixed an erroneous "Out of memory" error in the functions FILE.READ in case of syntax error
- Fixed a crash of the module inside the tokeniser
Several optimisations
- removed some unused code
- Optimisation of the internal strings (compacted size)

Version 1.37 beta 3
Improved the Arrays management
- It is now possible to pass Arrays (float and string) to the SUB
- Redimensioning the arrays, the existing elements now maintain the previous values
Fixed the internal local time (when not connected to Internet)
Improved the memory management
- More strict control on the low memory
- More improvements to the websocket send internal function
Several optimisations
- Optimised the error message routine
- Removed some unused code

Version 1.37 beta 2
Finalised the implementation of the PID controllers
- Implemented 4 PID controllers
- Commends PIDx.INIT, PIDx.LIMITS, PIDx.PERIOD, PIDx.PARAMS, PIDx.SETMODE
- Function PIDx.COMPUTE
Addition of the max program size available in the console
- Shown when the program is loaded
Addition of the frequency information to the counters
- Function COUNTERx.FREQ
Addition of the command OPTION.MAC
- It is now possible to modify the MAC address
- Very useful for ESPNOW
Addition of the function CONVERT.xxx
- Generic conversion function
- Function CONVERT.DEGC_TO_F, CONVERT.F_TO_DEGC, CONVERT.TO_IEEE754, CONVERT.FROM_IEEE754
Improved the textbox$ function
- Now the variable is automatically updated as soon as the textbox loses the focus
Improved the WLOG command
        - Now it has the same syntax of the PRINT command
Uploaded online 1.37 help
Several optimisations
- Modified the structure of the internal token table
- Improved the websocket send internal function
- Reduced firmware size
- fixed some internal snags