48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
/*
|
|
* https://ciapini.wiki.esiliati.org/index.php/Armando47/ArPhyCLI
|
|
*/
|
|
|
|
#include <stdint.h>
|
|
|
|
#include "../../mini-printf.h"
|
|
|
|
#include "../phy.h"
|
|
#include "arphy.h"
|
|
#include "arphy_cli.h"
|
|
#include "arphy_fec.h"
|
|
#include "arphy_interleaver.h"
|
|
|
|
/*
|
|
uint8_t arphy_cli_print_frame(net_packet net_pck, arnet_packet arnet_pck, uint8_t *Buffer) {
|
|
uint8_t q = 0;
|
|
return q;
|
|
}
|
|
*/
|
|
|
|
uint8_t arphy_cli_print_state(uint8_t *Buffer) {
|
|
uint8_t q = 0;
|
|
q += mini_snprintf((char*) (&Buffer[q]), 24, "%c%c%u%c%c%c%u", ARPHY_CLI_FEC_TYPE, ARPHY_CLI_KV_SEPARATOR, fec.type, ARPHY_CLI_ELEMENT_SEPARATOR, ARPHY_CLI_INTERLEAVER_TYPE, ARPHY_CLI_KV_SEPARATOR, interleaver.type);
|
|
return q;
|
|
}
|
|
|
|
// assegna
|
|
|
|
uint8_t arphy_cli_exec(uint8_t name, uint32_t value) {
|
|
uint8_t err = ARPHY_CLI_ERR_OK;
|
|
if (name == ARPHY_CLI_FEC_TYPE) {
|
|
if (value <= ARPHY_FEC_TYPE_MAX) fec.type = value;
|
|
else {
|
|
err = ARPHY_CLI_ERR_INVALID_VALUE;
|
|
}
|
|
} else if (name == ARPHY_CLI_INTERLEAVER_TYPE) {
|
|
if (value <= ARPHY_INTERLEAVER_TYPE_MAX) interleaver.type = value;
|
|
else {
|
|
err = ARPHY_CLI_ERR_INVALID_VALUE;
|
|
}
|
|
} else {
|
|
err = ARPHY_CLI_ERR_INVALID_NAME;
|
|
}
|
|
return err;
|
|
}
|
|
|