kopia lustrzana https://github.com/OpenRTX/OpenRTX
Module17: implemented keyboard driver, updated display, output audio stream and platform drivers
rodzic
83b0182057
commit
4811838cb8
|
@ -205,12 +205,12 @@ streamId inputStream_start(const enum AudioSource source,
|
|||
switch(source)
|
||||
{
|
||||
case SOURCE_MIC:
|
||||
gpio_setMode(GPIOA, 2, INPUT_ANALOG);
|
||||
gpio_setMode(AUDIO_MIC, INPUT_ANALOG);
|
||||
ADC2->SQR3 = 2;
|
||||
break;
|
||||
|
||||
case SOURCE_RTX:
|
||||
gpio_setMode(GPIOA, 1, INPUT_ANALOG);
|
||||
gpio_setMode(BASEBAND_RX, INPUT_ANALOG);
|
||||
ADC2->SQR3 = 1;
|
||||
break;
|
||||
|
||||
|
|
|
@ -110,8 +110,8 @@ streamId outputStream_start(const enum AudioSink destination,
|
|||
}
|
||||
|
||||
/* Configure GPIOs */
|
||||
gpio_setMode(GPIOA, 4, INPUT_ANALOG); /* Baseband TX */
|
||||
gpio_setMode(GPIOA, 5, INPUT_ANALOG); /* Spk output */
|
||||
gpio_setMode(BASEBAND_TX, INPUT_ANALOG); /* Baseband TX */
|
||||
gpio_setMode(AUDIO_SPK, INPUT_ANALOG); /* Spk output */
|
||||
|
||||
/*
|
||||
* Enable peripherals
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
|
||||
#include <interfaces/platform.h>
|
||||
#include <interfaces/radio.h>
|
||||
#include <interfaces/gpio.h>
|
||||
#include <hwconfig.h>
|
||||
|
||||
void radio_init(const rtxStatus_t *rtxState)
|
||||
{
|
||||
|
@ -48,11 +50,12 @@ bool radio_checkRxDigitalSquelch()
|
|||
|
||||
void radio_enableRx()
|
||||
{
|
||||
gpio_clearPin(PTT_OUT);
|
||||
}
|
||||
|
||||
void radio_enableTx()
|
||||
{
|
||||
|
||||
gpio_setPin(PTT_OUT);
|
||||
}
|
||||
|
||||
void radio_disableRtx()
|
||||
|
|
|
@ -80,9 +80,9 @@ void display_init()
|
|||
gpio_clearPin(LCD_RS);
|
||||
|
||||
gpio_clearPin(LCD_RST); /* Reset controller */
|
||||
delayMs(1);
|
||||
delayMs(50);
|
||||
gpio_setPin(LCD_RST);
|
||||
delayMs(5);
|
||||
delayMs(50);
|
||||
|
||||
gpio_clearPin(LCD_CS);
|
||||
|
||||
|
|
|
@ -28,7 +28,12 @@
|
|||
|
||||
void kbd_init()
|
||||
{
|
||||
|
||||
gpio_setMode(ESC_SW, INPUT);
|
||||
gpio_setMode(ENTER_SW, INPUT);
|
||||
gpio_setMode(LEFT_SW, INPUT);
|
||||
gpio_setMode(RIGHT_SW, INPUT);
|
||||
gpio_setMode(UP_SW, INPUT);
|
||||
gpio_setMode(DOWN_SW, INPUT);
|
||||
}
|
||||
|
||||
void kbd_terminate()
|
||||
|
@ -39,5 +44,13 @@ void kbd_terminate()
|
|||
keyboard_t kbd_getKeys()
|
||||
{
|
||||
keyboard_t keys = 0;
|
||||
|
||||
if(gpio_readPin(ENTER_SW) == 1) keys |= KEY_ESC;
|
||||
if(gpio_readPin(ESC_SW) == 1) keys |= KEY_ENTER;
|
||||
if(gpio_readPin(LEFT_SW) == 1) keys |= KEY_LEFT;
|
||||
if(gpio_readPin(RIGHT_SW) == 1) keys |= KEY_RIGHT;
|
||||
if(gpio_readPin(UP_SW) == 1) keys |= KEY_UP;
|
||||
if(gpio_readPin(DOWN_SW) == 1) keys |= KEY_DOWN;
|
||||
|
||||
return keys;
|
||||
}
|
||||
|
|
|
@ -55,4 +55,21 @@
|
|||
#define SPI2_SDO GPIOB,14
|
||||
#define SPI2_SDI GPIOB,15
|
||||
|
||||
/* Keyboard */
|
||||
#define ESC_SW GPIOD,1
|
||||
#define RIGHT_SW GPIOD,2
|
||||
#define UP_SW GPIOD,3
|
||||
#define DOWN_SW GPIOD,4
|
||||
#define LEFT_SW GPIOB,9
|
||||
#define ENTER_SW GPIOB,8
|
||||
|
||||
#define PTT_SW GPIOD,8
|
||||
#define PTT_OUT GPIOD,10
|
||||
|
||||
/* Audio */
|
||||
#define AUDIO_MIC GPIOA,2
|
||||
#define AUDIO_SPK GPIOA,5
|
||||
#define BASEBAND_RX GPIOA,1
|
||||
#define BASEBAND_TX GPIOA,4
|
||||
|
||||
#endif
|
||||
|
|
|
@ -34,6 +34,10 @@ void platform_init()
|
|||
gpio_setMode(PTT_LED, OUTPUT);
|
||||
gpio_setMode(SYNC_LED, OUTPUT);
|
||||
gpio_setMode(ERR_LED, OUTPUT);
|
||||
|
||||
gpio_setMode(PTT_SW, INPUT);
|
||||
gpio_setMode(PTT_OUT, OUTPUT);
|
||||
gpio_clearPin(PTT_OUT);
|
||||
}
|
||||
|
||||
void platform_terminate()
|
||||
|
@ -66,12 +70,13 @@ int8_t platform_getChSelector()
|
|||
|
||||
bool platform_getPttStatus()
|
||||
{
|
||||
return false;
|
||||
/* PTT line has a pullup resistor with PTT switch closing to ground */
|
||||
return (gpio_readPin(PTT_SW) == 0) ? true : false;
|
||||
}
|
||||
|
||||
bool platform_pwrButtonStatus()
|
||||
{
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void platform_ledOn(led_t led)
|
||||
|
|
Ładowanie…
Reference in New Issue