mirror of
https://github.com/eried/portapack-mayhem.git
synced 2025-05-08 17:55:00 -04:00
Added keyfob UI and debug functions
Fixed hex display truncated to 32 bits instead of 64 Updated binary
This commit is contained in:
parent
04c5b4d607
commit
40a71d32a2
12 changed files with 470 additions and 32 deletions
|
@ -54,5 +54,34 @@ size_t make_bitstream(std::string& fragments) {
|
|||
|
||||
return bitstream_length;
|
||||
}
|
||||
|
||||
void bitstream_append(size_t& bitstream_length, uint32_t bit_count, uint32_t bits) {
|
||||
uint8_t * bitstream = shared_memory.bb_data.data;
|
||||
uint32_t bit_mask = 1 << (bit_count - 1);
|
||||
uint32_t bit_index;
|
||||
uint8_t byte = 0;
|
||||
|
||||
if (bitstream_length & 7)
|
||||
byte = bitstream[bitstream_length >> 3];
|
||||
|
||||
bit_index = 7 - (bitstream_length & 7);
|
||||
|
||||
for (size_t i = 0; i < bit_count; i++) {
|
||||
if (bits & bit_mask)
|
||||
byte |= (1 << bit_index);
|
||||
|
||||
if (!bit_index) {
|
||||
bitstream[bitstream_length >> 3] = byte;
|
||||
byte = 0;
|
||||
}
|
||||
|
||||
bit_index = (bit_index - 1) & 7;
|
||||
bits <<= 1;
|
||||
|
||||
bitstream_length++;
|
||||
}
|
||||
|
||||
bitstream[bitstream_length >> 3] = byte;
|
||||
}
|
||||
|
||||
} /* namespace encoders */
|
||||
|
|
|
@ -35,6 +35,7 @@ namespace encoders {
|
|||
#define ENCODER_UM3750 8
|
||||
|
||||
size_t make_bitstream(std::string& fragments);
|
||||
void bitstream_append(size_t& bitstream_length, uint32_t bit_count, uint32_t bits);
|
||||
|
||||
struct encoder_def_t {
|
||||
std::string name; // Encoder chip ref/name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue