News

Subscribe in a reader

Email Subscription
Google Gadget - "Embed gadget"

New public version 1.42 available

posted Jul 31, 2020, 1:40 PM by ciccio cb

New public version 1.42 available

posted Jan 11, 2020, 12:12 AM by ciccio cb
Updated version 1.42 and AnnexToolkit 1.11
Includes many new features / fixes (synthesis) :

- Included the IO BUFFERS for binary data handling
- Implemented the support for the ST7735 TFT display
- Resizing the Editor page adapt automatically the content to follow landscape format
- fix the "bigfont" problem when using on iphone / ipad
Implemented the function CONVERT.MAP
- Many improvements
- Many minor changes, fixes

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

Version 1.42
IO BUFFERS
- some internal fixes
FTP
- fixed the crash when the FTP server send a long welcome message (internal buffer increased)
Snags
- Fix for the 'if' inside the COMMAND statement 
Online help updated

Version 1.41 beta 12
Improved the VAL function to work with hex, octal and bin numbers
IO BUFFERS
- some internal fixes
- implemented the function IOBUFF.COPY
Implemented the function CONVERT.MAP
- Same as MAP function in Arduino
Editor page
- changes in the page autoresize that now is function of the aspect ratio
Removed these functions because redundant with the IO BUFFERS
- SPI.HEX$
- I2C.WRITEREGARRAY
- I2C.READREGARRAY

Version 1.41 beta 11
IO BUFFERS
- Implemented binary functions IOBUFF.SETBIT, IOBUFF.CLEARBIT, IOBUFF.TOGGLEBIT, IOBUFF.BIT
- implemented conversion function from / to strings and hex strings
- IOBUFF.TOSTRING$, IOBUFF.TOHEX$
- IOBUFF.FROMSTRING, IOBUFF.FROMHEX

Version 1.41 beta 10
TFT
- Replaced the TFT driver
- Implemented the support for the ST7735 display
implemented the IO BUFFERS to handle binary data
- implemented everywhere
Command WGETASYNC
- Fixed some snags
Command UDP
- implemented the UDP.reply msg$ ,[port]
Snags
- Fix for the exit do bug (not a real bug but now is aligned with the ESP32)
Editor page
- Several fixes/improvements 
- fix the "bigfont" problem when using on iphone / ipad
- Addition of the buttons run / stop when using in full screen
- Resizing the page adapt automatically the content to follow landscape format

Version 1.41 beta 7
Addition of the support for "radio" objects in the output page
LCD
- Addition of the command LCD.WRITE char to write a single char (including the 0)
- Addition of the command LCD.CUSTOM char, array() to define custom characters
Snags
- Remove unwanted spaces from the config parameters (in particular the OTA) 
- Fixed a problem in the DATEUNIX function (sometime 1 hour error is DST enabled)
Online help updated

Version 1.41 beta 6
Snags
- Fix the NTP time (was not syncing with internet)

Version 1.41 beta 5
Addition of the support for external javascript HTML objects
Update of the SDK to the version 2.6.3

Version 1.41 beta 4
Addition of the BSSID option to the WIFI.CONNECT command
- WIFI.CONNECT "login", "password" [,"BSSID"]
OTA
- Many improvements in phase with the AnnexToolkit update
- The previous Flash mode, size and speed is maintained after OTA
- The OTA progress is visible inside the AnnexToolkit
Snags
- Fixed a problem linked with the INTERRUPT event

Version 1.41 beta 3
Addition of RFID MFRC522 support
- Functions RFID.SETUP, RFID.SETKEY, RFID.SETGAIN, RFID.WRITE
- Functions RFID.NUID$, RFID.TYPE$, RFID.READ$
- Event ONRFID
Addition of the DIMMER support
- Commands DIMMER.SETUP, DIMMER.LIMITS, DIMMER.BRIGHTNESS, DIMMER.DELAY, DIMMER.STOP
Addition of the SONOFF B1 lamp support
- Commands SONOFFB1.INIT, SONOFFB1.RGB, SONOFFB1.WHITE
Addition of the support for external CSS files
- Command CSSEXTERNAL
Addition of more FILE functions
- FILE.RENAME and FILE.COPY
Addition of the color option for the LED$
Implemented CASE min TO max
Snags
- Fixed "Exit for" with nested for-next loops
- Fixed problem with numeric Textbox$ repeated error messages
- Fixed a memory leak in the command BAS.RTCMEM$
- Fixed function BIN$
Online help published on a stable domain
Several general optimisations

