(&self, prefix_length: u32, nwkid_bits: u32)
| 249 | } |
| 250 | |
| 251 | fn get_nwkid(&self, prefix_length: u32, nwkid_bits: u32) -> Vec<u8> { |
| 252 | // convert devaddr to u32 |
| 253 | let mut temp = u32::from_be_bytes(self.0); |
| 254 | |
| 255 | // clear prefix |
| 256 | temp <<= prefix_length; |
| 257 | |
| 258 | // shift to starting of nwkid |
| 259 | temp >>= 32 - nwkid_bits; |
| 260 | |
| 261 | // back to bytes |
| 262 | let out = temp.to_be_bytes(); |
| 263 | |
| 264 | let mut blen: usize = (nwkid_bits / 8) as usize; |
| 265 | if nwkid_bits % 8 != 0 { |
| 266 | blen += 1; |
| 267 | } |
| 268 | |
| 269 | out[4 - blen..].to_vec() |
| 270 | } |
| 271 | } |
| 272 | |
| 273 | impl fmt::Display for DevAddr { |
no test coverage detected