Arduino BETA5 Startup Log explained

From KONNEKTING Wiki
Jump to navigation Jump to search
DEBUG! free ram: 27475 bytes 
Test-Suite:  M0dularis+ v1.0 @ beta5 build date=Sep 26 2020 time=15:17:01

Right at startup, the log shows free memory (RAM) and the build version and date. If you face any errors and want to report an issue, it's always a good idea to copy&paste the complete log. That helps to identify the version you're using.

Setup Memory ...
SPI Flash initialized
--> DONE
Setup Memory Fctptr ...
--> DONE
Initialize KonnektingDevice (build date=Sep 26 2020 time=15:16:46)
setProgLed=0
setProgState=0
Manufacturer: 0xdead Device: 0xff Revision: 0x00

Here you see which manufacturer, device and revision you set in your setch.

memRead: index=0x0000 using fctptr data=0x00
memRead: index=0x0001 using fctptr data=0x00
version: 0x0000 expected: 0x0000

Here the system tries to read the KONNEKTING version from the internal memory (EEPROM, SPI flash, internal flash, whatever you have configured). At the time beeing, the version counter is "0". If you upgrade an "old" device with a new KONNEKTING Version which has a incompatible memory layout, the memory has to be re-formatted (cleared to new layout). For the time beeing, this is not automatically handled by KONNEKTING. You have to format the memory on your own.

comobjs in sketch: 2

The log will tell you how many communication objects are found in the sketch. This must match the number of objects the KONNEKTING Suite knows from kdevice.xml or kconfig.xml.

memRead: index=0x0002 using fctptr data=0x0f
_deviceFlags: (bin)00001111

It's reading the device flags from memory. Check the explanation of device flags here: KONNEKTING_Protocol_Specification_0x01#Device_Flags In our case hrer, we have:

  • stored settings (=no factory settings)
  • stored IA
  • stored ComObjs
  • stored params
  • no data storage (=data storage factory settings)

The right most 3 bits are "unused".

-MEMORY

This means, the device is reading it's configureation from memory. A newly flashed device with empty flash/eeprom will show "-FACTORY"

memRead: index=0x0010 using fctptr data=0x11
memRead: index=0x0011 using fctptr data=0x01
ia=0x1101

Also the physical address/individual address is read from memory and is applied. You need to convert it on your own into a more readable version. You can use this html/javascript tool: https://gitlab.com/konnekting/KonnektingDeviceLibrary/-/blob/develop/knx_conversionhelper.html

Reading commobj table...memRead: index=0x041e using fctptr data=0x02
2 entries
memRead: index=0x041f using fctptr data=0x2a
  ComObj #0 config: hex=0x2a bin=00101010
memRead: index=0x0420 using fctptr data=0x34
  ComObj #1 config: hex=0x34 bin=00110100
Reading commobj table...*done*
Reading address table...memRead: index=0x0020 using fctptr data=0x05
5 entries
memRead: index=0x0021 using fctptr data=0x3f
memRead: index=0x0022 using fctptr data=0x07
  index=0 GA: hex=0x3f07
memRead: index=0x0023 using fctptr data=0x3f
memRead: index=0x0024 using fctptr data=0x08
  index=1 GA: hex=0x3f08
memRead: index=0x0025 using fctptr data=0x3f
memRead: index=0x0026 using fctptr data=0x09
  index=2 GA: hex=0x3f09
memRead: index=0x0027 using fctptr data=0x3f
memRead: index=0x0028 using fctptr data=0x0a
  index=3 GA: hex=0x3f0a
memRead: index=0x0029 using fctptr data=0x3f
memRead: index=0x002a using fctptr data=0x0b
  index=4 GA: hex=0x3f0b
Reading address table...*done*
Reading association table...memRead: index=0x021f using fctptr data=0x06
6 entries
memRead: index=0x0220 using fctptr data=0x00
memRead: index=0x0221 using fctptr data=0x00
  index=0 ComObj=0 ga=0x3f07
memRead: index=0x0222 using fctptr data=0x01
memRead: index=0x0223 using fctptr data=0x01
  index=1 ComObj=1 ga=0x3f08
memRead: index=0x0224 using fctptr data=0x02
memRead: index=0x0225 using fctptr data=0x01
  index=2 ComObj=1 ga=0x3f09
memRead: index=0x0226 using fctptr data=0x03
memRead: index=0x0227 using fctptr data=0x00
  index=3 ComObj=0 ga=0x3f0a
memRead: index=0x0228 using fctptr data=0x03
memRead: index=0x0229 using fctptr data=0x01
  index=4 ComObj=1 ga=0x3f0a
memRead: index=0x022a using fctptr data=0x04
memRead: index=0x022b using fctptr data=0x01
  index=5 ComObj=1 ga=0x3f0b
Reading association table...*done* _assocMaxTableEntries=2
IA: 0x1101
Malloc maxaddressedComObj: 2
Reset triggered!
Reset attempts: 9
Data available: 1
Reset successful
Init : Normal mode started

Init successful
KnxDevice startup status: 0x00
--> setup() DONE