New 2.1.1 release!

Discussion about Z-Uno product. Visit for more details.
Post Reply
User avatar
Posts: 3817
Joined: 26 Jan 2011 19:36

New 2.1.1 release!

Post by PoltoS » 18 Oct 2017 02:22

This build introduces many new features, allows you to use modern Arduino IDE 1.8.5 and prepares Z-Uno for the most secure IoT protocol - Z-Wave Security S2 - that will be release in the next 2.1.2.

You can get it from ... index.json repo

What's new:

New features
  • Arduino IDE 1.6.5 and 1.8.5 are now supported. You can now use the latest Arduino IDE with Z-Uno!
  • Added 3-channel firmware for JP and KR frequencies - requires bootloader change from the Arduino IDE
  • Number of Z-Uno channels rised to 32! You can make 32 devices in one single Z-Uno.
  • Added support for up to 32 user parameters via Configuration Command Class. Parameters are numbered in Z-Wave controller as 64-95
    Use ZUNO_SETUP_CFGPARAMETER_HANDLER(handeler_func) to define your custom parameter handler where function is defined as handeler_func(param_number, value). Parameters are automaticly saved in the EEPROM. To load them from the EEPROM or change two new functions are introduced: zunoLoadCFGParam(param_number, * value) and zunoSaveCFGParam(param_number, * value).
  • Z-Uno can wake up on low and high INT1. To configure do zunoSetWUOptions(ZUNO_WUPFLAGS_INT1_HIGH/ZUNO_WUPFLAGS_INT1_LOW)
  • Same function zunoSetWUOptions(ZUNO_WUPFLAGS_INT1_KEYSCAN) is used to wake up from key scanner (any of 8 pins). Function zunoSetupKeyScannerWU(byte cols_num) is deprecated and removed.
  • Stack overflow and system errors are reported to the controller and/or to the UART0. Arduino IDE Tools menu allows to turn it on/off. This should make your debugging easier.
  • Battery measurement is made in user code: you can either define the range in voltage ZUNO_SETUP_BATTERY_LEVELS(low, high) or your personal handler that will report back the value upon request ZUNO_SETUP_BATTERY_HANDLER(handler). Values low/high are in milivolts.
  • Added BATTERY to possible values for analogRead() to read the battery level. The reported value is the position of 1.21 V between 0 and battery voltage. For 1024 precision the battery voltage equals to 1.21 V * 1024 / value.
  • Added function zunoSetBeamCountWU(byte count) to instruct Z-Uno in FLiRS mode to wake up after count second even if there were no packets.
  • In Arduino IDE Tools menu one more item added - clean EEPROM. Can clean user data, system data or all data (like reset to factory default).
  • Added Binary.h to the default header for Arduino style binary numbers definition
Bug fixes
  • Fixed wakeup on Key Scanner (broken in 2.1.0)
  • Fixed FLIRS not reporting without a delay in the loop. Now delay is not needed anymore.
  • Fixed handler calling when devices is sent into sleep by user.
  • memset fixed
  • No need to downgrade to the previous version to upgrade from test build to a stable one
  • Few examples changed to adop the changes above
Internal changes
  • Code compilation optimized to produce 4 (four!) times smaller binary code. This is needed to let us fit the new Security S2 in the code.
  • Rewrote LLCore.c to fit the new design of internal structure. Many features were moved from the internal bootloader to the HLCore.cpp.
  • zunoSysCall(func, ...) introduced instead of inter-code stack to make faster and more compact jumps between bootloader and user sketch.
  • All system calls don't use stack anymore.
  • User memmory in the EEPROM moved to new address. This will break your data in a sketch that is using EEPROM after the update.
  • Fixed problem with prototypes not visible
  • Fixed bug with local arrays not initialized (like in code void func() { byte a[]={1,2,3}; })
  • Fully refactored Print to make the code smaller and use less stack
  • Optimized code for float and printing float numbers to use less stack
  • Added fixPrint() method to print fixed digets of a float
  • Added dumpPrint() to help debug by printing big amounts of data (i.e. arrays/structures/any memory areas)
  • Print() now uses three different prototypes to print byte, word and dword value - saves stack in most cases
  • ZUNO_OLED refactored to use less stack.
Our next ambitious goal is to release and certify an S2 capable Z-Uno!

Posts: 22
Joined: 30 Jul 2017 19:31

Re: New 2.1.1 release!

Post by sega66 » 20 Oct 2017 12:03

This build allows you to use the Arduino IDE 1.8.4 ?

Posts: 161
Joined: 26 Jul 2015 17:29

Re: New 2.1.1 release!

Post by petergebruers » 20 Oct 2017 12:35

I am not sure. I was running Arduino 1.8.4 during beta tessting but now I am running the release version on Arduino1.8.5. Do you have stuff that does not run on 1.8.5?

Posts: 3
Joined: 19 Nov 2017 11:46

Re: New 2.1.1 release!

Post by gaelj » 19 Nov 2017 11:47

It would be useful to reflect the Aruino IDE 1.8.5 in the installation guide:

User avatar
Posts: 3817
Joined: 26 Jan 2011 19:36

Re: New 2.1.1 release!

Post by PoltoS » 22 Nov 2017 11:50

You mean update screenshots? As we see, the difference is not that big. Arduino IDE updates pretty often, so updating screenshots might become constant work.

Posts: 3
Joined: 19 Nov 2017 11:46

Re: New 2.1.1 release!

Post by gaelj » 03 Dec 2017 12:51

Following the instructions, I specifically installed Arduino IDE 1.6.5.
A week later I noticed in this forum I could have used the latest Arduino IDE.
I'd say keep the screenshots but write in plain text that Arduino 1.8.5 is supported.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest