fw: add working reed-solomon encoder/decoder
This commit is contained in:
parent
82c1302756
commit
9918eb5053
15 changed files with 253 additions and 462 deletions
29
controller/fw/src/rslib.c
Normal file
29
controller/fw/src/rslib.c
Normal 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;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue