File tree Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Expand file tree Collapse file tree 2 files changed +11
-3
lines changed Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ bool mac_dst_panid_present(const mac_fcf_sequence_t *header)
60
60
presents = true;
61
61
}
62
62
63
- } else if (header -> DstAddrMode ) {
63
+ } else if (header -> DstAddrMode && ! header -> SrcAddrMode ) {
64
64
if (header -> frameVersion == MAC_FRAME_VERSION_2015 ) {
65
65
if (!header -> intraPan ) {
66
66
presents = true;
@@ -69,9 +69,11 @@ bool mac_dst_panid_present(const mac_fcf_sequence_t *header)
69
69
presents = true;
70
70
}
71
71
72
- } else {
72
+ } else if (! header -> DstAddrMode && ! header -> SrcAddrMode ) {
73
73
if (header -> frameVersion == MAC_FRAME_VERSION_2015 ) {
74
- presents = true;
74
+ if (!header -> intraPan ) {
75
+ presents = true;
76
+ }
75
77
}
76
78
}
77
79
@@ -665,9 +667,14 @@ static uint8_t *mac_payload_ie_terimate(uint8_t *ptr)
665
667
666
668
void mac_header_information_elements_preparation (mac_pre_build_frame_t * buffer )
667
669
{
670
+ if (buffer -> message_builded ) {
671
+ return ;
672
+ }
673
+
668
674
if (buffer -> headerIeLength || buffer -> payloadsIeLength ) {
669
675
buffer -> fcf_dsn .frameVersion = MAC_FRAME_VERSION_2015 ;
670
676
buffer -> fcf_dsn .informationElementsPresets = true;
677
+ buffer -> message_builded = true;
671
678
//Write Header elements
672
679
if (buffer -> headerIeLength ) {
673
680
buffer -> mac_header_length_with_security += buffer -> headerIeLength ;
Original file line number Diff line number Diff line change @@ -128,6 +128,7 @@ typedef struct mac_pre_build_frame{
128
128
bool upper_layer_request ;
129
129
bool mac_allocated_payload_ptr :1 ;
130
130
bool asynch_request :1 ;
131
+ bool message_builded :1 ;
131
132
unsigned security_mic_len :5 ; //Max possible lengths 0, 4, 8, 16 bytes
132
133
unsigned priority :2 ;
133
134
struct mac_pre_build_frame * next ; //Pointer for queue purpose
You can’t perform that action at this time.
0 commit comments