1f591db6e7
* Added a MS/TP zero-config (automatically choose an unused MAC address) using an algorithm that starts with MAC=64 and waits for a random number of PFM (minimum of 8 plus modulo 64) before attempting to choose a MAC sequentially from 64..127. The confirmation uses a 128-bit UUID with the MSTP Test Request frame. The modifications are in src/bacnet/datalink/mstp.c and src/bacnet/datalink/dlmstp.c modules enabling any device to use zero-config if enabled. A working demonstration is in the ports/stm32f4xx for the NUCLEO board. Complete unit testing is included. Options include lurking forever (wait for a router or another master node before joining) or lurking for a minimum time (enables self forming automatic MAC addressing device nodes).
50 lines
1.3 KiB
JSON
50 lines
1.3 KiB
JSON
{
|
|
"version": "0.2.0",
|
|
"configurations": [
|
|
{
|
|
"type": "cortex-debug",
|
|
"request": "launch",
|
|
"name": "Debug with OpenOCD",
|
|
"cwd": "${workspaceRoot}",
|
|
"executable": "${workspaceRoot}/build/bacnet-mstp.elf",
|
|
"servertype": "openocd",
|
|
"device": "STM32F429ZI",
|
|
"serialNumber": "",
|
|
"configFiles": [
|
|
"interface/stlink.cfg",
|
|
"target/stm32f4x.cfg"
|
|
],
|
|
"searchDir": [],
|
|
"svdFile":"${workspaceRoot}/stm32f429.svd",
|
|
"runToEntryPoint": "main",
|
|
"liveWatch": {
|
|
"enabled": true,
|
|
"samplesPerSecond": 1
|
|
},
|
|
"swoConfig": {
|
|
"enabled": true,
|
|
"cpuFrequency": 8000000,
|
|
"swoFrequency": 2000000,
|
|
"source": "probe",
|
|
"decoders": [
|
|
{ "type": "console", "label": "ITM", "port": 0 }
|
|
]
|
|
},
|
|
"preLaunchCommands": [
|
|
// guarantee the halt at soon as possible after reset
|
|
"monitor reset",
|
|
"monitor sleep 2000",
|
|
"monitor reset halt",
|
|
// synchronize GDB to the state of the target after reset
|
|
"monitor gdb_sync",
|
|
"stepi"
|
|
],
|
|
"postLaunchCommands": [
|
|
"monitor reset init",
|
|
"monitor sleep 200"
|
|
],
|
|
"showDevDebugOutput": "raw"
|
|
}
|
|
]
|
|
}
|