Bonjour,
Nous avons essayé de faire du lorawan avec la fmlr 72 sous zephyr. Les codes d’example Zephyr n’ont pas fonctionné. Il y a une erreur :
[00:00:00.200,000] <inf> sx127x: SX127x version 0x00 found
*** Booting Zephyr OS build v3.7.0 ***
[00:00:00.210,000] <dbg> lorawan: lorawan_set_region: Selected region 5
[00:00:00.261,000] <dbg> lorawan: lorawan_start: LoRaMAC Initialized
[00:00:00.261,000] <inf> lorawan_class_a: Joining network over OTAA
[00:00:00.269,000] <dbg> lorawan: lorawan_join: Network join request sent!
[00:00:04.279,000] <dbg> lorawan: mlme_confirm_handler: Received MlmeConfirm (f)
[00:00:04.279,000] <err> lorawan: MlmeConfirm failed : Tx timeout
[00:00:04.284,000] <err> lorawan_class_a: lorawan_join_network failed: -116
L’élément qui nous semble étrange est surtout le « version 0x00 found ». D’après la datasheet (page 105) du SX1272, qui est présent sur la FMLR-72 la version n’est pas censé valoir 0.
Ainsi nous pensons que la communication SPI ne se fait pas correctement.
Après avoir investiguer nous soupçonnons que le device tree de la FMLR-72 est incorrecte. Plus précisement, nous avons observer la partie correspondant au lora :
&spi2 {
pinctrl-0 = <&spi2_sck_pb10 &spi2_miso_pb14 &spi2_mosi_pb15>;
pinctrl-names = "default";
cs-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
status = "okay";
lora: sx1272@0 {
compatible = "semtech,sx1272";
reg = <0x0>;
reset-gpios = <&gpioc 2 GPIO_ACTIVE_LOW>;
antenna-enable-gpios = <&gpiob 12 GPIO_ACTIVE_HIGH>;
dio-gpios = <&gpioa 1 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&gpioa 6 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&gpioa 7 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&gpioc 4 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>,
<&gpioc 5 (GPIO_PULL_DOWN | GPIO_ACTIVE_HIGH)>;
spi-max-frequency = <DT_FREQ_M(16)>;
power-amplifier-output = "rfo";
};
};
Le reset est ici active low alors que sur la datasheet (page 114-115), pour le SX1272 il est actif au niveau haut.
Nous avons tester en changeant cette propriété mais cela n’a pas fonctionné.
Pour information nous avons vérifié et les pins sont bien configuré de la même manière que pour Mbed.
Nous continuons d’investiguer.