11. Appendix
11.1. pymkimage
- mkimage is a CLI python application for:
building SUOTA ready s/w images,
adding header in raw binary configuration files,
creating multi-image for first time programming
11.1.1. Requirements
Python = Required version is Python 3.7.3
- Installation:
Download Python installer from Python 3.7.3
Add Python to PATH
11.1.2. PyInstaller
PyInstaller freezes (packages) Python applications into stand-alone executables.
- Installation:
pip3 install PyInstaller==3.6
rename pyinstaller.exe to pyinstaller37.exe
11.1.3. Create the executable under current folder
Open any command prompt.
navigate to the folder that contains configurator.
build the executable.
pyinstaller37.exe --onefile mkimage.py --nowindowed --distpath
11.2. Appendix A Configuration Parameters
All the configuration parameters that are supported until now are shown in the next table:
Element ID |
Name |
---|---|
0x0100 |
ELEM_ID_ADV_INTERVAL_MIN |
0x0101 |
ELEM_ID_ADV_INTERVAL_MAX |
0x0102 |
ELEM_ID_ADV_CHANNEL_MAP |
0x0103 |
ELEM_ID_ADV_MODE |
0x0104 |
ELEM_ID_ADV_FILTER_POLICY |
0x0105 |
ELEM_ID_ADV_PEER_ADDR |
0x0106 |
ELEM_ID_ADV_PEER_ADDR_TYPE |
0x0200 |
ELEM_ID_GAP_ROLE |
0x0201 |
ELEM_ID_GAP_MTU |
0x0202 |
ELEM_ID_GAP_ADDR_TYPE |
0x0203 |
ELEM_ID_GAP_ADDRESS |
0x0204 |
ELEM_ID_GAP_REGEN_ADDR_DUR |
0x0205 |
ELEM_ID_GAP_DEVICE_IRK |
0x0206 |
ELEM_ID_GAP_ATTR_CONFIG |
0x0207 |
ELEM_ID_GAP_SERVICE_START _HANDLE |
0x0208 |
ELEM_ID_GATT_SERVICE_START _HANDLE |
0x0209 |
ELEM_ID_GAP_MAX_MPS |
0x020A |
ELEM_ID_GAP_MAX_TX_OCTETS |
0x020B |
ELEM_ID_GAP_MAX_TX_TIME |
0x0300 |
ELEM_ID_CONN_INTERVAL_MIN |
0x0301 |
ELEM_ID_CONN_INTERVAL_MAX |
0x0302 |
ELEM_ID_CONN_LATENCY |
0x0303 |
ELEM_ID_CONN_TIME_OUT |
0x0304 |
ELEM_ID_CONN_CE_LEN_MIN |
0x0305 |
ELEM_ID_CONN_CE_LEN_MAX |
0x0400 |
ELEM_ID_USER_ADV_DATA |
0x0401 |
ELEM_ID_USER_ADV_DATA_LEN |
0x0402 |
ELEM_ID_USER_ADV_SCAN_RESP _DATA |
0x0403 |
ELEM_ID_USER_ADV_SCAN_RESP _DATA_LEN |
0x0404 |
ELEM_ID_USER_DEVICE_NAME |
0x0405 |
ELEM_ID_USER_DEVICE_NAME _LEN |
0x0500 |
ELEM_ID_PERIPH_UART_BAUDR ATE |
0x0600 |
ELEM_ID_CENTRAL_CODE |
0x0601 |
ELEM_ID_CENTRAL_ADDR_SRC |
0x0602 |
ELEM_ID_CENTRAL_SCAN_INTER VAL |
0x0603 |
ELEM_ID_CENTRAL_SCAN_WINDO W |
0x0604 |
ELEM_ID_CENTRAL_PEER_ADDR _0 |
0x0605 |
ELEM_ID_CENTRAL_PEER_ADDR _0_TYPE |
0x0700 |
ELEM_ID_GPIO_UART1_RX |
0x0701 |
ELEM_ID_GPIO_UART1_TX |
0x0702 |
ELEM_ID_GPIO_UART1_CTS |
0x0703 |
ELEM_ID_GPIO_UART1_RTS |
0x0704 |
ELEM_ID_GPIO_EXT_WAKEUP |
0x0705 |
ELEM_ID_GPIO_EXT_WAKEUP_P OLARITY |
0x0706 |
ELEM_ID_GPIO_EXT_WAKEUP_D EBOUNCE |
0x0707 |
ELEM_ID_GPIO_ACTIVE_STATU S_PIN |
0x0708 |
ELEM_ID_GPIO_WAKEUP_EXT_H OST |
0x0709 |
ELEM_ID_GPIO_POR_PIN |
0x070A |
ELEM_ID_GPIO_POR_PIN_POLA RITY |
0x070B |
ELEM_ID_GPIO_POR_PIN_TIMEO UT |
0x070C |
ELEM_ID_GPIO_UART2_RX |
0x070D |
ELEM_ID_GPIO_UART2_TX |
11.3. Appendix B SPS Configuration Parameters
The SPS application supports both DA14531, DA14535 and DA14585 chips, and both Device and Host roles. In the Host role, both chips use the same configuration structure. So, the SPS application supports the following three configuration structures.
11.3.1. SPS Device for DA14531
Element ID |
Name |
Default Values |
---|---|---|
0x0100 |
ELEM_ID_PARAM_ADV_INTERVAL_MIN |
160 ble slots (100 ms) |
0x0101 |
ELEM_ID_PARAM_ADV_INTERVAL_MAX |
160 ble slots (100 ms) |
0x0102 |
ELEM_ID_PARAM_ADV_CHANNEL_MAP |
7 (ADV_ALL_CHNLS_EN) |
0x0201 |
ELEM_ID_PARAM_GAP_MTU |
247 bytes |
0x0300 |
ELEM_ID_PARAM_CONN_INTERVAL_MIN |
20 ble doubleslots (25 ms) |
0x0301 |
ELEM_ID_PARAM_CONN_INTERVAL_MAX |
20 ble doubleslots (25 ms) |
0x0302 |
ELEM_ID_PARAM_CONN_LATENCY |
0 ms |
0x0303 |
ELEM_ID_PARAM_CONN_TIME_OUT |
1000 timer units (10000 ms) |
0x0400 |
ELEM_ID_PARAM_USER_ADV_DATA |
x11x07xb7x5cx49xd2x04xa3x40x71xa0xb5x35x85x3exb0x83x07x03x03xf5xfe |
0x0401 |
ELEM_ID_PARAM_USER_ADV_DATA_LEN |
22 bytes |
0x0402 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA |
Null |
0x0403 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA_LEN |
0 bytes |
0x0404 |
ELEM_ID_PARAM_USER_DEVICE_NAME |
SPS-531 |
0x0405 |
ELEM_ID_PARAM_DEVIC_NAME_LEN |
7 |
0x0500 |
ELEM_ID_PARAM_PERIPH_UART_BAUDRATE |
8 (921600 Kbps) |
0x0700 |
ELEM_ID_GPIO_UART1_RX |
GPIO 5, PORT 0 |
0x0701 |
ELEM_ID_GPIO_UART1_TX |
GPIO 6, PORT 0 |
0x0702 |
ELEM_ID_GPIO_UART1_CTS |
GPIO 8, PORT 0 |
0x0703 |
ELEM_ID_GPIO_UART1_RTS |
GPIO 7, PORT 0 |
0x0707 |
ELEM_ID_GPIO_ACTIVE_STATUS_PIN |
GPIO 11, PORT 0 |
0x0709 |
ELEM_ID_GPIO_POR_PIN |
GPIO 9, PORT 0 |
0x070A |
ELEM_ID_GPIO_POR_PIN_POLARITY |
1 (High) |
0x070B |
ELEM_ID_GPIO_POR_PIN_TIMEOUT |
0 ms |
11.3.2. SPS Device for DA14535
Element ID |
Name |
Default Values |
---|---|---|
0x0100 |
ELEM_ID_PARAM_ADV_INTERVAL_MIN |
160 ble slots (100 ms) |
0x0101 |
ELEM_ID_PARAM_ADV_INTERVAL_MAX |
160 ble slots (100 ms) |
0x0102 |
ELEM_ID_PARAM_ADV_CHANNEL_MAP |
7 (ADV_ALL_CHNLS_EN) |
0x0201 |
ELEM_ID_PARAM_GAP_MTU |
247 bytes |
0x0300 |
ELEM_ID_PARAM_CONN_INTERVAL_MIN |
20 ble doubleslots (25 ms) |
0x0301 |
ELEM_ID_PARAM_CONN_INTERVAL_MAX |
20 ble doubleslots (25 ms) |
0x0302 |
ELEM_ID_PARAM_CONN_LATENCY |
0 ms |
0x0303 |
ELEM_ID_PARAM_CONN_TIME_OUT |
1000 timer units (10000 ms) |
0x0400 |
ELEM_ID_PARAM_USER_ADV_DATA |
x11x07xb7x5cx49xd2x04xa3x40x71xa0xb5x35x85x3exb0x83x07x03x03xf5xfe |
0x0401 |
ELEM_ID_PARAM_USER_ADV_DATA_LEN |
22 bytes |
0x0402 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA |
Null |
0x0403 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA_LEN |
0 bytes |
0x0404 |
ELEM_ID_PARAM_USER_DEVICE_NAME |
SPS-535 |
0x0405 |
ELEM_ID_PARAM_DEVIC_NAME_LEN |
7 |
0x0500 |
ELEM_ID_PARAM_PERIPH_UART_BAUDRATE |
8 (921600 Kbps) |
0x0700 |
ELEM_ID_GPIO_UART1_RX |
GPIO 5, PORT 0 |
0x0701 |
ELEM_ID_GPIO_UART1_TX |
GPIO 6, PORT 0 |
0x0702 |
ELEM_ID_GPIO_UART1_CTS |
GPIO 8, PORT 0 |
0x0703 |
ELEM_ID_GPIO_UART1_RTS |
GPIO 7, PORT 0 |
0x0707 |
ELEM_ID_GPIO_ACTIVE_STATUS_PIN |
GPIO 11, PORT 0 |
0x0709 |
ELEM_ID_GPIO_POR_PIN |
GPIO 9, PORT 0 |
0x070A |
ELEM_ID_GPIO_POR_PIN_POLARITY |
1 (High) |
0x070B |
ELEM_ID_GPIO_POR_PIN_TIMEOUT |
0 ms |
11.3.3. SPS Device for DA14585
Element ID |
Name |
Default Values |
---|---|---|
0x0100 |
ELEM_ID_PARAM_ADV_INTERVAL_MIN |
160 ble slots (100 ms) |
0x0101 |
ELEM_ID_PARAM_ADV_INTERVAL_MAX |
160 ble slots (100 ms) |
0x0102 |
ELEM_ID_PARAM_ADV_CHANNEL_MAP |
7 (ADV_ALL_CHNLS_EN) |
0x0201 |
ELEM_ID_PARAM_GAP_MTU |
247 bytes |
0x0300 |
ELEM_ID_PARAM_CONN_INTERVAL_MIN |
20 ble doubleslots (25 ms) |
0x0301 |
ELEM_ID_PARAM_CONN_INTERVAL_MAX |
20 ble doubleslots (25 ms) |
0x0302 |
ELEM_ID_PARAM_CONN_LATENCY |
0 ms |
0x0303 |
ELEM_ID_PARAM_CONN_TIME_OUT |
1000 timer units (10000 ms) |
0x0400 |
ELEM_ID_PARAM_USER_ADV_DATA |
x11x07xb7x5cx49xd2x04xa3x40x71xa0xb5x35x85x3exb0x83x07x03x03xf5xfe |
0x0401 |
ELEM_ID_PARAM_USER_ADV_DATA_LEN |
22 bytes |
0x0402 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA |
Null |
0x0403 |
ELEM_ID_PARAM_ADV_SCAN_RESP_DATA_LEN |
0 bytes |
0x0404 |
ELEM_ID_PARAM_USER_DEVICE_NAME |
SPS-585 |
0x0405 |
ELEM_ID_PARAM_DEVIC_NAME_LEN |
7 |
0x0500 |
ELEM_ID_PARAM_PERIPH_UART_BAUDRATE |
8 (921600 Kbps) |
0x0700 |
ELEM_ID_GPIO_UART1_RX |
GPIO 2, PORT 0 |
0x0701 |
ELEM_ID_GPIO_UART1_TX |
GPIO 4, PORT 0 |
0x0702 |
ELEM_ID_GPIO_UART1_CTS |
GPIO 6, PORT 0 |
0x0703 |
ELEM_ID_GPIO_UART1_RTS |
GPIO 7, PORT 0 |
0x0707 |
ELEM_ID_GPIO_ACTIVE_STATUS_PIN |
GPIO 5, PORT 2 |
0x0709 |
ELEM_ID_GPIO_POR_PIN |
GPIO 9, PORT 2 |
0x070A |
ELEM_ID_GPIO_POR_PIN_POLARITY |
1 (High) |
0x070B |
ELEM_ID_GPIO_POR_PIN_TIMEOUT |
0 ms |
11.3.4. SPS Host for DA14531, DA14535 and DA14585
SPS Host Configuration Structure for DA14531, DA14535 and DA14585
Element ID |
Name |
Default Value |
---|---|---|
0x0201 |
ELEM_ID_PARAM_GAP_MTU |
247 bytes |
0x0300 |
ELEM_ID_PARAM_CONN_INTERVAL_MIN |
20 ble doubleslots (25 ms) |
0x0301 |
ELEM_ID_PARAM_CONN_INTERVAL_MAX |
20 ble doubleslots (25 ms) |
0x0302 |
ELEM_ID_PARAM_CONN_LATENCY |
0 ms |
0x0303 |
ELEM_ID_PARAM_CONN_TIME_OUT |
1000 timer units (10000 ms) |
0x0304 |
ELEM_ID_CONN_CE_LEN_MIN |
32 ble doubleslots (40 ms) |
0x0305 |
ELEM_ID_CONN_CE_LEN_MAX |
32 ble doubleslots (40 ms) |
0x0400 |
ELEM_ID_PARAM_USER_ADV_DATA |
x11x07xb7x5cx49xd2x04xa3x40x71xa0xb5x35x85x3exb0x83x07x03x03xf5xfe |
0x0401 |
ELEM_ID_PARAM_USER_ADV_DATA_LEN |
22 bytes |
0x0500 |
ELEM_ID_PARAM_PERIPH_UART_BAUDRATE |
8 (921600 Kbps) |
0x0600 |
ELEM_ID_CENTRAL_CODE |
19 (GAPM_CONNECTION_DIRECT) |
0x0602 |
ELEM_ID_CENTRAL_SCAN_INTERVAL |
384 ms |
0x0603 |
ELEM_ID_CENTRAL_SCAN_WINDOW |
352 ms |
0x0604 |
ELEM_ID_CENTRAL_PEER_ADDR_0 |
00:00:00:00:00:00 |
0x0605 |
ELEM_ID_CENTRAL_PEER_ADDR_0_TYPE |
0 (public) |