MCPcopy Create free account
hub / github.com/chirpstack/chirpstack / get_nwkid

Method get_nwkid

lrwn/src/devaddr.rs:251–270  ·  view source on GitHub ↗
(&self, prefix_length: u32, nwkid_bits: u32)

Source from the content-addressed store, hash-verified

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
273impl fmt::Display for DevAddr {

Callers 1

nwkidMethod · 0.80

Calls 2

to_be_bytesMethod · 0.45
to_vecMethod · 0.45

Tested by

no test coverage detected