Before posting a question
When posting a question, make sure to include the following:
For general community usage please refer to the Silicon Labs Community Guidelines.
I would like to know if there are any programmers for flashing the 700 series chips that be could use it in our factory set up apart from "ZGM130S Zen Gecko dev kit".
Also we are thinking of using the Pem Micro Programmer for programming at Factory, does this support programming the ZGM130S037HGN1 MCU's.
Steps to be done at factory
1. Program the bootloader code
2. Program the zwave application code.
3. set the Debug_enable lock bits.
Also what are the recommendations for tools and programmers for doing these above steps at our factory ?
I'm open battery auto report ,but found it report fail ,can you suggest me how to debug ?
Here is the log:
Battery voltage: 3330mV
CheckAndReportBatteryLevel: Current Level=100, Last reported level=101
CheckAndReportBatteryLevel: TX FAILED **
AppStateManager St: 0, Ev: 115
if (JOB_STATUS_SUCCESS != CC_Battery_LevelReport_tx(&lifelineProfile, ENDPOINT_ROOT, battLevel, ZCB_BattReportSentDone))
DPRINTF("\r\n** CC_Battery TX FAILED ** \r\n");
I'm trying to start Z-Wave development with EFR32ZG14 Zen Gecko Wireless Starter Kit and SerialAPI demo. I've flashed hex file from Simplicity Studio - Controller SerialAPI EU Gecko 7.13.3. Then I've started zipgateway and it failed with this log:
7449127 Opening config file /usr/local/etc/zipgateway.cfg Starting Contiki Opening eeprom file /usr/local/var/lib/zipgateway/eeprom.dat Lan device tap0 LAN HW addr XX:XX:XX:XX:XX:XX 7449127 Starting zipgateway ver7_13.01 build ver7_13.01 7449127 Resetting ZIP Gateway 7449127 Serial Process init 7449127 Using serial port /dev/ttyACM0 SerialAPI: Retransmission 0 of 0x07 SerialAPI: Retransmission 1 of 0x07 SerialAPI: Retransmission 2 of 0x07 SerialAPI: Retransmission 3 of 0x07 SerialAPI: Retransmission 4 of 0x07 SerialAPI: Retransmission 5 of 0x07 SerialAPI: Retransmission 6 of 0x07 SerialAPI: Retransmission 7 of 0x07 SerialAPI: Reopening serial port SerialAPI: Retransmission 8 of 0x07 SerialAPI: Retransmission 9 of 0x07 SerialAPI: Retransmission 10 of 0x07 SerialAPI: Retransmission 11 of 0x07 SerialAPI: Retransmission 12 of 0x07 SerialAPI: Retransmission 13 of 0x07 SerialAPI: Retransmission 14 of 0x07 SerialAPI: Retransmission 15 of 0x07 SerialAPI: Reopening serial port SerialAPI: Retransmission 16 of 0x07 SerialAPI: Retransmission 17 of 0x07 SerialAPI: Retransmission 18 of 0x07 SerialAPI: Retransmission 19 of 0x07 SerialAPI: Unable to send frame!!!!!! SerialAPI: SendFrameWithResponse() returning failure SerialAPI: SendFrameWithResponse(FUNC_ID_SERIAL_API_GET_CAPABILITIES,...) failed in SerialAPI_Init() SerialAPI: Assertion failed at ../src/serialapi/Serialapi.c:384 7498469 Error opening serial API 7498469 Fatal error 7498469 Bye bye
I thought this may be due to errors in flashing. I've erased the device via Flash Programmer and flashed device again and in Energy profiler, I can see a difference between flashed and erased device.
I'm using Ubuntu 18.04 . Am I doing something wrong?
We developed our custom dev board based on ZGM130S. i tried program it but it is not detected in J-Flash or Simplicity studio. I have J link Edu jtag programmer. I attached screenshot of schematic connection. I used these pins to connect ZGM130S to Jlink :-
DVDD ----- ZGM130S supply
GND --- GROUND
SWCLK ---- PF0
SWDIO ---- PF1
SDO --- PF2
RST --- RESETn (PIN 15)
these all 6 connection with J link programmer.
Is there any help ?? how to program it ?
Zwave 700 how can I use development board to program device ? l link the below pin with device and power on by 3.3V , but programmer software also cannot find device .
Is there any one can tell me which pin I missing ?
Development board Device
GND ----------- GND
SWDIO -------------- DIO
SWCLK -------------- CLK
RESET ------------- RST
and then power by 3.3V
How do I get the IP of a Z/IP Gateway running on the same machine in Z-Ware?
I used the Z-Ware REST API(cgi/zcgi/networks//zw_gw_list) to get the IP of the Z / IP Gateway.
However, there is no data that can identify local Z / IP Gateway in response data.
Please Help me.
I am using two dimmers (Fibaro dimmer 2 S0, and Heatit dimmer S2). The Heatit dimmer works perfectly. That means, I can control it from my application and turn ON/OFF manually, and it will report straight away. But with the Fibaro Dimmer, it just doesn't call the callback that is set. The callback has been set using zwif_level_rpt_set (from the C API). I also set the unsolicited address like in the level sensor demo.
Using Zwave Zniffer, I saw that the fibaro dimmer uses the COMMAND_CLASS_CRC_16_ENCAP (Version1) to wrap the multilevel switch report. And according to the Z-Wave specification, this command class is deprecated. Is it why it is not calling the callback? Or how can I fix that issue? I'm using the latest Z/IP SDK and Z-Ware SDK (7.13.1).
Attached are the records for both dimmers when I set them manually ON/OFF and the keys.
I have two raspberry pi, both of them running ZIPGateway process, one of board is using the 700 series dev board as a controller, the other one is using UZB-7, thay have different frequency, the first is EU frequency, and the UZB-7 is US frequency(changed using PC Controller). Both of them works well when the other one is powered off, but when both powered up, one of them will have communication issues, when i execute command class, it returns error with error code ZW_ERR_INTF_NOT_FOUND = -15
Will two controllers interfere with each other?
I couldn't find Configuration in the folder ZAF\CommandClasses.
Is there a plan to add it to SDK 7.13, or I have to write it by myself?
Yesterday , my simplicity update error and then cannot work . After that I have to download the new simplicity and install again . Strange is that , after I download the Zwave sdk(7.13.2) it will remove my old sdk(7.12.2) . It made my project error . I takes sdk 7.12.2 from my another computer and add it to simplicity , after get all my setting correct and build the project , it tells below :
/bin/make --no-print-directory post-build
"D:\SiliconLabs\SimplicityStudio\v4\developer\adapter_packs\commander\commander.exe" gbl create "DoorLockKeyPad.gbl" --app "DoorLockKeyPad.hex" --sign "D:/SiliconLabs/SimplicityStudio/v4/developer/sdks/v7.12.2//BootLoader/sample-keys/sample_sign.key" --encrypt "D:/SiliconLabs/SimplicityStudio/v4/developer/sdks/v7.12.2//BootLoader/sample-keys/sample_encrypt.key" --compress lz4
Parsing file DoorLockKeyPad.hex...
Initializing GBL file...
Adding application to GBL...
Compressing using lz4...
ERROR: The application in file DoorLockKeyPad.hex indicates that it is of type bootloader. It cannot be added to the GBL as an application.
We are developing a device which can use usb or battery as power supply , so I need to change its node infor according to power. I take DoorLockKeyPad as demo . After search the file , I change DeviceOptionsMask in ApplicationTask, here is my code :
uint8_t nodeID = GetMyNodeID();
if(nodeID == 0 || nodeID == 0xff)
if(0 == GPIO_PinInGet(POWER_SUPPLY_PORT, POWER_SUPPLY_PIN)) //test power supply , if pin low it means AC-usb power
AppNodeInfo.DeviceOptionsMask = APPLICATION_NODEINFO_LISTENING;
m_AppNIF.deviceOptionsMask = AppNodeInfo.DeviceOptionsMask ;
Here is my testing step:
a. The pin for test power supply is low
b. The default options mask of device is FLiRS mode :
#define DEVICE_OPTIONS_MASK APPLICATION_FREQ_LISTENING_MODE_1000ms
device will change its mode from default options mask(FLIRS) to Listening mode, which means no matter device in network or not in network its mode is listening mode .
Here is my test step:
step1 : Remove device from PC and power on again , trigger device to send node infor
step2: Add device to PC , trigger device to node infor
s1 : Device is Listening mode (Right)
s2: Device is FLiRS mode (Wrong)
I print the log at the end of learn mode :
if(0 == nodeId || (SECURITY_KEY_NONE == GetHighestSecureLevel(ZAF_GetSecurityKeys())) )
m_AppInfo.activeNonsecureList = m_AppInfo.u.pCmdLists->unsecList;
m_AppInfo.activeNonsecureList = m_AppInfo.u.pCmdLists->sec.unsecList;
DPRINTF("\r\nSetupActiveNIF : %x\r\n", m_AppInfo.u.pNifs->deviceOptionsMask);
deviceOptionsMask is right . Is there anything I should change or check ?
Any thoughts on this as a zwave controller? I want to add home automation to my home for reptile and plant lights, patio lights, thermostat, and maybe a door lock. I want it to integrate with some sort of alarm/door status triggers, so I was planning on installing a Honeywell Vista20p alarm system. If the Tuxedo is not as great for zwave as something else, I am going to install a DMP alarm system. I couldn't find anything on the sub regarding the Tuxedo via the search 10.0.0.0.1bar.
I don't know if it is the sdk problem or I'm doing wrong . Follow the instruction to build a uart demo , device cannot receive all data
Here is my testing :
1. sdk :18.104.22.168 demo : DoorLockKeyPad
2. Chang the demo and open uart1 :
a. Change DEVICE_OPTIONS_MASK to listening mode
#define DEVICE_OPTIONS_MASK APPLICATION_NODEINFO_LISTENING
and change uart1 default pin to
#define UART1_TX_PORT gpioPortD
#define UART1_TX_PIN 13
#define UART1_RX_PORT gpioPortD
#define UART1_RX_PIN 14
b. Open uart0 and uart1
1)undefine DISABLE_USART0 DISABLE_USART1
//In Simplicity Studio open Project->Properties->C/C++ General->Paths and Symbols
//Remove DISABLE_USART0 from list found under # Symbols->GNU C
define DEBUGPRINT =1
2) Enable uart1 interrupt in ZAF_UART1_enable
uint32_t baudRate, /* IN Baud rate (e.g. 9600=>9600baud/s, 115200=>115200baud/s) */
bool bEnableTx, /* IN true: Tx enabled, false: Tx disabled */
bool bEnableRx) /* IN true: Rx enabled, false: Rx disabled */
/* enable cmu clock for USART1 */
UartEnable(USART1, baudRate, bEnableTx, bEnableRx);
3) Use uart0 to send data which uart1 receive :
/* Check for RX data valid interrupt */
if (USART1->STATUS & USART_STATUS_RXDATAV)
/* Copy data into RX Buffer */
uint8_t rxData = USART_Rx(USART1);
DPRINTF("%x ", rxData); // Print the received character to debug output
// Put code here to send event/data to application task
/* Clear RXDATAV interrupt */
4) Enable uart1
ZAF_UART1_enable(115200, true, true);
We were evaluating secure boot and firmware signing features on our legacy 500 products, but failed to find any evidence. Could someone clarify that such features are not supported on 500 series?
Also, does 700 support such security features?
Thanks, and look forward to your reply.