fw: add working reed-solomon encoder/decoder

This commit is contained in:
jaseg 2020-05-04 21:31:31 +02:00
parent 82c1302756
commit 9918eb5053
15 changed files with 253 additions and 462 deletions

29
controller/fw/src/rslib.c Normal file
View file

@ -0,0 +1,29 @@
#include <stdint.h>
#include <string.h>
#include "rscode-config.h"
#include <ecc.h>
#include "rslib.h"
void rslib_encode(int nbits, size_t msglen, char msg[static msglen], char out[msglen + NPAR]) {
struct rscode_driver driver;
rscode_init(&driver, nbits);
rscode_encode(&driver, (unsigned char *)msg, msglen, (unsigned char *)out);
}
int rslib_decode(int nbits, size_t msglen, char msg_inout[static msglen]) {
struct rscode_driver driver;
rscode_init(&driver, nbits);
return rscode_decode(&driver, (unsigned char *)msg_inout, msglen);
}
int rslib_gexp(int z, int nbits) {
struct rscode_driver driver;
rscode_init(&driver, nbits);
return gexp(&driver, z);
}
size_t rslib_npar() {
return NPAR;
}