ADD: 'lf t55xx deviceconfig' - command that allows for setting t55xx timings via the client. If run on a RDV40, it also saves the config to flashmemory. This gives you option to have custom timings for your custom antenna in order for your RDV40 to work optimal against a t55xx tag and with your custom antenna. (@iceman)

This commit is contained in:
Chris 2018-09-11 18:35:07 +02:00
commit ba2543b627
10 changed files with 185 additions and 26 deletions

View file

@ -392,7 +392,8 @@ void SendStatus(void) {
I2C_print_status();
#endif
#ifdef WITH_LF
printConfig(); //LF Sampling config
printConfig(); // LF Sampling config
printT55xxConfig(); // LF T55XX Config
#endif
printUSBSpeed();
Dbprintf("Various");
@ -625,6 +626,9 @@ void UsbPacketReceived(uint8_t *packet, int len) {
switch(c->cmd) {
#ifdef WITH_LF
case CMD_SET_LF_T55XX_CONFIG:
setT55xxConfig((t55xx_config *) c->d.asBytes);
break;
case CMD_SET_LF_SAMPLING_CONFIG:
setSamplingConfig((sample_config *) c->d.asBytes);
break;
@ -701,10 +705,11 @@ void UsbPacketReceived(uint8_t *packet, int len) {
c->d.asDwords[4], c->d.asDwords[5], c->d.asDwords[6]
);
break;
case CMD_T55XX_READ_BLOCK:
case CMD_T55XX_READ_BLOCK: {
T55xxReadBlock(c->arg[0], c->arg[1], c->arg[2]);
break;
case CMD_T55XX_WRITE_BLOCK:
}
case CMD_T55XX_WRITE_BLOCK:
T55xxWriteBlock(c->arg[0], c->arg[1], c->arg[2], c->d.asBytes[0]);
break;
case CMD_T55XX_WAKEUP:
@ -1475,6 +1480,10 @@ void __attribute__((noreturn)) AppMain(void) {
usart_init();
#endif
#ifdef WITH_FLASH
loadT55xxConfig();
#endif
// This is made as late as possible to ensure enumeration without timeout
// against device such as http://www.hobbytronics.co.uk/usb-host-board-v2
usb_disable();