(&mut self, prefix: DevAddrPrefix)
| 235 | } |
| 236 | |
| 237 | pub fn set_dev_addr_prefix(&mut self, prefix: DevAddrPrefix) { |
| 238 | // convert devaddr to u32 |
| 239 | let mut devaddr = u32::from_be_bytes(self.0); |
| 240 | |
| 241 | // clean the prefix bits |
| 242 | let mask = u32::MAX; // all u32 bits to 1 |
| 243 | devaddr &= !(mask << (32 - prefix.size())); |
| 244 | |
| 245 | // set the prefix |
| 246 | devaddr |= u32::from_be_bytes(prefix.prefix()); |
| 247 | |
| 248 | self.0 = devaddr.to_be_bytes(); |
| 249 | } |
| 250 | |
| 251 | fn get_nwkid(&self, prefix_length: u32, nwkid_bits: u32) -> Vec<u8> { |
| 252 | // convert devaddr to u32 |