Version 1.39 beta 9
Implemented CASE min TO max

New public version 1.40 available

posted Jan 10, 2020, 3:12 PM by ciccio cb

Updated version 1.40 and AnnexToolkit 1.09
Includes many new features / fixes (synthesis) :

- Included the support for 8MB and 16MB modules
- Addition of the TEXTAREA html object
- Addition of the support for binary and octal constants
- Addition of Watchdog timer
- Addition of the SSL support for WGET and WGETASYNC
- Addition of the TIMEZONE support
- Addition of the errors management handler (ONERROR.GOTO)
- Many improvements
- Many minor changes, fixes

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

Version 1.39 beta 8
Snags
- fixed FTP connection problem

Version 1.39 beta 7
Snags
- fixed problem 16MB modules rebooting after format
- fixed the size of the backup file generated in the toolkit
Addition of another option in the config page to enable the fast boot 
Addition of the HTML Textarea object
- function TEXTAREA$(variable [, id] )
- Lines must be separated with chr$(13)
Updated online 1.39 help

Version 1.39 beta 6
Snags
- fix of wrong value transmitted when passing numeric variable arguments to SUB
Addition of the &b and &o prefix to define binary and octal numbers
Addition of the Watchdog functions
- OPTION.WDT delay (example OPTION.WDT 1000 'set the WDT at 1000 msec)
- OPTION.WDTRESET resets the Watchdog timer; must be run regularly to avoid reset
Addition of the function BAS.RESETREASON
- Returns the reason of the last reset; the values follow the table below:
    REASON_DEFAULT_RST      = 0,    /* normal startup by power on */
REASON_WDT_RST          = 1,    /* hardware watch dog reset */
REASON_EXCEPTION_RST    = 2,    /* exception reset, GPIO status won’t change */
REASON_SOFT_WDT_RST     = 3,    /* software watch dog reset, GPIO status won’t change */
REASON_SOFT_RESTART     = 4,    /* software restart ,system_restart , GPIO status won’t change */
REASON_DEEP_SLEEP_AWAKE = 5,    /* wake up from deep-sleep */
REASON_EXT_SYS_RST      = 6     /* external system reset */
Modification of the startup process
- The program runs immediately without waiting for the WiFi connection
- The WiFi connection will start a little bit later
- If the command WIFI.SLEEP is executed at the beginning of the program
  the wifi will be disabled and the module will start in power save mode
Addition of the command WIFI.APMODE SSID$, PASS$ [, channel]
- Put the module in WIFI AP mode (complimentary to WIFI.CONNECT for STA mode)
Addition of activity indication (dots) during the SPIFFS format phase
Addition of the support for 8 MBytes and 16 Mbytes modules
Improved the Check Disk and Format feedback on the console (prints points to show activity)
Removed unused command SOCKET
Updated online 1.39 help

Version 1.39 beta 5
Snags
- fix of error generated when using multiple arguments in CASE
- fix of error generated when passing string arguments to SUB

Version 1.39 beta 4
Snags
- fix of the space$ function (wrong characters and crashes)
- fix of Arrays passed to the SUB (not working properly)
Updated online 1.39 help

Version 1.39 beta 3
Snags
- Fix of instr (offset)
- Fix of onHtmlChange event
- Fix of DATEUNIX giving the wrong value
Config page
- The timezone is can also be defined as POSIX_TZ 
  (see https://github.com/nayarsystems/posix_tz_db/blob/master/zones.csv)
Addition of the function WPOST$ for HTTP POST request 
- Can also use the secure port 443 (SSL)
Version 1.39 beta 2
WGET$ and WGETASYNC
- Addition of the secure port 443 (SSL)
- Addition of an extra option that includes the header (useful for debug purposes)
- Minor improvements of the WGET function
Error Management
- Addition of the command ONERROR GOTO label
- Jumps to an error handler routine.
- using RETURN returns to the line following the error
- Addition of the constant BAS.ERRLINE
- Returns the line number that generated the error
FOR NEXT loop
- fixed the "next without for" error message when using NEXT with a wrong variable
NOT bitwise operator
- fixed for numbers greather than &h7fffffff
SPACE$
- fixed a crash when causing an Out Of Memory
Addition of the function WORD.EXTRACT$
- extract a substring based on a lead and trail text
MAXSCROLL
- addition of an extra option to MAXSCROLL.SETUP
- Enable the use of reversed digits modules 
MQTT
- included an extra parameter to MQTT.CONNECT
- permit to define an arbitrary text ID
- it is now possible to define empty login and password (for server without login)
FILE command
- Addition of FILE.APPEND to append content to an existing file
FTP
- Implemented the creation of directory on the server if not existing
INSTR function
- Now using a negative start value search from the end of the string 
Several optimisations
- rewritten some routines to reduce binary size
Uploaded online 1.39 help

Version 1.39 beta 1
Changed the driver for the Neopixels
- Based on H/W Serial Port 1
- Limited for using pin GPIO2
- Fixes conflict with the PWM / Tone generation
NEOMATRIX
- addition of the command NEOPIXEL.BRIGHTNESS
FTP
- fixed the crash when the FTP server send a long welcome message
SELECT CASE
Fixed issue for nested select case


Toolkit 1.09

Version 1.09
- Removed a limitation on the long file names
Version 1.08
- Auto recognition of the module size during the flash process
- Corrected partition size for the 16MB modules
- Addition of the IP address info in the Backup / Restore page
- Some cleaning / optimisations
- For internal development
- Autoflash
- Addition of partition generation for ESP32
Version 1.07
- Addition of the support for 8 Mbytes and 16 Mbytes ESP8266 modules
Version 1.06
- Addition of the 1500000 and 3000000 bauds
Version 1.05
- The serial port is closed when the serial monitor is closed
- The Serial port monitor window is restored when clicking on the Serial Monitor button

New ESP32 beta version 1.38 RC5 available

posted Dec 21, 2019, 7:14 AM by ciccio cb


This is the first beta version published for the ESP32.
It includes also the latest ESP8266 version (the 1.39 beta 8)

New beta version 1.39 beta 8 available

posted Nov 10, 2019, 1:38 PM by ciccio cb


Updated version 1.39 beta 8
Includes ::

Snags
- fixed FTP connection problem
- re-enabled the support for the APDS9960

New beta version 1.39 beta 7 available

posted Oct 30, 2019, 10:48 AM by ciccio cb


Updated version 1.39 beta 7 and AnnexToolkit 1.08
Includes somenew features / fixes (synthesis) :

Snags
- fixed problem 16MB modules rebooting after format
- fixed the size of the backup file generated in the toolkit
Addition of another option in the config page to enable the fast boot 
Addition of the HTML Textarea object
- function TEXTAREA$(variable [, id] )
- Lines must be separated with chr$(13)
Updated online 1.39 help

New beta version 1.39 beta 6 available

posted Oct 4, 2019, 4:00 PM by ciccio cb


Updated version 1.39 beta 6 and AnnexToolkit 1.07
Includes many new features / fixes (synthesis) :

- Implemented a watchdog timer WDT
- Implemented support for 8 Mbytes and 16 Mbytes modules
Addition of the &b and &o prefix to define binary and octal numbers
Addition of the function BAS.RESETREASON that returns the reason of the last reset
- Modification of the startup process reducing energy for battery applications
Addition of the command WIFI.APMODE to put the module in WiFi AP mode
- Improved feedback during format and check disk
- Online help updated
- Many minor changes
- Some fixes

SAM text to speech 1.0 released

posted Aug 4, 2019, 12:17 PM by ciccio cb   [ updated Aug 4, 2019, 12:17 PM]

SAM SPEAKER NETWORK
SAM speaker network official release 1.0 has been released.
It is available here

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

Updated version 1.37 beta3

posted May 12, 2019, 1:47 PM by ciccio cb


Uploaded version 1.37 beta 3 and Annex Toolkit 1.03.
This is a development version.

Contains mainly stability fixes.
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

Updated version 1.37 beta2

posted May 8, 2019, 2:17 PM by ciccio cb   [ updated May 8, 2019, 2:19 PM]

Uploaded version 1.37 beta 2 and Annex Toolkit 1.03.
This is a development version.

Major update.
Finalised the implementation of the PID controllers
- Implemented 4 PID controllers
- Commands 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