make the code simpler

This commit is contained in:
Kuba 2023-10-30 19:56:16 +00:00
parent eb297bc731
commit 15f8b43c31
3 changed files with 7 additions and 10 deletions

View File

@ -15,10 +15,6 @@
#include "control_pipe.h"
#define CTL_BUFFER_SIZE 70
#define GPIO_PAD_0_27 (0x2C/4)
#define GPIO_PAD_28_45 (0x30/4)
static volatile uint32_t *pad_reg;
int fd;
FILE *f_ctl;
@ -26,9 +22,8 @@ FILE *f_ctl;
/*
* Opens a file (pipe) to be used to control the RDS coder, in non-blocking mode.
*/
int open_control_pipe(char *filename, volatile uint32_t *padreg)
int open_control_pipe(char *filename)
{
pad_reg = padreg;
fd = open(filename, O_RDWR | O_NONBLOCK);
if(fd == -1) return -1;
@ -129,8 +124,7 @@ ResultAndArg poll_control_pipe() {
resarg.res = CONTROL_PIPE_PTY_SET;
} else if(fifo[0] == 'P' && fifo[1] == 'W' && fifo[2] == 'R') {
int power_level = atoi(arg);
pad_reg[GPIO_PAD_0_27] = 0x5a000018 + power_level;
pad_reg[GPIO_PAD_28_45] = 0x5a000018 + power_level;
resarg.arg = (char)power_level;
printf("POWER set to: \"%s\"\n", arg);
resarg.res = CONTROL_PIPE_PWR_SET;
} else if(fifo[0] == 'R' && fifo[1] == 'T' && fifo[2] == 'B') {

View File

@ -21,6 +21,6 @@ typedef struct {
char *arg;
} ResultAndArg;
extern int open_control_pipe(char *filename, volatile uint32_t *padreg);
extern int open_control_pipe(char *filename);
extern int close_control_pipe();
extern ResultAndArg poll_control_pipe();

View File

@ -96,7 +96,7 @@ int tx(uint32_t carrier_freq, char *audio_file, uint16_t pi, char *ps, char *rt,
pad_reg = (volatile uint32_t *)map_peripheral(PAD_VIRT_BASE, PAD_LEN);
pad_reg[GPIO_PAD_0_27] = 0x5a000018 + power;
pad_reg[GPIO_PAD_28_45] = 0x5a000018 + power;
// Data structures for baseband data
float data[DATA_SIZE];
float devfreq[DATA_SIZE];
@ -189,6 +189,9 @@ int tx(uint32_t carrier_freq, char *audio_file, uint16_t pi, char *ps, char *rt,
varying_ps = 0;
} else if(pollResult.res == CONTROL_PIPE_RDS_SET) {
drds = (int)pollResult.arg;
} else if(pollResult.res == CONTROL_PIPE_PWR_SET) {
pad_reg[GPIO_PAD_0_27] = 0x5a000018 + (int)pollResult.arg;
pad_reg[GPIO_PAD_28_45] = 0x5a000018 + (int)pollResult.arg;
}
}