diff options
| author | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-04-11 16:22:04 +0200 |
|---|---|---|
| committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2019-04-11 16:22:04 +0200 |
| commit | eed7072d6336a3cfdc8b52eb20166529a4de4d81 (patch) | |
| tree | 1505819a1216406e6f15c4315bed93750c7ed68d /src/simulator | |
| parent | 3555e921a0c743dbc2cc10d8655827be975c61e0 (diff) | |
| download | glutte-o-matic-eed7072d6336a3cfdc8b52eb20166529a4de4d81.tar.gz glutte-o-matic-eed7072d6336a3cfdc8b52eb20166529a4de4d81.tar.bz2 glutte-o-matic-eed7072d6336a3cfdc8b52eb20166529a4de4d81.zip | |
Add some 1750 detection code to glutt-o-logic
Diffstat (limited to 'src/simulator')
| -rw-r--r-- | src/simulator/src/Audio/audio.c | 8 | ||||
| -rw-r--r-- | src/simulator/src/Audio/audio_in.c | 37 | ||||
| -rw-r--r-- | src/simulator/src/Gui/gui.c | 5 | ||||
| -rw-r--r-- | src/simulator/src/Gui/nuklear.h | 2 |
4 files changed, 34 insertions, 18 deletions
diff --git a/src/simulator/src/Audio/audio.c b/src/simulator/src/Audio/audio.c index 31f4c98..ab9773a 100644 --- a/src/simulator/src/Audio/audio.c +++ b/src/simulator/src/Audio/audio.c @@ -48,15 +48,19 @@ void audio_initialize_platform(int __attribute__ ((unused))plln, int __attribute ss.rate = rate; + fprintf(stderr, "Pulseaudio out init\n"); s = pa_simple_new(NULL, "Glutte", PA_STREAM_PLAYBACK, NULL, "playback", &ss, NULL, NULL, &error); + fprintf(stderr, "Pulseaudio %p\n", s); if (!s) { - printf("Pulseaudio playback init error\n"); + fprintf(stderr, "Pulseaudio playback init error\n"); while(1); } + TaskHandle_t task_handle; + fprintf(stderr, "Pulseaudio task\n"); xTaskCreate( audio_buffer_sender, "Audio buffer sender", @@ -64,7 +68,7 @@ void audio_initialize_platform(int __attribute__ ((unused))plln, int __attribute (void*) NULL, tskIDLE_PRIORITY + 2UL, &task_handle); - + fprintf(stderr, "Pulseaudio buffer sender created\n"); } static void audio_buffer_sender(void __attribute__ ((unused)) *args) { diff --git a/src/simulator/src/Audio/audio_in.c b/src/simulator/src/Audio/audio_in.c index 936fe1c..d17e8bc 100644 --- a/src/simulator/src/Audio/audio_in.c +++ b/src/simulator/src/Audio/audio_in.c @@ -26,15 +26,31 @@ #include <assert.h> #include <pulse/simple.h> #include "Audio/audio_in.h" +#include "Audio/tone.h" #include "FreeRTOS.h" #include "task.h" +#include "queue.h" pa_simple *s_in = NULL; +static QueueHandle_t adc2_values_queue; -static void audio_buffer_reader(void *args); +static void audio_buffer_reader(void __attribute__((unused))*args) +{ + while (1) { + int16_t buffer[AUDIO_IN_BUF_LEN]; + pa_simple_read(s_in, buffer, AUDIO_IN_BUF_LEN * sizeof(int16_t), NULL); + int success = xQueueSendToBack( + adc2_values_queue, + buffer, + portMAX_DELAY); + assert(success); + taskYIELD(); + } +} -void audio_in_initialize_plateform(int rate) { + +void audio_in_initialize(int rate) { int error; static pa_sample_spec ss = { @@ -46,9 +62,11 @@ void audio_in_initialize_plateform(int rate) { ss.rate = rate; s_in = pa_simple_new(NULL, "GlutteR", PA_STREAM_RECORD, NULL, "record", &ss, NULL, NULL, &error); - assert(s_in); + adc2_values_queue = xQueueCreate(4, AUDIO_IN_BUF_LEN); + assert(adc2_values_queue); + TaskHandle_t task_handle; xTaskCreate( audio_buffer_reader, @@ -59,13 +77,8 @@ void audio_in_initialize_plateform(int rate) { &task_handle); } -static void audio_buffer_reader(void __attribute__ ((unused)) *args) { - - while(1) { - pa_simple_read(s_in, audio_in_buffer, AUDIO_IN_BUF_LEN * 2, NULL); - audio_in_buffer_ready(); - - taskYIELD(); - } - +void audio_in_get_buffer(int16_t *buffer /*of length AUDIO_IN_BUF_LEN*/ ) +{ + while (!xQueueReceive(adc2_values_queue, buffer, portMAX_DELAY)) {} } + diff --git a/src/simulator/src/Gui/gui.c b/src/simulator/src/Gui/gui.c index fd4fe7a..f6f9ab9 100644 --- a/src/simulator/src/Gui/gui.c +++ b/src/simulator/src/Gui/gui.c @@ -152,6 +152,7 @@ int gui_in_sq_n = 1; int gui_in_u = 0; int gui_in_d = 0; int gui_in_replie = 0; +int gui_in_tone_1750 = 0; static const char *replie_status[] = {"In vent", "RepliƩ"}; int gui_in_fax_n = 1; @@ -163,8 +164,6 @@ int in_u = 0; int in_d = 0; int in_fax_n = 1; -extern int TONE_1750_DETECTED; - /** * FSM @@ -821,7 +820,7 @@ void main_gui() { nk_property_float(ctx, "V", 0.0f, &gui_measured_voltage, 24.0f, 0.5f, 0.5f); - if (TONE_1750_DETECTED) { + if (gui_in_tone_1750) { c = color_on; } else { c = color_off; diff --git a/src/simulator/src/Gui/nuklear.h b/src/simulator/src/Gui/nuklear.h index 5602251..3d10c4a 100644 --- a/src/simulator/src/Gui/nuklear.h +++ b/src/simulator/src/Gui/nuklear.h @@ -13625,7 +13625,7 @@ nk_do_color_picker(nk_flags *state, * ===============================================================*/ NK_API void nk_style_default(struct nk_context *ctx){nk_style_from_table(ctx, 0);} #define NK_COLOR_MAP(NK_COLOR)\ - NK_COLOR(NK_COLOR_TEXT, 175,175,175,255) \ + NK_COLOR(NK_COLOR_TEXT, 255,255,255,255) \ NK_COLOR(NK_COLOR_WINDOW, 45, 45, 45, 255) \ NK_COLOR(NK_COLOR_HEADER, 40, 40, 40, 255) \ NK_COLOR(NK_COLOR_BORDER, 65, 65, 65, 255) \ |
