mirror of
https://github.com/thelsing/knx.git
synced 2025-08-31 13:47:01 +02:00
cleanup
This commit is contained in:
parent
e88d13a97f
commit
b5b0f4f0d2
@ -1,7 +1,6 @@
|
|||||||
#include "fdsk.h"
|
#include "fdsk.h"
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
// CRC-4 generator polynom: 10011 (x^4+x+1)
|
// CRC-4 generator polynom: 10011 (x^4+x+1)
|
||||||
const uint8_t FdskCalculator::crc4_tab[16] =
|
const uint8_t FdskCalculator::crc4_tab[16] =
|
||||||
@ -10,21 +9,29 @@ const uint8_t FdskCalculator::crc4_tab[16] =
|
|||||||
0xb, 0x8, 0xd, 0xe, 0x7, 0x4, 0x1, 0x2
|
0xb, 0x8, 0xd, 0xe, 0x7, 0x4, 0x1, 0x2
|
||||||
};
|
};
|
||||||
|
|
||||||
void FdskCalculator::printFdsk(uint8_t* serialNumber, uint8_t* key)
|
int FdskCalculator::snprintFdsk(char* str, int strSize, uint8_t* serialNumber, uint8_t* key)
|
||||||
{
|
{
|
||||||
char* str = generateFdskString(serialNumber, key);
|
char* tmpStr = generateFdskString(serialNumber, key);
|
||||||
|
int written = 0;
|
||||||
|
|
||||||
uint8_t len = strlen(str);
|
|
||||||
printf("FDSK(len: %d): ", len);
|
|
||||||
for (int i = 0; i < 36; i++)
|
for (int i = 0; i < 36; i++)
|
||||||
{
|
{
|
||||||
if (((i % 6) == 0) && (i!=0))
|
if (((i % 6) == 0) && (i!=0))
|
||||||
printf("-");
|
{
|
||||||
printf("%c", str[i]);
|
*(str+written++) = '-';
|
||||||
|
if (written >= strSize-1)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
*(str+written++) = tmpStr[i];
|
||||||
|
if (written >= strSize-1)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
printf("\n");
|
|
||||||
|
|
||||||
delete[] str;
|
*(str+written++) = '\0';
|
||||||
|
|
||||||
|
delete[] tmpStr;
|
||||||
|
|
||||||
|
return written;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* FdskCalculator::generateFdskString(uint8_t* serialNumber, uint8_t* key)
|
char* FdskCalculator::generateFdskString(uint8_t* serialNumber, uint8_t* key)
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
class FdskCalculator
|
class FdskCalculator
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void printFdsk(uint8_t* serialNumber, uint8_t* key);
|
int snprintFdsk(char* str, int strSize, uint8_t* serialNumber, uint8_t* key);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
char* generateFdskString(uint8_t* serialNumber, uint8_t* key);
|
char* generateFdskString(uint8_t* serialNumber, uint8_t* key);
|
||||||
|
@ -134,7 +134,9 @@ int main(int argc, char **argv)
|
|||||||
uint8_t key[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F};
|
uint8_t key[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F};
|
||||||
|
|
||||||
FdskCalculator calc;
|
FdskCalculator calc;
|
||||||
calc.printFdsk(serialNumber, key);
|
char fdskString[42]; // 6 * 6 chars + 5 dashes + nullbyte = 42
|
||||||
|
calc.snprintFdsk(fdskString, sizeof(fdskString), serialNumber, key);
|
||||||
|
printf("FDSK: %s\n", fdskString);
|
||||||
|
|
||||||
// Prevent swapping of this process
|
// Prevent swapping of this process
|
||||||
struct sched_param sp;
|
struct sched_param sp;
|
||||||
|
Loading…
Reference in New Issue
Block a user