everblu-meters/radian_trx.c
2022-02-08 20:51:37 +01:00

84 lines
2.4 KiB
C

/* the radian_trx SW shall not be distributed nor used for commercial product*/
/* it is exposed just to demonstrate CC1101 capability to reader water meter indexes */
/* there is no Warranty on radian_trx SW */
#include "radian_trx.h"
/**********************************************************************/
/* initialization */
/**********************************************************************/
void IO_init(void)
{
wiringPiSetup () ;
pinMode (LED, OUTPUT);
digitalWrite (LED, 1) ;
pinMode (GDO2, INPUT);
pinMode (GDO0, INPUT);
cc1101_init();
digitalWrite (LED, 0) ;
}
/**********************************************************************/
/* MAIN */
/**********************************************************************/
void display_command_help (void)
{
printf("\r\ncommand list :\r\n");
printf("exit:x ;cc1101 version:v; read config : c\r\n");
printf("m:MARCSTATE a:MCSM1_val s:full_status\r\n");
printf("H:scenario de l'outil de reléve !\r\n");
printf("R:Reset CC1101\r\n\r\n");
}
int main(int argc, char *argv[])
{
char c_command;
uint8_t ret8;
fflush(stdout);
IO_init();
//printf("argc=%i\r\n",argc);
//printf("argv=%i\r\n",argv[0]);
if (argc == 2) // if one parameters
{
debug_out=0;
ret8=scenario_releve();
if (ret8 < 30)
{
sleep(3);
ret8=scenario_releve();
if (ret8 < 30)
{
sleep(3);
ret8=scenario_releve();
}
}
//test_rx();
return 0;
}
if (debug_out)printf("raspian radian trx builded:%s %s\r\n",DateOFCompil,TimeOFCompil);
if (debug_out)display_command_help();
c_command = getch();
while (c_command != 'x')
{
switch (c_command)
{
case 'a': printf("MCSM1: 0x%02X\r\n", halRfReadReg(MCSM1));break;
case 'H': ret8=scenario_releve(); break; //scenario de l'outil de reléve !
case 'R': cc1101_reset();break;
case 's': echo_cc1101_full_status();break;
case 'm': echo_cc1101_MARCSTATE(); break;
case 'c': show_cc1101_registers_settings(); break;
case 'v': echo_cc1101_version(); break;
case '?': display_command_help(); break;
default : break;
} //switch c_command
c_command = getch();
}// while command
return 0;
}