74 uint8_t dest_addr_len;
81 CC_INLINE
static uint8_t
82 addr_len(uint8_t mode)
85 case FRAME802154_SHORTADDRMODE:
87 case FRAME802154_LONGADDRMODE:
98 memset(flen, 0,
sizeof(field_length_t));
102 flen->dest_pid_len = 2;
105 flen->src_pid_len = 2;
114 flen->src_pid_len = 0;
129 flen->aux_sec_len = 5;
132 flen->aux_sec_len = 6;
135 flen->aux_sec_len = 10;
138 flen->aux_sec_len = 14;
161 return 3 + flen.dest_pid_len + flen.dest_addr_len +
162 flen.src_pid_len + flen.src_addr_len + flen.aux_sec_len;
184 uint8_t *tx_frame_buffer;
189 if(3 + flen.dest_pid_len + flen.dest_addr_len +
190 flen.src_pid_len + flen.src_addr_len + flen.aux_sec_len > buf_len) {
197 tx_frame_buffer = buf;
208 tx_frame_buffer[2] = p->
seq;
212 if(flen.dest_pid_len == 2) {
213 tx_frame_buffer[pos++] = p->
dest_pid & 0xff;
214 tx_frame_buffer[pos++] = (p->
dest_pid >> 8) & 0xff;
218 for(c = flen.dest_addr_len; c > 0; c--) {
219 tx_frame_buffer[pos++] = p->
dest_addr[c - 1];
223 if(flen.src_pid_len == 2) {
224 tx_frame_buffer[pos++] = p->
src_pid & 0xff;
225 tx_frame_buffer[pos++] = (p->
src_pid >> 8) & 0xff;
229 for(c = flen.src_addr_len; c > 0; c--) {
230 tx_frame_buffer[pos++] = p->
src_addr[c - 1];
234 if(flen.aux_sec_len) {
298 for(c = 0; c < 8; c++) {
312 pf->
src_pid = p[0] + (p[1] << 8);
330 for(c = 0; c < 8; c++) {
353 return c > len ? 0 : c;