Update SPI logic to process 16 bit words in the same way by sync/async,
3/4 wires modes:
- fix 3-wire synchronous transmission to move 2 or more bytes between buffer and
SPI register per word tarnsmission
- fix 4-wire synchronous transmission to move 2 or more bytes between buffer and
SPI register per word tarnsmission
[Warning] serial_device.c@657,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@666,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@675,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@676,41: comparison of different enumeration types ('PinName' and 'UARTName') [-Wenum-compare]
[Warning] serial_device.c@644,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@644,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@653,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@653,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@662,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@662,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] serial_device.c@663,41: comparison of integer expressions of different signedness: 'PinName' and 'enum <anonymous>' [-Wsign-compare]
[Warning] serial_device.c@663,41: comparison between 'PinName' and 'enum <anonymous>' [-Wenum-compare]
[Warning] stm32g4xx_hal_hrtim.c@1817,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@1821,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@2461,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@2465,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@6600,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@7162,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
[Warning] stm32g4xx_hal_hrtim.c@7166,21: equality comparison with extraneous parentheses [-Wparentheses-equality]
Detected with NUCLEO_G474RE build:
[Warning] stm32g4xx_hal_fdcan.h@1325,84: comparison is always true due to limited range of data type [-Wtype-limits]
[Warning] stm32g4xx_hal_fdcan.h@1331,46: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1331,65: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1325,61: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
[Warning] stm32g4xx_hal_fdcan.h@1325,84: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
154db5425e Merge branch 'release_internal' into release_external
dca258c3f0 Updated unit test
89df990e6d Set EAPOL relay state function to LLC as a callback
47d8f42bf5 Removed extra call to supplicant delete callback
00ebfd905f Added new configuration options for Border router
421f6a8191 Move RPL code to the 6lr state machine
e1e43b8ac2 Corrected pae controller BR EUI-64 flagging
aaefdaebab Refactored pae controller (#2707)
b82e0ee19a Update copyright text in CMakeLists.txt files (#2706)
5791a22d37 Renamed bootstrap files and separated pae controller callback functions (#2703)
4e3ec07caf MAC beacon payload max MTU allocation limited to for support MTU size 127.
a997ab6653 Iotthd 4698 (#2702)
e64b057bff Adjusted security protocols timeouts (#2701)
cb3db6419f Return invalid values from old API if new configuration is used
6872401f8d RPL address registration update
90a434d318 RPL DAO lifetime update
e39f6432eb Forward RPL configuration unmodified
58da4d6c93 Sync Cmake updates from Mbed OS (#2697)
4c229b46c9 Adjust Wi-SUN host/router config - HAVE_RPL (#2696)
40bd2320ba Update release v15.0.0 details to CHANGELOG (#2694)
git-subtree-dir: connectivity/nanostack/sal-stack-nanostack
git-subtree-split: 154db5425eb9f0df82ee081cb05e7d80cda11415
Some LoRaWAN modem like SX1272 can receive downlink packets with RSSI level less than -127. So "int8_t" is not enough for store all possible RSSI values. For example, SX1272 has sensitivity at -137 dBm.
Problem was manifested in the file "SX1272_LoRaRadio.cpp" at SX1272_LoRaRadio::handle_dio0_irq() method.
When value of _rf_settings.lora_packet_handler.rssi_value calculated incorrect RSSI will be stored. Example case:
Value readen from register REG_LR_PKTSNRVALUE _rf_settings.lora_packet_handler.snr_value equals -47.
Value readen from register REG_LR_PKTRSSIVALUE equals 17.
RSSI_OFFSET equals "-139", snr equals "-11".
For case MODEM_LORA value calculated by formula:
_rf_settings.lora_packet_handler.rssi_value = RSSI_OFFSET + rssi + (rssi >> 4) + snr;
and result value will be "124" because of int8_t overflow so it's not correct value (too high).
Correct value must be:
-139 + 17 + (1) + (-11) = -132.
Another motivation: at all other places int16_t type used to store RSSI value.