MCPcopy Create free account
hub / github.com/FutureSDR/FutureSDR / encode

Method encode

examples/lora/src/encoder.rs:33–53  ·  view source on GitHub ↗
(&self, payload: Vec<u8>)

Source from the content-addressed store, hash-verified

31 }
32
33 pub fn encode(&self, payload: Vec<u8>) -> Vec<u16> {
34 let frame = Self::whitening(&payload);
35 let frame = if self.implicit_header {
36 frame
37 } else {
38 Self::header(frame, self.code_rate, self.has_crc)
39 };
40 let frame = if self.has_crc {
41 Self::crc(frame, &payload)
42 } else {
43 frame
44 };
45 let frame = Self::hamming_encode(frame, self.code_rate, self.spreading_factor);
46 let frame = Self::interleave(
47 frame,
48 self.code_rate,
49 self.spreading_factor,
50 self.ldro_enabled,
51 );
52 Self::gray_demap(frame, self.spreading_factor)
53 }
54
55 fn whitening(payload: &[u8]) -> Vec<u8> {
56 let mut out = vec![0; payload.len() * 2];

Callers 2

workMethod · 0.45
mainFunction · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected