mirror of
https://codeberg.org/hkzlab/TK2048.git
synced 2026-01-03 05:09:19 +11:00
Move the CRC8 code into utility
This commit is contained in:
parent
491a37b938
commit
0f34399cca
4 changed files with 17 additions and 45 deletions
|
|
@ -51,7 +51,6 @@ static uint16_t file_load_address[FILE_LIST_LEN] = { // This will hold the load
|
|||
static void init(void);
|
||||
static void init_floppy_data(uint8_t *cur_trk, uint8_t *cur_file);
|
||||
static uint8_t fill_trksec_list(uint8_t* cur_trk);
|
||||
static uint8_t calculate_crc8(uint8_t* data, uint8_t len);
|
||||
|
||||
// Low level initialization
|
||||
static void init(void) {
|
||||
|
|
@ -117,26 +116,6 @@ static void init_floppy_data(uint8_t *cur_trk, uint8_t *cur_file) {
|
|||
if (!initialized_correctly) __asm volatile(" brk\n":::);
|
||||
}
|
||||
|
||||
#define CRC8RDALLAS_POLY 0x31
|
||||
static uint8_t calculate_crc8(uint8_t* data, uint8_t len) {
|
||||
uint8_t crc = 0;
|
||||
|
||||
for(uint8_t data_idx = 0; data_idx < len; data_idx++) {
|
||||
uint8_t carry;
|
||||
uint8_t d = data[data_idx];
|
||||
|
||||
for (uint8_t i = 8; i > 0; i--) {
|
||||
carry = (crc & 0x80);
|
||||
crc <<= 1;
|
||||
if (d & 1) crc |= 1;
|
||||
d >>= 1;
|
||||
if (carry) crc ^= CRC8RDALLAS_POLY;
|
||||
}
|
||||
}
|
||||
|
||||
return crc;
|
||||
}
|
||||
|
||||
__task int main(void) {
|
||||
uint8_t cur_trk = 0;
|
||||
uint8_t cur_file = 0;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue