diff options
author | Uros Majstorovic <majstor@majstor.org> | 2022-09-04 18:39:21 +0200 |
---|---|---|
committer | Uros Majstorovic <majstor@majstor.org> | 2022-09-04 18:39:21 +0200 |
commit | d894eb01e9c979d0eb51f9495a7cf7281c213302 (patch) | |
tree | 9849af7b4c62cc22e61ff7e51c0169674d073986 /fw/fe310/test/phone.c | |
parent | fc98d3809e0db36d634f290417b9152f87f83e3e (diff) |
removed old test
Diffstat (limited to 'fw/fe310/test/phone.c')
-rw-r--r-- | fw/fe310/test/phone.c | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/fw/fe310/test/phone.c b/fw/fe310/test/phone.c deleted file mode 100644 index 06b24fd..0000000 --- a/fw/fe310/test/phone.c +++ /dev/null @@ -1,119 +0,0 @@ -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> - -#include <eos.h> -#include <soc/i2s.h> -#include <dev/net.h> -#include <net/cell.h> - -#include <eve/eve.h> -#include <eve/eve_kbd.h> -#include <eve/eve_font.h> - -#include <eve/screen/window.h> -#include <eve/screen/page.h> -#include <eve/screen/form.h> - -#include "app/app_root.h" -#include "app/app_status.h" - -#include "phone.h" - -#define ABUF_SIZE 128 -#define MIC_WM 64 - -static uint8_t mic_arr[ABUF_SIZE]; -static uint8_t spk_arr[ABUF_SIZE]; - -#define VOICE_STATE_IDLE 0 -#define VOICE_STATE_DIAL 1 -#define VOICE_STATE_RING 2 -#define VOICE_STATE_CIP 3 - -static unsigned char voice_state = 0; - -static void handle_mic(unsigned char type) { - uint16_t size; - unsigned char *buf = eos_net_alloc(); - - buf[0] = EOS_CELL_MTYPE_VOICE_PCM; - size = eos_i2s_mic_read(buf + 1, MIC_WM); - eos_net_send_async(EOS_NET_MTYPE_CELL, buf, size + 1, 0); -} - -static void cell_voice_handler(unsigned char type, unsigned char *buffer, uint16_t len) { - char msg[128]; - - msg[0] = 0; - switch (type) { - case EOS_CELL_MTYPE_VOICE_RING: - voice_state = VOICE_STATE_RING; - sprintf(msg, "RING:%s", buffer+1); - break; - - case EOS_CELL_MTYPE_VOICE_MISS: - voice_state = VOICE_STATE_IDLE; - break; - - case EOS_CELL_MTYPE_VOICE_BEGIN: - printf("VOICE BEGIN\n"); - voice_state = VOICE_STATE_CIP; - eos_i2s_mic_init(mic_arr, ABUF_SIZE); - eos_i2s_mic_set_wm(MIC_WM); - eos_i2s_mic_set_handler(handle_mic); - eos_i2s_spk_init(spk_arr, ABUF_SIZE); - eos_i2s_start(8000, EOS_I2S_FMT_PCM16); - break; - - case EOS_CELL_MTYPE_VOICE_END: - voice_state = VOICE_STATE_IDLE; - eos_i2s_stop(); - break; - - case EOS_CELL_MTYPE_VOICE_PCM: - if (voice_state == VOICE_STATE_CIP) { - eos_i2s_spk_write(buffer+1, len-1); - } - break; - } - app_status_msg_set(msg, 1); - eos_net_free(buffer, 0); -} - -void app_phone(EVEWindow *window, EVEViewStack *stack) { - EVEFormSpec spec[] = { - { - .label.title = "Phone:", - - .widget.type = EVE_WIDGET_TYPE_STR, - .widget.tspec.str.str_size = 128, - }, - }; - - EVEForm *form = eve_form_create(window, stack, spec, 1, NULL, app_phone_action, NULL); -} - -void app_phone_action(EVEForm *form) { - char msg[128]; - EVEStrWidget *w = (EVEStrWidget *)eve_page_widget(&form->p, 0); - unsigned char *buf = eos_net_alloc(); - - buf[0] = EOS_CELL_MTYPE_VOICE | EOS_CELL_MTYPE_VOICE_DIAL; - strcpy(buf + 1, w->str); - eos_net_send_async(EOS_NET_MTYPE_CELL, buf, 1 + strlen(w->str), 0); - - voice_state = VOICE_STATE_DIAL; - sprintf(msg, "DIAL:%s", w->str); - app_status_msg_set(msg, 0); -} - -void app_phone_init(void) { - eos_cell_set_handler(EOS_CELL_MTYPE_VOICE, cell_voice_handler); - eos_net_acquire_for_evt(EOS_EVT_I2S | EOS_I2S_ETYPE_MIC, 1); -} - -unsigned char app_phone_state_get(void) { - return voice_state; -} |