@@ -848,59 +848,47 @@ typedef enum {
848
848
A 802.15.4 HAL implementation MUST indicate all capabilities supported by the
849
849
device and driver implementation.
850
850
851
- # 7 Future proof considerations
852
-
853
- The Radio HAL is designed to be agnostic to the 802.15.4 MAC version on top.
854
- However, it is important to mention that most radio devices are optimized for a
855
- single version of the standard. In practice, hardware accelerations are usually
856
- not interchangeable between different versions of 802.15.4. As an example,
857
- devices that support frame retransmissions for IEEE802.15.4 2006 don't support
858
- Enhanced Beacons required by the TSCH layer of the 2012 standard.
859
-
860
- In order to implement future versions of the 802.15.4 standard, the radio HAL
861
- adapts some principles defined in the following sections
862
-
863
- ## Transmission modes
864
-
865
- The HAL defines three transmission modes:
866
- - Direct transmission: the packet is sent immediately, without CCA or CSMA-CA
867
- - CCA transmission: the packet is sent using CCA
868
- - CSMA-CA transmission: the packet is sent using CSMA-CA
869
-
870
- The "transmit" function provides a "mode" argument to specify which
871
- transmission mode should be used.
872
-
873
- A HAL implementation can implement several TX modes, but MUST implement at
874
- least one.
875
-
876
- It is recommended that a HAL implements the TX mode that fits best the internal
877
- capabilities. However, implementing "Direct Transmission" mode is desired for
878
- certain modes of the 802.15.4 MAC (slotted operation) or versions beyond the
879
- capabilities of the hardware.
880
-
881
- As an example, radios that support frame retransmissions with CSMA-CA for
882
- IEEE802.15.4 2006 frames would benefit from a "CSMA-CA transmission" mode.
883
- However, a "Direct Transmission" implementation would be required to support
884
- TSCH (2012 standard) in those radios.
885
-
886
- ## PHY definition
887
-
888
- PHY definitions are specific to a 802.15.4 version. Older standards use to
889
- define PHY channels with a channel number. In modern standards, channels are
890
- defined using a (` channel number ` , ` channel page ` and ` channel modulation ` )
891
- tuple.
892
-
893
- The ` config_phy ` function receives a pointer to a ` ieee802154_phy_conf_t `
894
- structure that describes the PHY configuration. The proposed structure is
895
- compliant with the 2012 standard. In order to support the 2015 standard, a
896
- channel modulation member can be added at any time without breaking the Radio
897
- HAL API.
898
-
899
- ## Functionalities specific to modern standards
900
-
901
- The Radio HAL ops can be extended to support certain functionalities present in
902
- newer standards, such as Listen Before Talk (supported by SubGHz radios).
903
-
851
+ # 7 Future Proof Considerations
852
+
853
+ The Radio HAL is designed to be agnostic to different versions of the
854
+ IEEE802.15.4 standard. A single radio device typically implements hardware
855
+ acceleration for only one standard, whereas different standards are not always
856
+ compatible. As an example, IEEE802.15.4--2006 devices do not support Enhanced
857
+ Acknowledgement packets which are required by the TSCH layer of
858
+ IEEE802.15.4--2012. For compatibility, a software MAC can provide such
859
+ functionality. The Radio HAL adapts considerations to enable different versions
860
+ of the IEEE802.15.4 MAC on top of the abstraction layer.
861
+
862
+ ### Transmission Modes
863
+
864
+ The Radio HAL interface defines three transmission modes to allow sending
865
+ frames using (i) CSMA-CA, (ii) CCA, or (iii) directly without any protection.
866
+ In that way, a MAC layer can easily send data frames benefiting from hardware
867
+ accelerated CSMA-CA or Beacons that have to meet timing constraints and thus,
868
+ require a direct send function.
869
+
870
+ A HAL implementation can provide several transmit modes, but it MUST implement
871
+ at least one. It is recommended that the implementation provides modes that
872
+ exploit the internal devices capabilities. Implementing a direct mode is
873
+ desired for software MAC layers on top.
874
+
875
+ ### PHY Definition
876
+
877
+ PHY definitions are specific to a IEEE802.15.4 version. As an example, older
878
+ standards define PHY channels with a ` channel number ` . In modern standards,
879
+ channels are represented using a (` channel number ` , ` channel page ` , `channel
880
+ modulation` ) tuple. The ` config_phy` function is called with a pointer to a
881
+ ` ieee802154_phy_conf_t ` structure which describes the PHY configuration. In
882
+ order to support newer versions, this structure can be extended without braking
883
+ the Radio HAL.
884
+
885
+ ### Future Radio Operations
886
+
887
+ The Radio Operations interface ` radio_ops ` can be extended to support
888
+ functionalities of newer standards. As an example, most SubGHz radios support a
889
+ Listen Before Talk feature that can be implemented as a new and optional
890
+ operation
891
+ .
904
892
# 8 Acknowledgements
905
893
906
894
Thanks to Peter Kietzmann, Leandro Lanzieri and Martine Lenders for their
0 commit comments