New 2.1.1 release!

Discussion about Z-Uno product. Visit http://z-uno.z-wave.me for more details.
User avatar
PoltoS
Posts: 7624
Joined: 26 Jan 2011 19:36

New 2.1.1 release!

Post by PoltoS »

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 https://z-uno.z-wave.me/files/z-uno/tes ... 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!
sega66
Posts: 38
Joined: 30 Jul 2017 19:31

Re: New 2.1.1 release!

Post by sega66 »

This build allows you to use the Arduino IDE 1.8.4 ?
petergebruers
Posts: 255
Joined: 26 Jul 2015 17:29

Re: New 2.1.1 release!

Post by petergebruers »

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?
gaelj
Posts: 3
Joined: 19 Nov 2017 11:46

Re: New 2.1.1 release!

Post by gaelj »

It would be useful to reflect the Aruino IDE 1.8.5 in the installation guide: https://z-uno.z-wave.me/install
User avatar
PoltoS
Posts: 7624
Joined: 26 Jan 2011 19:36

Re: New 2.1.1 release!

Post by PoltoS »

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.
gaelj
Posts: 3
Joined: 19 Nov 2017 11:46

Re: New 2.1.1 release!

Post by gaelj »

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.
budm
Posts: 11
Joined: 29 Mar 2018 17:16

Re: New 2.1.1 release!

Post by budm »

I've never been able to build 2.1.1 or later (currently trying 2.1.3) on Arduino IDE 1.8.5 on Linux. One compile fails trying to include "WProgram.h", indicating that the '#define ARDUINO 152' line in the board headers isn't being defined, or is being redefined somewhere (or something).

Switching to any other Arduino board works perfectly. As it stands, none of my software compiles for the Z-UNO with IDE 1.8.5/Linux.
User avatar
PoltoS
Posts: 7624
Joined: 26 Jan 2011 19:36

Re: New 2.1.1 release!

Post by PoltoS »

Can you show your board settings under Tools menu? I use 1.8.5 without any problems.
budm
Posts: 11
Joined: 29 Mar 2018 17:16

Re: New 2.1.1 release!

Post by budm »

Screenshots attached. First one is trying to compile a simple z-uno app, second one is trying to compile a ping app that requires no zuno-specific libraries.
Attachments
ss2.png
ss2.png (110.13 KiB) Viewed 17370 times
ss.png
ss.png (94.88 KiB) Viewed 17370 times
p0lyg0n1
Posts: 242
Joined: 04 Aug 2016 07:14

Re: New 2.1.1 release!

Post by p0lyg0n1 »

Z-Uno don't have WProgram.h. It's a very old header from Wiring. Use "Arduino.h" instead.
Post Reply