Change test makefile.
Change-Id: I27eef2cdb86b220dd03e9be79d5bef7f9303258b
diff --git a/mbtk/test/Makefile b/mbtk/test/Makefile
index 89ccbdf..28cd0b4 100755
--- a/mbtk/test/Makefile
+++ b/mbtk/test/Makefile
@@ -1,51 +1,24 @@
ROOT = $(shell pwd)/../..
include ../Make.defines
-LOCAL_PATH=$(BUILD_ROOT)/test
+#exclude_dirs := include bin
+#test_dirs := $(shell find . -maxdepth 1 -type d)
+#test_dirs := $(basename $(patsubst ./%,%,$(test_dirs)))
+#test_dirs := $(filter-out $(exclude_dirs),$(test_dirs))
-INC_DIR +=
-
-LIB_DIR +=
-
-LIBS += -lmbtk_lib -llynq_lib -lql_lib -lmbtk_mqtt -laudio-apu -lcutils -ltinyalsa -lacm -lubus -lubox -lmbtk_fota -lmbtk_audio -lmbtk_ril -lmbtk_factory -lmbtk_net -lmbtk_gnss -lmbtk_http -lmbtk_ftp -lmbtk_tcpip \
- -lmbtk_coap
-
-CFLAGS +=
-
-DEFINE +=
-
-MY_FILES_PATH:=$(LOCAL_PATH)
-#ifeq ($(CONFIG_MBTK_QL_SUPPORT),y)
-#MY_FILES_PATH += $(LOCAL_PATH)/ql
-#endif
-
-#ifeq ($(CONFIG_MBTK_PLATFORM),linux)
-#MY_FILES_PATH += $(LOCAL_PATH)/platform/linux
-#endif
-
-LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
-ifeq ($(BUILD_PLATFORM), asr1803)
-LOCAL_SRC_FILES += $(wildcard asr1803/*.c) $(wildcard asr1803/*.cpp)
-else
-LOCAL_SRC_FILES += $(wildcard asr1806/*.c) $(wildcard asr1806/*.cpp)
-endif
-
-$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
-
-OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
-BINS = $(patsubst %.o,%,$(OBJS))
-
-all: $(BINS)
-
-$(BINS):$(OBJS)
- @echo " BIN $@"
- $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
-
-%.o:%.c
- $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
-
-%.o:%.cpp
- $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+SUBDIRS := $(wildcard */)
+SUBDIRS_WITH_MAKEFILES := $(foreach dir,$(SUBDIRS),$(if $(wildcard $(dir)Makefile),$(dir),))
+
+all:
+ @echo DIR=$(SUBDIRS_WITH_MAKEFILES)
+ @for dir in $(SUBDIRS_WITH_MAKEFILES); do \
+ echo "Building $$dir"; \
+ $(MAKE) -C $$dir || exit 1; \
+ done
clean:
- rm -f $(OBJS)
+ @echo DIR=$(SUBDIRS_WITH_MAKEFILES)
+ @for i in $(SUBDIRS_WITH_MAKEFILES); do \
+ (cd $$i && echo "Cleaning $$i" && $(MAKE) clean) || exit 1; \
+ done
+ rm -rf $(OUT_DIR)
diff --git a/mbtk/test/asr1803/aiti_audio_test.c b/mbtk/test/asr1803/aiti_audio_test.c
deleted file mode 100755
index 0472c9a..0000000
--- a/mbtk/test/asr1803/aiti_audio_test.c
+++ /dev/null
@@ -1,538 +0,0 @@
-#include "mbtk_type.h"
-#include <fcntl.h>
-#include <stdint.h>
-#include <limits.h>
-#include <termios.h>
-#include <stdarg.h>
-// #include "ql_at.h"
-#include "ql/ql_audio.h"
-// #include "mopen_tts.h"
-
-#define MBTK_AUD_DEMO_WAV "/data/demo.wav"
-
-#define MBTK_AUD_DEMO_WAV1 "/data/demo1.wav"
-
-
-int play_hdl = 0;
-static int record_fd = 0;
-
-
-int Ql_cb_playback(int hdl, int result)
-{
- printf("%s: hdl=%d, result=%d\n\r", __func__, hdl, result);
- if (result == AUD_PLAYER_FINISHED || result == AUD_PLAYER_NODATA)
- {
- printf("%s: play finished\n\r", __func__);
- }
- return 0;
-}
-
-void record_cb_func(int cb_result, char* databuf, unsigned int len)
-{
- int rc;
-
- if(NULL != databuf && len > 0 && record_fd > 0)
- {
- //for debug:save into file
- rc = write(record_fd, databuf, len);
- if (rc < 0) {
- printf("%s: error writing to file!\n", __FUNCTION__);
- } else if (rc < len) {
- printf("%s: wrote less the buffer size!\n", __FUNCTION__);
- }
- }
-}
-
-
-int MBTK_wav_pcm16Le_check(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr))
- {
- printf("\n%s: cannot read header\n", __FUNCTION__);
- return -1;
- }
-
- printf("hdr.riff_id:%X, hdr.riff_fmt:%X, hdr.fmt_id:%X", hdr.riff_id, hdr.riff_fmt, hdr.fmt_id);
-
- if ((hdr.riff_id != ID_RIFF)
- || (hdr.riff_fmt != ID_WAVE)
- || (hdr.fmt_id != ID_FMT))
- {
- printf("\n%s: is not a riff/wave file\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.audio_format != FORMAT_PCM) || (hdr.fmt_sz != 16)) {
- printf("\n%s: is not pcm format\n", __FUNCTION__);
- return -1;
- }
-
- if (hdr.bits_per_sample != 16) {
- printf("\n%s: is not 16bit per sample\n", __FUNCTION__);
- return -1;
- }
-
- printf("audio_format: %d,num_channels: %d,sample_rate: %d,byte_rate: %d,bits_per_sample: %d data_sz: %d\n",
- hdr.audio_format, hdr.num_channels, hdr.sample_rate, hdr.byte_rate, hdr.bits_per_sample, hdr.data_sz);
-
- return hdr.data_sz;
-}
-
-int MBTK_wav_pcm16Le_set(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- memset(&hdr, 0, sizeof(struct wav_header));
-
- hdr.riff_id = ID_RIFF;
- hdr.riff_fmt = ID_WAVE;
- hdr.fmt_id = ID_FMT;
- hdr.fmt_sz = 16;
- hdr.audio_format = FORMAT_PCM;
- hdr.num_channels = 1;
- hdr.sample_rate = 8000;
- hdr.bits_per_sample = 16;
- hdr.byte_rate = (8000 * 1 * hdr.bits_per_sample) / 8;
- hdr.block_align = (hdr.bits_per_sample * 1) / 8;
- hdr.data_id = ID_DATA;
- hdr.data_sz = 0;
-
- hdr.riff_sz = hdr.data_sz + 44 - 8;
- if (write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) {
- return -1;
- }
-
- return 0;
-}
-
-unsigned char* handle_file1(char *audioFilePath)
-{
- long filesize;
- unsigned char *pcmBuf = NULL;
- FILE *fp = NULL;
- int size;
-
- // 处理文件格式
- fp = fopen(audioFilePath, "rb");
- if (!fp) {
- printf("%s:fopen failed",__func__);
- }
-
- fseek(fp,0,SEEK_END);
- filesize=ftell(fp);
- printf("%s:filesize:%d\n", __func__, filesize);
- fseek(fp,44,SEEK_SET);
- pcmBuf =(unsigned char *)malloc(sizeof(char)*filesize);
- memset(pcmBuf,0,sizeof(char)*filesize);
-// fread(pcmBuf, filesize-44,1, fp);
- fread(pcmBuf, 1, filesize-44, fp);
- fclose(fp);
-
- printf("strlen(pcmBuf):%d\n", strlen(pcmBuf));
-
- return pcmBuf;
-}
-
-void *audio_thread(void *arg)
-{
- printf("audio_thread(1)----------\n");
- Ql_Playback_Samprate_Set(1);
- int play_hdl = 0;
- int fd = 0;
- int ret;
- int file_size =0;
- int file_size1 =0;
- unsigned char *pcmBuf = NULL;
- unsigned char *pcmBuf1 = NULL;
-
- play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- if(0 == play_hdl)
- {
- printf("Ql_AudPlayer_Open fail\n");
- }
-
- fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- {
- printf("Open fail\n");
- }
-
- int fd1 = open(MBTK_AUD_DEMO_WAV1, O_RDWR);
- printf("fd1:%d\n", fd1);
- if (fd1 <= 0)
- {
- printf("Open fail\n");
- }
-
- file_size = MBTK_wav_pcm16Le_check(fd);
-
- file_size1 = MBTK_wav_pcm16Le_check(fd1);
- printf("file_size:%d, file_size1:%d\n", file_size, file_size1);
-
- pcmBuf = handle_file1(MBTK_AUD_DEMO_WAV);
-
- pcmBuf1 = handle_file1(MBTK_AUD_DEMO_WAV1);
-
- if(file_size > 0 && file_size1 > 0 )
- {
- if(pcmBuf != NULL)
- {
- ret = Ql_AudPlayer_Play(play_hdl, pcmBuf, file_size);
- printf("ret:%d\n", ret);
- }
-
- Ql_Rxgain_Set(3);
- if(pcmBuf1 != NULL)
- {
- ret = Ql_AudPlayer_Play(play_hdl, pcmBuf1, file_size1);
- printf("ret:%d\n", ret);
- }
-
- }
-
- Ql_AudPlayer_Close(play_hdl);
- close(fd);
- close(fd1);
- return 0;
-}
-
-
-void *audio_play_file_thread(void *arg)
-{
- char operator[10];
-
- int fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- return 0;
-
- int fd1 = open(MBTK_AUD_DEMO_WAV1, O_RDWR);
- if (fd1 <= 0)
- return 0;
-
- Ql_AudPlayer_PlayFrmFile(play_hdl, fd, 0);
-
- Ql_Rxgain_Set(3);
-
- Ql_AudPlayer_PlayFrmFile(play_hdl, fd1, 0);
-
- close(fd);
- close(fd1);
-
- return 0;
-}
-
-
-int aplay_thread(char *audioFilePath)
-{
- int res;
- pthread_t play_thread;
-
- res = pthread_create(&play_thread, NULL, audio_thread, audioFilePath);
- if (res != 0) {
- printf("%s:pthread_create failed",__func__);
- return 0;
- }
-
- return 0;
-}
-
-
-int aplay_file_thread(int play_hdl)
-{
- int res;
- pthread_t play_thread;
- int hdl = play_hdl;
-
- res = pthread_create(&play_thread, NULL, audio_play_file_thread, &hdl);
- if (res != 0) {
- printf("%s:pthread_create failed",__func__);
- return 0;
- }
-
- return 0;
-}
-
-
-
-void aplay(void)
-{
- char operator[10];
- char databuf[1024];
- int opt = 0;
- int fd = 0;
- int size = 0;
- int state;
- int handler = 0;
- int file_size = 0 ;
-
- while(1)
- {
- printf("=========aplay========2\n"
- "\t 0 Open PCM\n"
- "\t 1 Play Stream\n"
- "\t 2 Play file\n"
- "\t 3 Close\n"
- "\t 4 play stream thread\n"
- "\t 5 pause\n"
- "\t 6 repause\n"
- "\t 7 play file thread\n"
- "\t 8 play mp3\n"
- "\t others exit\n\n"
- "operator >> ");
-
- fflush(stdin);
- fgets(operator, sizeof(operator), stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- Ql_Playback_Samprate_Set(1);
- play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- if(0 == play_hdl)
- printf("Ql_AudPlayer_Open fail\n");
-
- printf("\nplay_hdl:%d\n", play_hdl);
- break;
- case 1:
- if(0 == play_hdl)
- continue;
-
- fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- continue;
-
- file_size = MBTK_wav_pcm16Le_check(fd);
- printf("file_size:%d\n", file_size);
- if(file_size > 0 )
- {
- unsigned char *pcmBuf = NULL;
- char *p1 = pcmBuf;
- pcmBuf = handle_file1(MBTK_AUD_DEMO_WAV);
- if(pcmBuf != NULL)
- {
- if(-1 == Ql_AudPlayer_Play(play_hdl, pcmBuf, file_size))
- printf("\n------\n");
- }
-
- }
-
-// Ql_Rxgain_Set(5);
-
- close(fd);
- break;
- case 2:
- if(0 == play_hdl)
- continue;
-
- fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- continue;
-
- if(1)
- {
- Ql_AudPlayer_PlayFrmFile(play_hdl, fd, 44);
- }
- else
- {
- printf("aplay file type error\n");
- }
- close(fd);
- break;
- case 3:
- if(0 == play_hdl)
- continue;
- Ql_AudPlayer_Close(play_hdl);
- break;
- case 4:
- aplay_thread(MBTK_AUD_DEMO_WAV);
- break;
- case 5:
- if(0 == play_hdl)
- continue;
- Ql_AudPlayer_Pause(play_hdl);
- break;
- case 6:
- if(0 == play_hdl)
- continue;
- Ql_AudPlayer_Resume(play_hdl);
- break;
- case 7:
- if(0 == play_hdl)
- continue;
- aplay_file_thread(play_hdl);
- break;
- case 8:
- // Ql_Mp3_To_Wav("/data/demo.wav", "/data/mp3demo.mp3", play_hdl);
- Ql_Mp3_To_Play("/data/mp3demo.mp3", play_hdl, 0);
- break;
- default:
- return;
- }
-
- sleep(1);
- }
-
- printf("aplay exit\n");
- return ;
-}
-void arec(void)
-{
- int ret;
- char operator[10];
- int opt;
- int hdl = 0;
-
- while(1)
- {
- printf("=======arec======\n"
- "\t 0 Open PCM\n"
- "\t 1 Start Record\n"
- "\t 2 Get state\n"
- "\t 3 Pause\n"
- "\t 4 Resume\n"
- "\t 5 Stop\n"
- "\t 6 Close\n"
- "\t others exit\n\n"
- "operator >> ");
-
- fflush(stdin);
- fgets(operator, sizeof(operator), stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- Ql_Playback_Samprate_Set(0);
- hdl = Ql_AudRecorder_Open(NULL, record_cb_func);
- if (hdl == 0)
- return ;
- break;
- case 1:
- if(0 == hdl)
- {
- printf("audio is not initialized yet.\n");
- continue;
- }
-
- if(0 != record_fd)
- {
- printf("audio It's already being recorded.\n");
- continue;
- }
- record_fd = open(MBTK_AUD_DEMO_WAV, O_RDWR|O_CREAT|O_TRUNC, 0644);
- if (record_fd <= 0)
- printf("file open error\n");
-
- if(0 == MBTK_wav_pcm16Le_set(record_fd))
- {
- ret = Ql_AudRecorder_StartRecord();
- if(0 != ret)
- {
- printf("audio record error: %d\n", ret);
- close(record_fd);
- record_fd = 0;
- }
- }
- else
- {
- printf("arec set file header error\n");
- close(record_fd);
- record_fd = 0;
- }
- break;
- case 2:
- // printf("arec state : %d\n", state);
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- break;
- case 6:
- Ql_AudRecorder_Close();
- if(record_fd > 0)
- {
- close(record_fd);
- record_fd = 0;
- }
- break;
- default:
- return;
- }
-
- sleep(1);
- }
-
- printf("arec exit\n");
- return ;
-}
-int main(void)
-{
- char operator[10];
- int opt;
-
-// printf("Ql_Mp3_To_Wav()\n");
-// mbtk_audio_mp3_to_wav("/data/demo.wav", "/data/mp3demo.mp3");
- // Ql_Mp3_To_Wav("/data/demo.wav", "/data/mp3demo.mp3");
-
- while(1)
- {
- printf("=========audio main=========\n"
- "\t0 exit\n"
- "\t1 aplay\n"
- "\t2 arec\n"
- "\t3 set speaker Volume\n"
- "\t4 get speaker Volume\n"
- "\t5 set mic Volume\n"
- "\t6 get mic Volume\n"
- "\t7 tts\n"
- "\t8 tone\n"
- "operator: >> ");
-
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- printf("main exit\n");
- return 0;
- case 1:
- aplay();
- break;
- case 2:
- arec();
- break;
- case 3:
- mbtk_at_rec(NULL);
- break;
- case 4:
- mbtk_at_play(NULL);
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- default:
- break;
- }
-
- sleep(1);
- }
-
- return 0;
-}
-
-
diff --git a/mbtk/test/asr1803/audio_play_test.c b/mbtk/test/asr1803/audio_play_test.c
deleted file mode 100755
index a954734..0000000
--- a/mbtk/test/asr1803/audio_play_test.c
+++ /dev/null
@@ -1,213 +0,0 @@
-#include "mbtk_type.h"
-#include <fcntl.h>
-#include <stdint.h>
-#include <limits.h>
-#include <termios.h>
-#include <stdarg.h>
-#include <pthread.h>
-#include <sys/stat.h>
-#include <unistd.h>
-#include "ql/ql_audio.h"
-
-static pthread_t play_thread_play;
-int play_hdl = 0;
-int handler = 0;
-int fd = -1;
-
-int Ql_cb_playback(int hdl, int result)
-{
- // printf("%s: hdl=%d, result=%d\n\r", __func__, hdl, result);
- if (result == AUD_PLAYER_FINISHED || result == AUD_PLAYER_NODATA)
- {
- printf("%s: play finished\n\r", __func__);
- }
- return 0;
-}
-
-
-void dtmf_cb1(char dtmf)
-{
- printf("%s:%c\n", __FUNCTION__, dtmf);
-}
-
-int MBTK_wav_pcm16Le_check(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr))
- {
- printf("\n%s: cannot read header\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.riff_id != ID_RIFF)
- || (hdr.riff_fmt != ID_WAVE)
- || (hdr.fmt_id != ID_FMT))
- {
- printf("\n%s: is not a riff/wave file\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.audio_format != FORMAT_PCM) || (hdr.fmt_sz != 16)) {
- printf("\n%s: is not pcm format\n", __FUNCTION__);
- return -1;
- }
-
- if (hdr.bits_per_sample != 16) {
- printf("\n%s: is not 16bit per sample\n", __FUNCTION__);
- return -1;
- }
-
- return 0;
-}
-
-int MBTK_wav_pcm16Le_set(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- memset(&hdr, 0, sizeof(struct wav_header));
-
- hdr.riff_id = ID_RIFF;
- hdr.riff_fmt = ID_WAVE;
- hdr.fmt_id = ID_FMT;
- hdr.fmt_sz = 16;
- hdr.audio_format = FORMAT_PCM;
- hdr.num_channels = 1;
- hdr.sample_rate = 8000;
- hdr.bits_per_sample = 16;
- hdr.byte_rate = (8000 * 1 * hdr.bits_per_sample) / 8;
- hdr.block_align = (hdr.bits_per_sample * 1) / 8;
- hdr.data_id = ID_DATA;
- hdr.data_sz = 0;
-
- hdr.riff_sz = hdr.data_sz + 44 - 8;
- if (write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) {
- return -1;
- }
-
- return 0;
-}
-
-static void audio_play_thread(void *arg)
-{
- Ql_AudPlayer_PlayFrmFile(play_hdl, fd, 0);
-}
-
-
-int main(int argc, char* argv[])
-{
- if(argc != 2) {
- printf("audio_play_test <wav_file>\n");
- return -1;
- }
-
- struct stat st;
- const char *path = (const char *)argv[1];
- // mbtk_log_init("radio", "MBTK_AUDIO");
-
- /* Check and open source file */
- if (access(path, F_OK) || stat(path, &st)) {
- printf("%s: error reading from file %s\n", __FUNCTION__, path);
- return -1;
- }
-
- if (!st.st_size) {
- printf("%s: empty file %s\n", __FUNCTION__, path);
- return -1;
- }
-
- printf("1\n");
- mbtk_audio_ubus_client_init(&handler, dtmf_cb1);
- printf("2\n");
- mbtk_audio_switch_pcm(1);
- printf("3\n");
- mbtk_audio_mode_set(2);
- printf("4\n");
- play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- printf("5\n");
- if(0 == play_hdl) {
- printf("Ql_AudPlayer_Open fail\n");
- return -1;
- }
-
- char cmd[100];
- bool running = TRUE;
- printf("6\n");
- while(running)
- {
- memset(cmd, 0, 100);
- int err;
- printf("1 : Play Other : Exit\n");
- if(fgets(cmd, 100, stdin))
- {
- if(cmd[0] == '\r' || cmd[0] == '\n')
- continue;
- int state = atoi(cmd);
- switch(state){
- case 1:
- {
- if(0 == play_hdl)
- break;
- fd = open(argv[1], O_RDONLY);
- if (fd <= 0) {
- printf("Open file fail.\n");
- goto exit;
- }
-
- mbtk_audio_path_enable(1);
- if(0 == MBTK_wav_pcm16Le_check(fd))
- {
- pthread_attr_t thread_attr;
- pthread_attr_init(&thread_attr);
- if(pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED))
- {
- printf("pthread_attr_setdetachstate() fail.\n");
- goto exit;
- }
-
- if (pthread_create(&play_thread_play, NULL, (void *)&audio_play_thread, NULL) < 0) {
- printf("%s: error creating thread_play!\n", __FUNCTION__);
- goto exit;
- }
-
- printf("Start play audio...\n");
- }
- else
- {
- printf("aplay file type error\n");
- goto exit;
- }
- break;
- }
- default:
- {
- if(0 == play_hdl)
- break;
- Ql_AudPlayer_Close(play_hdl);
- running = FALSE;
- break;
- }
- }
- }
- }
-
-exit:
- if(fd > 0) {
- close(fd);
- }
- mbtk_audio_path_enable(0);
-
- mbtk_audio_mode_set(0);
- mbtk_audio_switch_pcm(0);
-
-
- printf("Success exit.\n");
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/audio_test.c b/mbtk/test/asr1803/audio_test.c
deleted file mode 100755
index d8121ee..0000000
--- a/mbtk/test/asr1803/audio_test.c
+++ /dev/null
@@ -1,342 +0,0 @@
-#include "mbtk_type.h"
-#include <fcntl.h>
-#include <stdint.h>
-#include <limits.h>
-#include <termios.h>
-#include <stdarg.h>
-// #include "ql_at.h"
-#include "ql/ql_audio.h"
-// #include "mopen_tts.h"
-
-#define MBTK_AUD_DEMO_WAV "/data/demo.wav"
-
-static int record_fd = 0;
-
-int Ql_cb_playback(int hdl, int result)
-{
- printf("%s: hdl=%d, result=%d\n\r", __func__, hdl, result);
- if (result == AUD_PLAYER_FINISHED || result == AUD_PLAYER_NODATA)
- {
- printf("%s: play finished\n\r", __func__);
- }
- return 0;
-}
-
-void record_cb_func(int cb_result, char* databuf, unsigned int len)
-{
- int rc;
-
- if(NULL != databuf && len > 0 && record_fd > 0)
- {
- //for debug:save into file
- rc = write(record_fd, databuf, len);
- if (rc < 0) {
- printf("%s: error writing to file!\n", __FUNCTION__);
- } else if (rc < len) {
- printf("%s: wrote less the buffer size!\n", __FUNCTION__);
- }
- }
-}
-int MBTK_wav_pcm16Le_check(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr))
- {
- printf("\n%s: cannot read header\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.riff_id != ID_RIFF)
- || (hdr.riff_fmt != ID_WAVE)
- || (hdr.fmt_id != ID_FMT))
- {
- printf("\n%s: is not a riff/wave file\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.audio_format != FORMAT_PCM) || (hdr.fmt_sz != 16)) {
- printf("\n%s: is not pcm format\n", __FUNCTION__);
- return -1;
- }
-
- if (hdr.bits_per_sample != 16) {
- printf("\n%s: is not 16bit per sample\n", __FUNCTION__);
- return -1;
- }
-
- return 0;
-}
-
-int MBTK_wav_pcm16Le_set(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- memset(&hdr, 0, sizeof(struct wav_header));
-
- hdr.riff_id = ID_RIFF;
- hdr.riff_fmt = ID_WAVE;
- hdr.fmt_id = ID_FMT;
- hdr.fmt_sz = 16;
- hdr.audio_format = FORMAT_PCM;
- hdr.num_channels = 1;
- hdr.sample_rate = 8000;
- hdr.bits_per_sample = 16;
- hdr.byte_rate = (8000 * 1 * hdr.bits_per_sample) / 8;
- hdr.block_align = (hdr.bits_per_sample * 1) / 8;
- hdr.data_id = ID_DATA;
- hdr.data_sz = 0;
-
- hdr.riff_sz = hdr.data_sz + 44 - 8;
- if (write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) {
- return -1;
- }
-
- return 0;
-}
-void aplay(void)
-{
- char operator[10];
- char databuf[1024];
- int opt = 0;
- int fd = 0;
- int size = 0;
- int state;
- int play_hdl = 0;
-
- while(1)
- {
- printf("=========aplay========\n"
- "\t 0 Open PCM\n"
- "\t 1 Play Stream\n"
- "\t 2 Play file\n"
- "\t 3 play mp3\n"
- "\t 4 Close Player\n"
- "\t 5 exit\n"
- "\t others exit\n\n"
- "operator >> ");
-
- fflush(stdin);
- fgets(operator, sizeof(operator), stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- if(0 == play_hdl)
- printf("Ql_AudPlayer_Open fail\n");
- break;
- case 1:
- if(0 == play_hdl)
- continue;
-
- fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- continue;
-
- if(0 == MBTK_wav_pcm16Le_check(fd))
- {
- memset(databuf, 0, sizeof(databuf));
- while(0 < (size = read(fd, databuf, sizeof(databuf))))
- {
- // Ql_Rxgain_Set(2);
- if(-1 == Ql_AudPlayer_Play(play_hdl, databuf, size))
- break;
- }
- printf("aplay Stream end \n");
- }
-
- close(fd);
- break;
- case 2:
- if(0 == play_hdl)
- continue;
-
- fd = open(MBTK_AUD_DEMO_WAV, O_RDWR);
- if (fd <= 0)
- continue;
-
- if(0 == MBTK_wav_pcm16Le_check(fd))
- {
- Ql_Rxgain_Set(11);
- Ql_AudPlayer_PlayFrmFile(play_hdl, fd, 0);
- }
- else
- {
- printf("aplay file type error\n");
- }
- close(fd);
- break;
- case 3:
- // aplay_thread(MBTK_AUD_DEMO_WAV);
- Ql_Rxgain_Set(11);
- Ql_Mp3_To_Play("/data/mp3demo.mp3", play_hdl, 0);
- break;
- case 4:
- if(0 == play_hdl)
- continue;
- Ql_AudPlayer_Close(play_hdl);
- break;
- case 5:
- default:
- return;
- }
-
- sleep(1);
- }
-
- printf("aplay exit\n");
- return ;
-}
-void arec(void)
-{
- int ret;
- char operator[10];
- int opt;
- int hdl = 0;
-
- while(1)
- {
- printf("=======arec======\n"
- "\t 0 Open PCM\n"
- "\t 1 Start Record\n"
- // "\t 2 Get state\n"
- // "\t 3 Pause\n"
- // "\t 4 Resume\n"
- // "\t 5 Stop\n"
- "\t 2 Stop/Close Recorder\n"
- "\t others exit\n\n"
- "operator >> ");
-
- fflush(stdin);
- fgets(operator, sizeof(operator), stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- hdl = Ql_AudRecorder_Open(NULL, record_cb_func);
- if (hdl == 0)
- return ;
- break;
- case 1:
- if(0 == hdl)
- {
- printf("audio is not initialized yet.\n");
- continue;
- }
-
- if(0 != record_fd)
- {
- printf("audio It's already being recorded.\n");
- continue;
- }
- record_fd = open(MBTK_AUD_DEMO_WAV, O_RDWR|O_CREAT|O_TRUNC, 0644);
- if (record_fd <= 0)
- printf("file open error\n");
-
- if(0 == MBTK_wav_pcm16Le_set(record_fd))
- {
- ret = Ql_AudRecorder_StartRecord();
- if(0 != ret)
- {
- printf("audio record error: %d\n", ret);
- close(record_fd);
- record_fd = 0;
- }
- }
- else
- {
- printf("arec set file header error\n");
- close(record_fd);
- record_fd = 0;
- }
- break;
- case 2:
- Ql_AudRecorder_Close();
- if(record_fd > 0)
- {
- close(record_fd);
- record_fd = 0;
- }
- break;
- case 3:
- // break;
- case 4:
- // break;
- case 5:
- // break;
- case 6:
- // break;
- default:
- return;
- }
-
- sleep(1);
- }
-
- printf("arec exit\n");
- return ;
-}
-int main(void)
-{
- char operator[10];
- int opt;
-
- while(1)
- {
- printf("=========audio main=========\n"
- "\t0 exit\n"
- "\t1 Ql_aplay\n"
- "\t2 Ql_arec\n"
- "\t3 audio record\n"
- "\t4 player stream\n"
- // "\t5 set mic Volume\n"
- // "\t6 get mic Volume\n"
- // "\t7 tts\n"
- // "\t8 tone\n"
- "operator: >> ");
-
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- printf("main exit\n");
- return 0;
- case 1:
- aplay();
- break;
- case 2:
- arec();
- break;
- case 3:
- mbtk_at_rec(NULL);
- break;
- case 4:
- mbtk_at_play(NULL);
- break;
- case 5:
- break;
- case 6:
- break;
- case 7:
- break;
- case 8:
- break;
- default:
- break;
- }
-
- sleep(1);
- }
-
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/audio_test_yx.c b/mbtk/test/asr1803/audio_test_yx.c
deleted file mode 100755
index dd9aec5..0000000
--- a/mbtk/test/asr1803/audio_test_yx.c
+++ /dev/null
@@ -1,249 +0,0 @@
-#include "mbtk_type.h"
-#include <fcntl.h>
-#include <stdint.h>
-#include <limits.h>
-#include <termios.h>
-#include <stdarg.h>
-#include <fcntl.h>
-#include <sys/time.h>
-#include <pthread.h>
-#include <signal.h>
-#include <sys/stat.h>
-
-#include "ql/ql_audio.h"
-
-int handler = 0;
-int s_play_hdl = -1;
-int s_play_fd = -1;
-static pthread_t play_thread_play;
-
-#define PROMPT_START_RECORD "/bin/start_record_test.wav"
-#define RECORD_FILEPATH "/usrdata/test.wav"
-#define PROMPT_START_PLAY "/bin/start_play_test.wav"
-#define PROMPT_TEST_FINISH "/bin/test_end_test.wav"
-
-#if 1
-void dtmf_cb1(char dtmf)
-{
- printf("%s:%c\n", __FUNCTION__, dtmf);
-}
-#endif
-
-int Ql_cb_playback(int hdl, int result)
-{
- printf("%s: hdl=%d, result=%d\n\r", __func__, hdl, result);
- if (result == AUD_PLAYER_FINISHED || result == AUD_PLAYER_NODATA)
- {
- printf("%s: play finished\n\r", __func__);
- }
- return 0;
-}
-
-int MBTK_wav_pcm16Le_check(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr))
- {
- printf("\n%s: cannot read header\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.riff_id != ID_RIFF) || (hdr.riff_fmt != ID_WAVE) || (hdr.fmt_id != ID_FMT))
- {
- printf("\n%s: is not a riff/wave file\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.audio_format != FORMAT_PCM) || (hdr.fmt_sz != 16))
- {
- printf("\n%s: is not pcm format\n", __FUNCTION__);
- return -1;
- }
-
- if (hdr.bits_per_sample != 16)
- {
- printf("\n%s: is not 16bit per sample\n", __FUNCTION__);
- return -1;
- }
-
- return 0;
-}
-
-int PLT_Audio_StartPlay(char *filePath, int repeat_value)
-{
- s_play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- if (0 == s_play_hdl) {
- printf("Ql_AudPlayer_Open Failed...\n");
- return -2;
- }
-
- s_play_fd = open(filePath, O_RDWR);
- if (s_play_fd <= 0){
- printf(" Open wavFilePath Failed\n");
- return -3 ;
- }
-
- mbtk_audio_path_enable(1);
- if (0 == MBTK_wav_pcm16Le_check(s_play_fd)) {
- Ql_AudPlayer_PlayFrmFile(s_play_hdl, s_play_fd, 0);
- } else {
- printf("aplay FileType error...\n");
- close(s_play_fd);
- return -4;
- }
- close(s_play_fd);
- mbtk_audio_path_enable(0);
- Ql_AudPlayer_Close(s_play_hdl);
- s_play_hdl = -1;
-
- printf("aplay End...\n");
- return 0;
-}
-
-static void audio_play_thread(void *arg)
-{
- PLT_Audio_StartPlay((char*)arg, 1);
-}
-
-static void sig_handler(int sig)
-{
- if(s_play_hdl > 0) {
- Ql_AudPlayer_Stop(s_play_hdl);
- if (pthread_join(play_thread_play, NULL)) {
- printf("error join play_recorder!\n");
- }
-
- mbtk_audio_mode_set(-2);
- mbtk_audio_switch_pcm(0);
- mbtk_audio_ubus_client_deinit(handler);
- }
-
- printf("Success exit by signal...\n");
- exit(0);
-}
-
-
-int main(int argc, char* argv[])
-{
- if(argc != 2) {
- printf("audio_play_test <wav_file>\n");
- return -1;
- }
-
- struct stat st;
- const char *path = (const char *)argv[1];
- // mbtk_log_init("radio", "MBTK_AUDIO");
-
- /* Check and open source file */
- if (access(path, F_OK) || stat(path, &st)) {
- printf("%s: error reading from file %s\n", __FUNCTION__, path);
- return -1;
- }
-
- if (!st.st_size) {
- printf("%s: empty file %s\n", __FUNCTION__, path);
- return -1;
- }
-
- signal(SIGINT, sig_handler);
- signal(SIGTERM, sig_handler);
- signal(SIGTSTP, sig_handler);
-
- mbtk_audio_ubus_client_init(&handler, dtmf_cb1);
- mbtk_audio_switch_pcm(1);
- mbtk_audio_mode_set(2);
-
- char cmd[100];
- bool running = TRUE;
- while(running)
- {
- memset(cmd, 0, 100);
- int err;
- printf("1 : Play 2 : Pause 3 : Resume 4 : Stop Other : Exit\n");
- if(fgets(cmd, 100, stdin))
- {
- if(cmd[0] == '\r' || cmd[0] == '\n')
- continue;
- int state = atoi(cmd);
- switch(state){
- case 1:
- {
- if(s_play_hdl > 0) {
- break;
- }
- pthread_attr_t thread_attr;
- pthread_attr_init(&thread_attr);
- if(pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED))
- {
- printf("pthread_attr_setdetachstate() fail.\n");
- goto exit;
- }
-
- if (pthread_create(&play_thread_play, NULL, (void *)&audio_play_thread, path) < 0) {
- printf("%s: error creating thread_play!\n", __FUNCTION__);
- goto exit;
- }
-
- printf("Start play audio...\n");
- break;
- }
- case 2:
- {
- if(s_play_hdl <= 0) {
- break;
- }
- Ql_AudPlayer_Pause(s_play_hdl);
- printf("Audio pause.\n");
- break;
- }
- case 3:
- {
- if(s_play_hdl <= 0) {
- break;
- }
- Ql_AudPlayer_Resume(s_play_hdl);
- printf("Audio resume.\n");
- break;
- }
- case 4:
- {
- if(s_play_hdl <= 0) {
- break;
- }
- Ql_AudPlayer_Stop(s_play_hdl);
- if (pthread_join(play_thread_play, NULL)) {
- printf("error join play_thread!\n");
- }
- s_play_hdl = -1;
- printf("Audio stop.\n");
- break;
- }
- default:
- {
- running = FALSE;
- if(s_play_hdl <= 0) {
- break;
- }
- Ql_AudPlayer_Stop(s_play_hdl);
- if (pthread_join(play_thread_play, NULL)) {
- printf("error join play_thread!\n");
- }
- }
- }
- }
- }
-
-exit:
-
- mbtk_audio_mode_set(-2);
- mbtk_audio_switch_pcm(0);
- mbtk_audio_ubus_client_deinit(handler);
-
- printf("Success exit.\n");
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/mbtk_audio_set.c b/mbtk/test/asr1803/mbtk_audio_set.c
deleted file mode 100755
index 77ce01a..0000000
--- a/mbtk/test/asr1803/mbtk_audio_set.c
+++ /dev/null
@@ -1,101 +0,0 @@
-#include "mbtk_audio.h"
-#include <stdlib.h>
-
-static void help(int tag)
-{
- printf("TAG : %d\n", tag);
- printf("./mbtk_gain_set tx_codec/tx_dsp [gain]\n");
- printf("./mbtk_gain_set rx_codec/rx_dsp [gain0] [value1] [gain2] [value3] [gain4] [value5] [gain6] [value7] [gain8] [value9] [value10]\n");
- printf("./mbtk_gain_set reg [addr] [value]\n");
-}
-
-int main(int argc,char *argv[])
-{
- int handler = 0;
-
- if(argc < 3)
- {
- help(0);
- return -1;
- }
-
- if(strcmp(argv[1], "reg") && strcmp(argv[1], "tx_codec")
- && strcmp(argv[1], "tx_dsp") && strcmp(argv[1], "rx_codec")
- && strcmp(argv[1], "rx_dsp")) {
- help(1);
- return -1;
- }
-
- if(strcmp(argv[1], "reg") == 0 && argc != 4) {
- help(2);
- return -1;
- }
-
- if(strcmp(argv[1], "tx_codec") == 0 && argc != 3) {
- help(3);
- return -1;
- }
-
- if(strcmp(argv[1], "tx_dsp") == 0 && argc != 3) {
- help(4);
- return -1;
- }
-
- if(strcmp(argv[1], "rx_codec") == 0 && argc != 13) {
- help(5);
- return -1;
- }
-
- if(strcmp(argv[1], "rx_dsp") == 0 && argc != 13) {
- help(6);
- return -1;
- }
-
- if(mbtk_audio_ubus_client_init(&handler, NULL)) {
- printf("mbtk_audio_ubus_client_init fail.\n");
- return -1;
- }
-
- if(strcmp(argv[1], "tx_codec") == 0 || strcmp(argv[1], "tx_dsp") == 0) {
- unsigned short gain[1];
-
- gain[0] = (unsigned short)strtoul(argv[2], 0, 0);
-
- printf("Type:%s, gain:%d(0x%04x)\n", argv[1], gain[0], gain[0]);
-
- if(strcmp(argv[1], "tx_codec") == 0) {
- mbtk_audio_ubus_gain_set(AUDIO_GAIN_TYPE_TX_CODECGAIN, gain, 1);
- } else {
- mbtk_audio_ubus_gain_set(AUDIO_GAIN_TYPE_TX_DSPGAIN, gain, 1);
- }
- } else if(strcmp(argv[1], "rx_codec") == 0 || strcmp(argv[1], "rx_dsp") == 0) {
- unsigned short gain[11];
-
- printf("Type:%s\n", argv[1]);
-
- int i = 0;
- for(;i < 11; i++) {
- gain[i] = (unsigned short)strtoul(argv[2 + i], 0, 0);
- printf("Gain[%d%%]:%d(0x%04x)\n", i * 10, gain[i], gain[i]);
- }
-
- if(strcmp(argv[1], "rx_codec") == 0) {
- mbtk_audio_ubus_gain_set(AUDIO_GAIN_TYPE_RX_CODECGAIN, gain, 11);
- } else {
- mbtk_audio_ubus_gain_set(AUDIO_GAIN_TYPE_RX_DSPGAIN, gain, 11);
- }
- } else if(strcmp(argv[1], "reg") == 0) {
- int value[2];
- value[0] = (unsigned int)strtoul(argv[2], 0, 0);
- value[1] = (unsigned int)strtoul(argv[3], 0, 0);
- mbtk_audio_ubus_reg_set(value[0], value[1]);
- }
-
- if(mbtk_audio_ubus_client_deinit(handler)) {
- printf("mbtk_audio_ubus_client_init fail.\n");
- return -1;
- }
-
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/mbtk_dtmf_test.c b/mbtk/test/asr1803/mbtk_dtmf_test.c
deleted file mode 100755
index 7dd055f..0000000
--- a/mbtk/test/asr1803/mbtk_dtmf_test.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * \file dtmf_test.c
- * \brief A Documented file.
- *
- * Detailed description
- * \Author: js.wang <js.wang@mobiletek.cn>
- * \Version: 1.0.0
- * \Date: 2022-03-31
- */
-
-/******************************************************************************\
- * Include files
-\******************************************************************************/
-#include <pthread.h>
-#include <time.h>
-#include <sys/ioctl.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <string.h>
-#include <stdio.h>
-#include <signal.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <errno.h>
-#include <string.h>
-#include <stdlib.h>
-#include <poll.h>
-#include <stdlib.h>
-
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "mbtk_audio.h"
-
-void dtmf_cb(char dtmf)
-{
- printf("%s:%c\n", __FUNCTION__, dtmf);
-}
-
-void audio_volume_cb(int volume)
-{
- printf("%s:%d\n", __FUNCTION__, volume);
-}
-
-int main(int argc, char *argv[])
-{
- char operator[10];
- int opt;
- mbtk_audio_client_handle_type dtmf_handle;
-
-
- while(1)
- {
- printf("=========audio main=========\n"
- "\t0 exit\n"
- "\t1 audio init\n"
- "\t2 audio get volume\n"
- "\t3 audio set volume\n"
- "\t4 audio deinit\n"
- "operator: >> ");
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
- switch (opt)
- {
- case 0:
- printf("main exit\n");
- return 0;
- case 1:
- mbtk_audio_ubus_client_init(&dtmf_handle, dtmf_cb);
- break;
- case 2:
- mbtk_audio_ubus_volume_get(audio_volume_cb);
- break;
- case 3:
- printf("please input volume (0~100): \n");
- fgets(operator, sizeof(operator), stdin);
- fflush(stdin);
- opt = atoi(operator);
- mbtk_audio_ubus_volume_set(opt);
- break;
- case 4:
- mbtk_audio_ubus_client_deinit(dtmf_handle);
- break;
- default:
- break;
- }
- }
-
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/ubus_cli_demo.c b/mbtk/test/asr1803/ubus_cli_demo.c
deleted file mode 100755
index 0b689c9..0000000
--- a/mbtk/test/asr1803/ubus_cli_demo.c
+++ /dev/null
@@ -1,163 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <libubox/blobmsg_json.h>
-#include "libubus.h"
-
-#include "audio_if_parameter.h"
-//#include <include/audio_if.h>
-//#include <include/audio_if_types.h>
-//#include <include/audio_if_ubus.h>
-
-#define LOG(fmt, args...) \
- do{ \
- printf("%s#%d: " fmt "\n", __FUNCTION__, __LINE__, ##args); \
- } while(0)
-
-//User task
-static pthread_t APP_MainLoopTask;
-
-/**********************************************************************\
-* APP Global Variables for uBus
-\**********************************************************************/
-#define AUDIO_UBUS_ID "audio_if"
-#define AUDIO_UBUS_AUDIO_GAIN_SET "audio_gain_set"
-
-static struct ubus_context *APP_ctx = NULL;
-static uint32_t APP_audio_request_id;
-static struct blob_buf audio_cm_b;
-
-
-/**********************************************************************\
-* Function: APP_uBusInit
-* Description: init UBUS context
-* Returns: 0 on success
-\**********************************************************************/
-static int APP_uBusInit(void)
-{
- int rc = 0;
-
- uloop_init();
- APP_ctx = ubus_connect(NULL);
- if (APP_ctx == NULL)
- {
- printf(" %s Failed to connect to ubus!\n", __FUNCTION__);
- return -1;
- }
-
- ubus_add_uloop(APP_ctx);
- // lookup audio_if until success
- while(1)
- {
- rc = ubus_lookup_id(APP_ctx, AUDIO_UBUS_ID, & APP_audio_request_id);
- if (0 != rc)
- {
- printf("%s, Failed to look up(%s), rc=%d\n", __FUNCTION__, AUDIO_UBUS_ID, rc);
- usleep(100000); //100ms
- }
- else
- break;
- }
- printf("%s, ubus_lookup_id(%s) OK\n", __FUNCTION__, AUDIO_UBUS_ID);
- return 0;
-}
-
-static void APP_Audio_GaniSet_cb(struct ubus_request *req, int rc)
-{
- if (req)
- {
- free(req);
- req = NULL;
- }
- printf("%s do nothing, rc=%d\n", __FUNCTION__, rc);
-}
-
-
-/**********************************************************************\
-* Function: APP_Audio_VolumeSet
-* Description: This function is called to send command into audio_if.
-* unsigned int volume(0~100)
-* Returns: 0 on success
-\**********************************************************************/
-static void APP_Audio_GainSet(unsigned char *gain, int gain_num)
-{
- int rc = 0;
- struct ubus_request *req = NULL;
-
- req = (struct ubus_request *)malloc(sizeof(struct ubus_request));
- if (req == NULL)
- {
- printf("leave %s: lack of memory\n", __FUNCTION__);
- return;
- }
- memset(req, 0, sizeof(struct ubus_request));
- blob_buf_init(&audio_cm_b, 0);
-
- char name[20];
- int i = 0;
- for(; i < gain_num; i++) {
- memset(name, 0x0, 20);
- sprintf(name, "volume_gain_%d", i);
- blobmsg_add_u8(&audio_cm_b, name, gain[i]);
- }
-
-#if 1
- if ((rc = ubus_invoke_async(APP_ctx, APP_audio_request_id, AUDIO_UBUS_AUDIO_GAIN_SET, audio_cm_b.head, req)) != UBUS_STATUS_OK)
- {
- free(req);
- printf("%s, ubus_invoke_async volume set failed: %s\n", __FUNCTION__, ubus_strerror(rc));
- }
- else
- {
- printf("%s: ubus_invoke_async success\n", __FUNCTION__);
- req->complete_cb = APP_Audio_GaniSet_cb;
- ubus_complete_request_async(APP_ctx, req);
- }
-#else
- if ((rc = ubus_invoke(APP_ctx, APP_audio_request_id, AUDIO_UBUS_AUDIO_GAIN_SET, audio_cm_b.head, NULL, 0, 0)) != UBUS_STATUS_OK)
- {
- printf("%s, ubus_invoke_async volume set failed: %s\n", __FUNCTION__, ubus_strerror(rc));
- }
- else
- {
- printf("%s: ubus_invoke_async success\n", __FUNCTION__);
- }
- free(req);
-
-#endif
-}
-
-/**********************************************************************\
-* Function: main
-* Description: Main function of this APP.
-* Returns: 0 on success
-\**********************************************************************/
-int main (int argc ,char *argv[])
-{
- pthread_attr_t tattr;
-
- /*Init ubus server*/
- if(APP_uBusInit())
- return -1;
-
-#if 0
- /*Create thread to accept user choice*/
- pthread_attr_init(&tattr);
- pthread_attr_setdetachstate(&tattr, PTHREAD_CREATE_DETACHED);
- pthread_create(&APP_MainLoopTask, &tattr, (void *)APP_MainLoop, NULL);
-#else
- unsigned char gain[] = {0x00, 0x10, 0x20, 0x30, 0x40, 0x50, 0x60, 0x70, 0x80, 0x90, 0xa0};
- APP_Audio_GainSet(gain, sizeof(gain));
-
-#endif
-
- uloop_run();
-
- printf("Here, uloop stopped!!!\n ");
-
- /*unregister uloop*/
- /* thread will get here only if uloop stopped*/
- ubus_free(APP_ctx);
- uloop_done();
- return 0;
-}
-
diff --git a/mbtk/test/asr1803/yx_audio_test.c b/mbtk/test/asr1803/yx_audio_test.c
deleted file mode 100755
index 740f152..0000000
--- a/mbtk/test/asr1803/yx_audio_test.c
+++ /dev/null
@@ -1,285 +0,0 @@
-#include "mbtk_type.h"
-#include <fcntl.h>
-#include <stdint.h>
-#include <limits.h>
-#include <termios.h>
-#include <stdarg.h>
-#include <errno.h>
-#include <signal.h>
-// #include "ql_at.h"
-#include "ql/ql_audio.h"
-// #include "mopen_tts.h"
-
-#define MBTK_PLAY_PA_CONTROL 1
-#define MBTK_RECV_PA_CONTROL 1
-
-static int record_fd = -1;
-static int play_hdl = 0;
-static int gpio33_fd = -1;
-static int gpio34_fd = -1;
-
-int Ql_cb_playback(int hdl, int result)
-{
- printf("%s: hdl=%d, result=%d\n\r", __func__, hdl, result);
- if (result == AUD_PLAYER_FINISHED || result == AUD_PLAYER_NODATA)
- {
- printf("%s: play finished\n\r", __func__);
- }
- return 0;
-}
-
-void record_cb_func(int cb_result, char* databuf, unsigned int len)
-{
- int rc;
-
- if(NULL != databuf && len > 0 && record_fd > 0)
- {
- //for debug:save into file
- rc = write(record_fd, databuf, len);
- if (rc < 0) {
- printf("%s: error writing to file!\n", __FUNCTION__);
- } else if (rc < len) {
- printf("%s: wrote less the buffer size!\n", __FUNCTION__);
- }
- }
-}
-
-int MBTK_wav_pcm16Le_check(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- if (read(fd, &hdr, sizeof(hdr)) != sizeof(hdr))
- {
- printf("\n%s: cannot read header\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.riff_id != ID_RIFF)
- || (hdr.riff_fmt != ID_WAVE)
- || (hdr.fmt_id != ID_FMT))
- {
- printf("\n%s: is not a riff/wave file\n", __FUNCTION__);
- return -1;
- }
-
- if ((hdr.audio_format != FORMAT_PCM) || (hdr.fmt_sz != 16)) {
- printf("\n%s: is not pcm format\n", __FUNCTION__);
- return -1;
- }
-
- if (hdr.bits_per_sample != 16) {
- printf("\n%s: is not 16bit per sample\n", __FUNCTION__);
- return -1;
- }
-
- return 0;
-}
-
-static void audio_pa_open()
-{
- if(gpio34_fd > 0) {
- write(gpio34_fd, "1", 1);
- }
-
- if(gpio33_fd > 0) {
- write(gpio33_fd, "0", 1);
- }
-}
-
-static void audio_pa_close()
-{
- if(gpio34_fd > 0) {
- write(gpio34_fd, "0", 1);
- }
-
- if(gpio33_fd > 0) {
- write(gpio33_fd, "1", 1);
- }
-}
-
-int MBTK_wav_pcm16Le_set(int fd)
-{
- struct wav_header hdr;
-
- if (fd <= 0)
- return -1;
-
- memset(&hdr, 0, sizeof(struct wav_header));
-
- hdr.riff_id = ID_RIFF;
- hdr.riff_fmt = ID_WAVE;
- hdr.fmt_id = ID_FMT;
- hdr.fmt_sz = 16;
- hdr.audio_format = FORMAT_PCM;
- hdr.num_channels = 1;
- hdr.sample_rate = 8000;
- hdr.bits_per_sample = 16;
- hdr.byte_rate = (8000 * 1 * hdr.bits_per_sample) / 8;
- hdr.block_align = (hdr.bits_per_sample * 1) / 8;
- hdr.data_id = ID_DATA;
- hdr.data_sz = 0;
-
- hdr.riff_sz = hdr.data_sz + 44 - 8;
- if (write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) {
- return -1;
- }
-
- return 0;
-}
-
-static int play(const char *path)
-{
- int fd = open(path, O_RDONLY);
- if(fd < 0) {
- printf("open(%s) fail:%d\n", path, errno);
- return -1;
- }
-
-#if MBTK_PLAY_PA_CONTROL
- audio_pa_close();
-#endif
-
- play_hdl = Ql_AudPlayer_Open(NULL, Ql_cb_playback);
- if(0 == play_hdl) {
- printf("Ql_AudPlayer_Open fail\n");
- close(fd);
- return -1;
- }
-
- if(MBTK_wav_pcm16Le_check(fd)) {
- printf("MBTK_wav_pcm16Le_check() fail.\n");
- goto fail;
- }
-
-#if MBTK_PLAY_PA_CONTROL
- audio_pa_open();
-#endif
- if(Ql_AudPlayer_PlayFrmFile(play_hdl, fd, 0)) {
- printf("Ql_AudPlayer_PlayFrmFile() fail.\n");
- goto fail;
- }
-
- if(play_hdl) {
-#if MBTK_PLAY_PA_CONTROL
- audio_pa_close();
-#endif
- printf("Play complete.\n");
- Ql_AudPlayer_Close(play_hdl);
-#if MBTK_PLAY_PA_CONTROL
- audio_pa_open();
-#endif
- play_hdl = 0;
- }
- close(fd);
- return 0;
-fail:
- Ql_AudPlayer_Close(play_hdl);
- close(fd);
- return -1;
-}
-
-static int recv(const char *path)
-{
- record_fd = open(path, O_RDWR|O_CREAT|O_TRUNC, 0644);
- if(record_fd < 0) {
- printf("open(%s) fail:%d\n", path, errno);
- return -1;
- }
-#if MBTK_RECV_PA_CONTROL
- audio_pa_close();
-#endif
-
- int hdl = Ql_AudRecorder_Open(NULL, record_cb_func);
- if(0 == hdl) {
- printf("Ql_AudRecorder_Open fail\n");
- close(record_fd);
- record_fd = -1;
- return -1;
- }
-
- if(MBTK_wav_pcm16Le_set(record_fd)) {
- printf("MBTK_wav_pcm16Le_set() fail.\n");
- goto fail;
- }
-#if MBTK_RECV_PA_CONTROL
- audio_pa_open();
-#endif
- if(Ql_AudRecorder_StartRecord()) {
- printf("Ql_AudRecorder_StartRecord() fail.\n");
- goto fail;
- }
- sleep(10);
-#if MBTK_RECV_PA_CONTROL
- audio_pa_close();
-#endif
- Ql_AudRecorder_Close();
-#if MBTK_RECV_PA_CONTROL
- audio_pa_open();
-#endif
- printf("Recorder complete.\n");
- close(record_fd);
- record_fd = -1;
- return 0;
-fail:
- Ql_AudRecorder_Close();
- close(record_fd);
- record_fd = -1;
- return -1;
-}
-
-static void sig_handler(int sig)
-{
- printf("output signal number: %d.\n", sig);
- if(play_hdl) {
- Ql_AudPlayer_Stop(play_hdl);
- }
-}
-
-static void help()
-{
- printf("yx_audio_test play/recv file_name\n");
-}
-
-int main(int argc, char *argv[])
-{
- if(argc != 3) {
- help();
- return -1;
- }
-
- signal(SIGINT, sig_handler);
- signal(SIGTERM, sig_handler);
- signal(SIGTSTP, sig_handler);
- if(access("/sys/class/gpio/gpio33/value", F_OK)) {
- system("echo 33 > /sys/class/gpio/export");
- system("echo out > /sys/class/gpio/gpio33/direction");
- }
- gpio33_fd = open("/sys/class/gpio/gpio33/value", O_RDWR);
-
- if(access("/sys/class/gpio/gpio34/value", F_OK)) {
- system("echo 34 > /sys/class/gpio/export");
- system("echo out > /sys/class/gpio/gpio34/direction");
- }
- gpio34_fd = open("/sys/class/gpio/gpio34/value", O_RDWR);
-
- int ret = -1;
- if(!strcmp(argv[1], "play")) {
- ret = play(argv[2]);
- } else if(!strcmp(argv[1], "recv")) {
- ret = recv(argv[2]);
- } else {
- help();
- }
-
- if(gpio34_fd > 0) {
- close(gpio34_fd);
- }
-
- if(gpio33_fd > 0) {
- close(gpio33_fd);
- }
- return ret;
-}
diff --git a/mbtk/test/at.c b/mbtk/test/at.c
deleted file mode 100755
index c69ba82..0000000
--- a/mbtk/test/at.c
+++ /dev/null
@@ -1,652 +0,0 @@
-#include <termios.h>
-#include <pthread.h>
-#include <sys/un.h>
-#include <stdio.h>
-#include <sys/socket.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <string.h>
-#include <sys/epoll.h>
-#include <netinet/in.h>
-#include <signal.h>
-#include <unistd.h>
-#include <sys/select.h>
-
-#include "ql/ql_uart.h"
-#include "mbtk_type.h"
-
-//#define AT_TYPE_SOCKET
-#define MBTK_LOG
-
-#ifdef MBTK_LOG
-#include "mbtk_log.h"
-#else
-#define LOGE printf
-#define LOGD printf
-#define LOGV printf
-#define LOGI printf
-#endif
-
-#define DATABITS CS8
-#define STOPBITS 0
-#define PARITYON 0
-#define PARITY 0
-
-typedef enum {
- AT_MODE_SOCK_1 = 0,
- AT_MODE_SOCK_2,
- AT_MODE_DEV_1,
- AT_MODE_DEV_2
-} at_mode_enum;
-
-static int epoll_fd = -1;
-static struct epoll_event epoll_events[20];
-static int at_fd = -1;
-static at_mode_enum at_mode = AT_MODE_SOCK_1;
-
-static char *at_rsp_complete_tag[] = {
- "OK",
- "ERROR",
- "CONNECT",
- "+CMS ERROR:",
- "+CME ERROR:",
- "NO ANSWER",
- "NO DIALTONE",
- NULL};
-
-//#ifdef AT_TYPE_SOCKET
-#define TEMP_FAILURE_RETRY(exp) ({ \
- typeof (exp) _rc; \
- do { \
- _rc = (exp); \
- } while (_rc == -1 && errno == EINTR); \
- _rc; })
-//#endif
-
-static void at_epoll_change(int is_add,int fd)
-{
- struct epoll_event ev;
- memset(&ev,0x0,sizeof(struct epoll_event));
- ev.data.fd = fd;
- ev.events = EPOLLIN | EPOLLET;
- if(is_add)
- {
- epoll_ctl(epoll_fd,EPOLL_CTL_ADD,fd,&ev);
- }
- else
- {
- epoll_ctl(epoll_fd,EPOLL_CTL_DEL,fd,&ev);
- }
-}
-
-static int at_set_fd_noblock(int fd)
-{
- // Set O_NONBLOCK
- int flags = fcntl(fd, F_GETFL, 0);
- if (flags < 0) {
- LOGE("Get flags error:%s\n", strerror(errno));
- return -1;
- }
- flags |= O_NONBLOCK;
- if (fcntl(fd, F_SETFL, flags) < 0) {
- LOGE("Set flags error:%s\n", strerror(errno));
- return -1;
- }
-
- return 0;
-}
-
-//#ifdef AT_TYPE_SOCKET
-int openSocket(const char* sockname)
-{
- int sock = socket(AF_UNIX, SOCK_STREAM, 0);
- if (sock < 0) {
- LOGE("Error create socket: %s\n", strerror(errno));
- return -1;
- }
- struct sockaddr_un addr;
- memset(&addr, 0, sizeof(addr));
- addr.sun_family = AF_UNIX;
- strncpy(addr.sun_path, sockname, sizeof(addr.sun_path));
- while (TEMP_FAILURE_RETRY(connect(sock,(const struct sockaddr*)&addr, sizeof(addr))) != 0) {
- LOGE("Error connect to socket %s: %s, try again", sockname, strerror(errno));
- sleep(1);
- }
-
-#if 0
- int sk_flags = fcntl(sock, F_GETFL, 0);
- fcntl(sock, F_SETFL, sk_flags | O_NONBLOCK);
-#endif
-
- return sock;
-}
-
-//#else
-
-static int at_open(char *dev)
-{
- // Init USB PC port.
- struct termios ser_settings;
- int fd = -1;
-
-usb_pc_init:
- fd = open(dev,O_RDWR);
- if(fd <= 0)
- {
- if(errno == ENODEV)
- {
- LOGD("Wait dev[%s] ready...",dev);
- usleep(500000);
- goto usb_pc_init;
- }
-
- LOGE("Cannot open USB PC port[%s] - [errno = %d]",dev,errno);
- return -1;
- }
-
- tcgetattr(fd, &ser_settings);
- cfmakeraw(&ser_settings);
- //ser_settings.c_lflag |= (ECHO | ECHONL);
- //ser_settings.c_lflag &= ~ECHOCTL;
- tcsetattr(fd, TCSANOW, &ser_settings);
-
-#if 0
- if(at_set_fd_noblock(at_fd))
- {
- LOGE("at_set_fd_noblock() fail.");
- return -1;
- }
-
- at_epoll_change(1, at_fd);
-#endif
-
- return fd;
-}
-//#endif
-
-static int adb_port_open(const char *dev, unsigned int baud)
-{
- int fd;
-
- while((fd = open(dev, O_RDWR)) < 0)
- {
- printf("%s: open %s failed\n", __func__, dev);
- sleep(1);
- }
-
- /* set newtio */
- struct termios newtio;
- memset(&newtio, 0, sizeof(newtio));
-#if 0
- (void)fcntl(fd, F_SETFL, 0);
- newtio.c_cflag = BAUD | DATABITS | STOPBITS | PARITYON | PARITY | CLOCAL | CREAD;
- newtio.c_iflag = IGNPAR;
- newtio.c_oflag = 0;
- newtio.c_lflag = 0; /* disable ECHO, ICANON, etc... */
-
- newtio.c_cc[VERASE] = 0x8; /* del */
- newtio.c_cc[VEOF] = 4; /* Ctrl-d */
- newtio.c_cc[VMIN] = 1; /* blocking read until 1 character arrives */
- newtio.c_cc[VEOL] = 0xD; /* '\0' */
-
- tcflush(fd, TCIFLUSH);
- tcsetattr(fd, TCSANOW, &newtio);
-#else
- if (tcflush(fd, TCIOFLUSH) < 0) {
- printf("Could not flush uart port\n");
- return -1;
- }
-
- newtio.c_cc[VTIME] = 0; /* inter-character timer unused */
- newtio.c_cc[VMIN] = 1; /* blocking read until 5 chars received */
- newtio.c_cflag |= (CS8 | CLOCAL | CREAD);
- newtio.c_iflag = IGNPAR;
- newtio.c_oflag = 0;
- newtio.c_lflag = 0;
-
- int rate = baud; // Default bitrate.
- switch(rate)
- {
- case 300:
- cfsetospeed(&newtio, B300);
- cfsetispeed(&newtio, B300);
- break;
- case 600:
- cfsetospeed(&newtio, B600);
- cfsetispeed(&newtio, B600);
- break;
- case 1200:
- cfsetospeed(&newtio, B1200);
- cfsetispeed(&newtio, B1200);
- break;
- case 2400:
- cfsetospeed(&newtio, B2400);
- cfsetispeed(&newtio, B2400);
- break;
- case 4800:
- cfsetospeed(&newtio, B4800);
- cfsetispeed(&newtio, B4800);
- break;
- case 9600:
- cfsetospeed(&newtio, B9600);
- cfsetispeed(&newtio, B9600);
- break;
- case 19200:
- cfsetospeed(&newtio, B19200);
- cfsetispeed(&newtio, B19200);
- break;
- case 38400:
- cfsetospeed(&newtio, B38400);
- cfsetispeed(&newtio, B38400);
- break;
- case 57600:
- cfsetospeed(&newtio, B57600);
- cfsetispeed(&newtio, B57600);
- break;
- case 115200:
- cfsetospeed(&newtio, B115200);
- cfsetispeed(&newtio, B115200);
- break;
- case 230400:
- cfsetospeed(&newtio, B230400);
- cfsetispeed(&newtio, B230400);
- break;
- case 460800:
- cfsetospeed(&newtio, B460800);
- cfsetispeed(&newtio, B460800);
- break;
- case 921600:
- cfsetospeed(&newtio, B921600);
- cfsetispeed(&newtio, B921600);
- break;
- case 1500000:
- cfsetospeed(&newtio, B1500000);
- cfsetispeed(&newtio, B1500000);
- break;
- case 2000000:
- cfsetospeed(&newtio, B2000000);
- cfsetispeed(&newtio, B2000000);
- break;
- case 3000000:
- cfsetospeed(&newtio, B3000000);
- cfsetispeed(&newtio, B3000000);
- break;
- case 4000000:
- cfsetospeed(&newtio, B4000000);
- cfsetispeed(&newtio, B4000000);
- break;
- default:
- cfsetospeed(&newtio, B115200);
- cfsetispeed(&newtio, B115200);
- break;
- }
-
- if (tcsetattr(fd, TCSANOW, &newtio) < 0) {
- printf("Can't set port setting\n");
- return -1;
- }
- /* Blocking behavior */
- fcntl(fd, F_SETFL, 0);
-#endif
-
- return fd;
-}
-
-
-static void signal_process(int signal_num) {
- if(at_fd > 0) {
- close(at_fd);
- }
-#ifdef MBTK_LOG
- LOGD("Exit by sig - %d\n", signal_num);
-#endif
- exit(0);
-}
-
-static void* read_thread_run( void *arg)
-{
- //UNUSED(arg);
-
- char at_rsp[1024];
- char *ptr;
- int index;
- int len;
- while(at_fd > 0) {
- memset(at_rsp, 0x0, 1024);
- index = 0;
- len = 0;
- while(1) {
- if((len = read(at_fd, at_rsp + index, 1024)) > 0) {
- ptr = at_rsp;
- while(*ptr == '\r' || *ptr == '\n')
- {
- ptr++;
- }
- if(strlen(ptr) > 0 && ptr[strlen(ptr) - 1] == '\n') {
- printf("<%s\n", ptr);
-#ifdef MBTK_LOG
- LOGV("RSP:%s", ptr);
-#endif
-
- break;
- } else {
- index += len;
- }
- } else {
- LOGE("Read error:%d",errno);
- return NULL;
- }
- }
- }
-
- LOGD("read_thread_run() exit.\n");
- return NULL;
-}
-
-static int read_thread_start()
-{
- pthread_t tid;
- pthread_attr_t attr;
- pthread_attr_init (&attr);
- pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
- int ret = pthread_create(&tid, &attr, read_thread_run, &attr);
- if (ret < 0)
- {
- LOGE("pthread_create\n");
- return -1;
- }
-
- return 0;
-}
-
-static int at_complete(char *rsp)
-{
-#if 0
- char *ptr = at_rsp_complete_tag;
- while(ptr) {
- LOGD("ptr = %s", ptr);
- if(strstr(rsp, ptr)) {
- LOGD("%s , %s", rsp, ptr);
- return 1;
- }
- ptr++;
- }
-#else
- int i = 0;
- while(at_rsp_complete_tag[i]) {
- LOGD("ptr = %s", at_rsp_complete_tag[i]);
- if(strstr(rsp, at_rsp_complete_tag[i])) {
- LOGD("%s , %s", rsp, at_rsp_complete_tag[i]);
- return 1;
- }
- i++;
- }
-
-#endif
- return 0;
-}
-
-static void at_rsp_read()
-{
- char at_rsp[1024];
- int len = 0;
- while(1) {
- memset(at_rsp, 0x0, 1024);
- if((len = read(at_fd, at_rsp, 1024)) > 0) {
- printf("%s", at_rsp);
- if(at_complete(at_rsp)) {
- break;
- }
- } else {
- printf("Read error:%d\n",errno);
- break;
- }
- }
-}
-
-static void help()
-{
- printf("at : Enter AT mode(Socket).\n");
- printf("at <at_cmd>: Send AT command(Socket).\n");
- printf("at <dev>: Enter AT mode(Device).\n");
- printf("at <dev> echo: ´®¿ÚÊý¾Ý»ØÏÔ¡£\n");
- printf("at <dev> <at_cmd>: Send AT command(Device).\n");
-}
-
-static void sig_process(int sig)
-{
- LOGI("I got signal %d\n", sig);
- switch(sig)
- {
- case SIGINT: // Ctrl + C
- {
- LOGI("Exit by SIGINT.\n");
- exit(0);
- }
- case SIGQUIT: // Ctrl + \ (ÀàËÆ SIGINT £¬µ«Òª²úÉúcoreÎļþ)
- {
- LOGI("Exit by SIGQUIT.\n");
- exit(0);
- }
- case SIGTERM:// ĬÈÏkill (ͬ SIGKILL £¬µ« SIGKILL ²»¿É²¶»ñ)
- {
- LOGI("Exit by SIGTERM.\n");
- exit(0);
- }
- case SIGTSTP:// Ctrl + Z (ͬ SIGSTOP £¬µ« SIGSTOP ²»¿É²¶»ñ)
- {
- LOGI("Exit by SIGTSTP.\n");
- exit(0);
- }
- case SIGSEGV: // Èç¿ÕÖ¸Õë
- {
- LOGI("Exit by SIGSEGV.\n");
- exit(0);
- }
- default:
- {
- LOGI("Unknown sig:%d\n",sig);
- break;
- }
- }
-}
-
-int main(int argc, char *argv[])
-{
- //UNUSED(argc);
- //UNUSED(argv);
- signal(SIGINT, sig_process);
- signal(SIGQUIT, sig_process);
- signal(SIGTERM, sig_process);
- //signal(SIGTSTP, sig_process);
- //signal(SIGSEGV, sig_process);
-
-#ifdef MBTK_LOG
- mbtk_log_init("radio", "MBTK_AT");
- LOGI("mbtk_at start.");
-#endif
-
- signal(SIGKILL, signal_process);
- signal(SIGINT, signal_process);
- signal(SIGQUIT, signal_process);
- signal(SIGTERM, signal_process);
-
- char *at_cmd = NULL;
- bool echo = FALSE;
- if(argc == 1) {
- at_mode = AT_MODE_SOCK_1;
- } else if(argc == 2) {
- if(!strncasecmp(argv[1], "at", 2)) {
- at_mode = AT_MODE_SOCK_2;
- at_cmd = argv[1];
- } else if(!strncasecmp(argv[1], "/dev/", 5)) {
- at_mode = AT_MODE_DEV_1;
- } else {
- help();
- return -1;
- }
- } else if(argc == 3) {
- if(!strncasecmp(argv[1], "/dev/", 5) && (!strncasecmp(argv[2], "at", 2) || !strncasecmp(argv[2], "echo", 4))) {
- at_mode = AT_MODE_DEV_2;
- if(!strncasecmp(argv[2], "at", 2)) {
- at_cmd = argv[2];
- } else {
- echo = TRUE;
- }
- } else {
- help();
- return -1;
- }
- } else {
- help();
- return -1;
- }
-#if 0
-#ifdef AT_TYPE_SOCKET
- at_fd = openSocket("/tmp/atcmdmbtk");
-#else
- at_fd = at_open(argv[1]);
-#endif
- if(at_fd > 0) {
-#ifdef AT_TYPE_SOCKET
- if(argc > 1) {
- char *at_cmd = argv[1];
-#else
- if(argc > 2) {
- char *at_cmd = argv[2];
-#endif
-#endif
-
- if(at_mode == AT_MODE_SOCK_1 || at_mode == AT_MODE_SOCK_2) {
- at_fd = openSocket("/tmp/atcmdmbtk");
- } else {
-#if 0
- at_fd = at_open(argv[1]);
-#else
- if(echo) {
- at_fd = adb_port_open(argv[1], 115200);
- } else {
- at_fd = at_open(argv[1]);
- }
-#endif
- }
- if(at_fd > 0) {
- if(at_cmd != NULL) {
- char *ptr = at_cmd + strlen(at_cmd) - 1;
- while(ptr >= at_cmd && (*ptr == '\r' || *ptr == '\n'))
- {
- *ptr-- = '\0';
- }
- // printf("AT:[%ld]%s\n", strlen(at_cmd), at_cmd);
- if(!strncasecmp(at_cmd, "at", 2))
- {
- *(++ptr) = '\r';
- *(++ptr) = '\n';
- if(write(at_fd, at_cmd, strlen(at_cmd)) <= 0) {
- printf("Write error:%d\n", errno);
- } else {
- // Read response.
- at_rsp_read();
- }
- } else {
- printf("AT error!\n");
- }
- } else {
- if(echo) {
- char read_buff[1024];
- char write_buff[1024];
- int len;
-#if 0
- fd_set fds;
- int fdcount, nfds = 0;
- while(1) {
- FD_SET(at_fd, &fds);
- if(at_fd > nfds)
- nfds = at_fd;
-
- fdcount = select(nfds + 1, &fds, NULL, NULL, NULL);
- if(fdcount < 0) /* error */
- {
- printf("select returned %d, errno %d, continue\r", fdcount, errno);
- sleep(1);
- continue;
- }
-
- if(FD_ISSET(at_fd, &fds))
- {
- FD_CLR(at_fd, &fds);
- memset(read_buff, 0x0, 1024);
- if((len = read(at_fd, read_buff, 1024)) > 0) {
- memset(write_buff, 0x0, 1024);
- printf("%s\n", read_buff);
- len = snprintf(write_buff, 1024, "%s\n", read_buff);
- write(at_fd, write_buff, len);
- } else {
- printf("Read error:%d\n",errno);
- return NULL;
- }
- }
- }
-#else
- printf("Waitting data!!!\n");
- while(1) {
- memset(read_buff, 0x0, 1024);
- if((len = read(at_fd, read_buff, 1024)) > 0) {
- memset(write_buff, 0x0, 1024);
- printf("%s\n", read_buff);
- len = snprintf(write_buff, 1024, "%s\n", read_buff);
- write(at_fd, write_buff, len);
- } else {
- printf("Read error:%d\n",errno);
- return NULL;
- }
- }
-#endif
- } else {
- setbuf(stdout, NULL);
- read_thread_start();
- char at_cmd[100];
- //printf(">>");
- while(1)
- {
- memset(at_cmd, 0x0, 100);
- if(fgets(at_cmd, 100, stdin))
- {
- char *ptr = at_cmd + strlen(at_cmd) - 1;
- while(ptr >= at_cmd && (*ptr == '\r' || *ptr == '\n'))
- {
- *ptr-- = '\0';
- }
- // printf("AT:[%ld]%s\n", strlen(at_cmd), at_cmd);
- if(!strncasecmp(at_cmd, "at", 2))
- {
- *(++ptr) = '\r';
- *(++ptr) = '\n';
- if(write(at_fd, at_cmd, strlen(at_cmd)) <= 0) {
- LOGE("Write error:%d",errno);
- break;
- }
- printf(">%s",at_cmd);
-#ifdef MBTK_LOG
- LOGV("AT:%s",at_cmd);
-#endif
- } else if(!strcasecmp(at_cmd, "q")) {
- break;
- } else {
- printf("\n");
- }
- }
- }
- }
- }
-
- close(at_fd);
-
-#ifdef MBTK_LOG
- LOGD("EXIT");
-#endif
- }
-
- return 0;
-}
diff --git a/mbtk/test/device_info.c b/mbtk/test/device_info.c
deleted file mode 100755
index 3dd9b2a..0000000
--- a/mbtk/test/device_info.c
+++ /dev/null
@@ -1,56 +0,0 @@
-#include "mbtk_device.h"
-
-static char* band_2_str(mbtk_modem_band_area_enum band_area)
-{
- switch(band_area)
- {
- case MBTK_MODEM_BAND_AREA_CN:
- return "CN";
- case MBTK_MODEM_BAND_AREA_EU:
- return "EU";
- default:
- return "ALL";
- }
-}
-
-int main(int argc, char *argv[])
-{
- mbtk_device_info_basic_t info_basic;
- memset(&info_basic, 0, sizeof(mbtk_device_info_basic_t));
- int result = mbtk_dev_info_read(MBTK_DEVICE_INFO_ITEM_BASIC, &info_basic, sizeof(mbtk_device_info_basic_t));
- if(result) {
- printf("mbtk_dev_info_read(BASIC) fail.\n");
- return -1;
- }
-
- /*
- uint8 project[16]; // T108 / L508_X6
- uint8 project_cust[16]; // T108_C1 / L508_X6_C1 (Refer to: Custom_Model in blf file.)
- uint32 ab_support; // 1 for ab
- uint8 revision_out[48]; // L508_X6v01.01b04.00
- uint8 revision_in[64];
- */
- printf("Project:%s\n", info_basic.project);
- printf("Custom_Model:%s\n", info_basic.project_cust);
- printf("Revision_Out:%s\n", info_basic.revision_out);
- printf("Revision_In:%s\n", info_basic.revision_in);
- printf("AB System:%s\n", info_basic.ab_support ? "Yes" : "No");
-
- mbtk_device_info_modem_t info_modem;
- memset(&info_modem, 0, sizeof(mbtk_device_info_modem_t));
- result = mbtk_dev_info_read(MBTK_DEVICE_INFO_ITEM_MODEM, &info_modem, sizeof(mbtk_device_info_modem_t));
- if(result) {
- printf("mbtk_dev_info_read(MODEM) fail.\n");
- return -1;
- }
-
- printf("Band:%s\n", band_2_str(info_modem.band_area));
- printf("Band GSM:0x%08x\n", info_modem.band_gsm);
- printf("Band WCDMA:0x%08x\n", info_modem.band_wcdma);
- printf("Band TDLTE:0x%08x\n", info_modem.band_tdlte);
- printf("Band FDDLTE:0x%08x\n", info_modem.band_fddlte);
-
- return 0;
-}
-
-
diff --git a/mbtk/test/liblynq_lib/Makefile b/mbtk/test/liblynq_lib/Makefile
new file mode 100755
index 0000000..55e0360
--- /dev/null
+++ b/mbtk/test/liblynq_lib/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_ril -lmbtk_net -lmbtk_audio -lmbtk_fota -lmbtk_gnss -lmbtk_factory -llynq_lib
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/fota_test.c b/mbtk/test/liblynq_lib/fota_test.c
similarity index 100%
rename from mbtk/test/fota_test.c
rename to mbtk/test/liblynq_lib/fota_test.c
diff --git a/mbtk/test/asr1806/lynq-audio-demo.cpp b/mbtk/test/liblynq_lib/lynq-audio-demo.cpp
similarity index 100%
rename from mbtk/test/asr1806/lynq-audio-demo.cpp
rename to mbtk/test/liblynq_lib/lynq-audio-demo.cpp
diff --git a/mbtk/test/asr1806/lynq_call_test.c b/mbtk/test/liblynq_lib/lynq_call_test.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_call_test.c
rename to mbtk/test/liblynq_lib/lynq_call_test.c
diff --git a/mbtk/test/asr1806/lynq_chip_id.c b/mbtk/test/liblynq_lib/lynq_chip_id.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_chip_id.c
rename to mbtk/test/liblynq_lib/lynq_chip_id.c
diff --git a/mbtk/test/lynq_log_test.c b/mbtk/test/liblynq_lib/lynq_log_test.c
similarity index 100%
rename from mbtk/test/lynq_log_test.c
rename to mbtk/test/liblynq_lib/lynq_log_test.c
diff --git a/mbtk/test/asr1806/lynq_nw_test.c b/mbtk/test/liblynq_lib/lynq_nw_test.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_nw_test.c
rename to mbtk/test/liblynq_lib/lynq_nw_test.c
diff --git a/mbtk/test/asr1806/lynq_qser_sms_test.c b/mbtk/test/liblynq_lib/lynq_qser_sms_test.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_qser_sms_test.c
rename to mbtk/test/liblynq_lib/lynq_qser_sms_test.c
diff --git a/mbtk/test/asr1806/lynq_sleep_test.c b/mbtk/test/liblynq_lib/lynq_sleep_test.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_sleep_test.c
rename to mbtk/test/liblynq_lib/lynq_sleep_test.c
diff --git a/mbtk/test/asr1806/lynq_time_test.c b/mbtk/test/liblynq_lib/lynq_time_test.c
similarity index 100%
rename from mbtk/test/asr1806/lynq_time_test.c
rename to mbtk/test/liblynq_lib/lynq_time_test.c
diff --git a/mbtk/test/asr1806/qser_data_call_test.c b/mbtk/test/liblynq_lib/qser_data_call_test.c
similarity index 100%
rename from mbtk/test/asr1806/qser_data_call_test.c
rename to mbtk/test/liblynq_lib/qser_data_call_test.c
diff --git a/mbtk/test/asr1806/qser_gnss_test.c b/mbtk/test/liblynq_lib/qser_gnss_test.c
old mode 100644
new mode 100755
similarity index 100%
rename from mbtk/test/asr1806/qser_gnss_test.c
rename to mbtk/test/liblynq_lib/qser_gnss_test.c
diff --git a/mbtk/test/asr1806/qser_led_test.c b/mbtk/test/liblynq_lib/qser_led_test.c
old mode 100644
new mode 100755
similarity index 100%
rename from mbtk/test/asr1806/qser_led_test.c
rename to mbtk/test/liblynq_lib/qser_led_test.c
diff --git a/mbtk/test/asr1806/qser_sim_test.c b/mbtk/test/liblynq_lib/qser_sim_test.c
old mode 100644
new mode 100755
similarity index 100%
rename from mbtk/test/asr1806/qser_sim_test.c
rename to mbtk/test/liblynq_lib/qser_sim_test.c
diff --git a/mbtk/test/asr1806/qser_thermal_test.c b/mbtk/test/liblynq_lib/qser_thermal_test.c
old mode 100644
new mode 100755
similarity index 100%
rename from mbtk/test/asr1806/qser_thermal_test.c
rename to mbtk/test/liblynq_lib/qser_thermal_test.c
diff --git a/mbtk/test/asr1806/ring_tele.h b/mbtk/test/liblynq_lib/ring_tele.h
similarity index 100%
rename from mbtk/test/asr1806/ring_tele.h
rename to mbtk/test/liblynq_lib/ring_tele.h
diff --git a/mbtk/test/libmbtk_audio/Makefile b/mbtk/test/libmbtk_audio/Makefile
new file mode 100755
index 0000000..1045e71
--- /dev/null
+++ b/mbtk/test/libmbtk_audio/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_audio
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/asr1806/mbtk_pcm_play_test.c b/mbtk/test/libmbtk_audio/mbtk_pcm_play_test.c
similarity index 100%
rename from mbtk/test/asr1806/mbtk_pcm_play_test.c
rename to mbtk/test/libmbtk_audio/mbtk_pcm_play_test.c
diff --git a/mbtk/test/asr1806/mbtk_pcm_recorder_test.c b/mbtk/test/libmbtk_audio/mbtk_pcm_recorder_test.c
similarity index 100%
rename from mbtk/test/asr1806/mbtk_pcm_recorder_test.c
rename to mbtk/test/libmbtk_audio/mbtk_pcm_recorder_test.c
diff --git a/mbtk/test/asr1806/mbtk_wav_play_test.c b/mbtk/test/libmbtk_audio/mbtk_wav_play_test.c
similarity index 100%
rename from mbtk/test/asr1806/mbtk_wav_play_test.c
rename to mbtk/test/libmbtk_audio/mbtk_wav_play_test.c
diff --git a/mbtk/test/asr1806/mbtk_wav_recorder_test.c b/mbtk/test/libmbtk_audio/mbtk_wav_recorder_test.c
similarity index 100%
rename from mbtk/test/asr1806/mbtk_wav_recorder_test.c
rename to mbtk/test/libmbtk_audio/mbtk_wav_recorder_test.c
diff --git a/mbtk/test/libmbtk_coap/Makefile b/mbtk/test/libmbtk_coap/Makefile
new file mode 100755
index 0000000..28bf46c
--- /dev/null
+++ b/mbtk/test/libmbtk_coap/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_coap
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_coap_test.c b/mbtk/test/libmbtk_coap/mbtk_coap_test.c
similarity index 100%
rename from mbtk/test/mbtk_coap_test.c
rename to mbtk/test/libmbtk_coap/mbtk_coap_test.c
diff --git a/mbtk/test/libmbtk_ecall/Makefile b/mbtk/test/libmbtk_ecall/Makefile
new file mode 100755
index 0000000..28bf46c
--- /dev/null
+++ b/mbtk/test/libmbtk_ecall/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_coap
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/libmbtk_factory/Makefile b/mbtk/test/libmbtk_factory/Makefile
new file mode 100755
index 0000000..d93d8c5
--- /dev/null
+++ b/mbtk/test/libmbtk_factory/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_factory -lmbtk_audio
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_adc_test.c b/mbtk/test/libmbtk_factory/mbtk_adc_test.c
similarity index 100%
rename from mbtk/test/mbtk_adc_test.c
rename to mbtk/test/libmbtk_factory/mbtk_adc_test.c
diff --git a/mbtk/test/libmbtk_fota/Makefile b/mbtk/test/libmbtk_fota/Makefile
new file mode 100755
index 0000000..33a7f43
--- /dev/null
+++ b/mbtk/test/libmbtk_fota/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_fota
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/libmbtk_ftp/Makefile b/mbtk/test/libmbtk_ftp/Makefile
new file mode 100755
index 0000000..d520ad9
--- /dev/null
+++ b/mbtk/test/libmbtk_ftp/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_ftp
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_ftp_test.c b/mbtk/test/libmbtk_ftp/mbtk_ftp_test.c
similarity index 100%
rename from mbtk/test/mbtk_ftp_test.c
rename to mbtk/test/libmbtk_ftp/mbtk_ftp_test.c
diff --git a/mbtk/test/libmbtk_gnss/Makefile b/mbtk/test/libmbtk_gnss/Makefile
new file mode 100755
index 0000000..d520ad9
--- /dev/null
+++ b/mbtk/test/libmbtk_gnss/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_ftp
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/libmbtk_http/Makefile b/mbtk/test/libmbtk_http/Makefile
new file mode 100755
index 0000000..ad42a13
--- /dev/null
+++ b/mbtk/test/libmbtk_http/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_http
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_http_test.c b/mbtk/test/libmbtk_http/mbtk_http_test.c
similarity index 100%
rename from mbtk/test/mbtk_http_test.c
rename to mbtk/test/libmbtk_http/mbtk_http_test.c
diff --git a/mbtk/test/libmbtk_lib/Makefile b/mbtk/test/libmbtk_lib/Makefile
new file mode 100755
index 0000000..844f199
--- /dev/null
+++ b/mbtk/test/libmbtk_lib/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_at_test.c b/mbtk/test/libmbtk_lib/mbtk_at_test.c
similarity index 100%
rename from mbtk/test/mbtk_at_test.c
rename to mbtk/test/libmbtk_lib/mbtk_at_test.c
diff --git a/mbtk/test/libmbtk_mqtt/Makefile b/mbtk/test/libmbtk_mqtt/Makefile
new file mode 100755
index 0000000..4802389
--- /dev/null
+++ b/mbtk/test/libmbtk_mqtt/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_mqtt -lmbtk_http
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_mqtt_aliyun_test.c b/mbtk/test/libmbtk_mqtt/mbtk_mqtt_aliyun_test.c
similarity index 100%
rename from mbtk/test/mbtk_mqtt_aliyun_test.c
rename to mbtk/test/libmbtk_mqtt/mbtk_mqtt_aliyun_test.c
diff --git a/mbtk/test/mbtk_mqtt_test.c b/mbtk/test/libmbtk_mqtt/mbtk_mqtt_test.c
similarity index 100%
rename from mbtk/test/mbtk_mqtt_test.c
rename to mbtk/test/libmbtk_mqtt/mbtk_mqtt_test.c
diff --git a/mbtk/test/libmbtk_net/Makefile b/mbtk/test/libmbtk_net/Makefile
new file mode 100755
index 0000000..d172606
--- /dev/null
+++ b/mbtk/test/libmbtk_net/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_net_control_test.c b/mbtk/test/libmbtk_net/mbtk_net_control_test.c
similarity index 100%
rename from mbtk/test/mbtk_net_control_test.c
rename to mbtk/test/libmbtk_net/mbtk_net_control_test.c
diff --git a/mbtk/test/libmbtk_ril/Makefile b/mbtk/test/libmbtk_ril/Makefile
new file mode 100755
index 0000000..6197845
--- /dev/null
+++ b/mbtk/test/libmbtk_ril/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_ril
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_info_test.c b/mbtk/test/libmbtk_ril/mbtk_info_test.c
similarity index 100%
rename from mbtk/test/mbtk_info_test.c
rename to mbtk/test/libmbtk_ril/mbtk_info_test.c
diff --git a/mbtk/test/libmbtk_tcpip/Makefile b/mbtk/test/libmbtk_tcpip/Makefile
new file mode 100755
index 0000000..0ee33e7
--- /dev/null
+++ b/mbtk/test/libmbtk_tcpip/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_tcpip
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/mbtk_tcpip_test.c b/mbtk/test/libmbtk_tcpip/mbtk_tcpip_test.c
similarity index 100%
rename from mbtk/test/mbtk_tcpip_test.c
rename to mbtk/test/libmbtk_tcpip/mbtk_tcpip_test.c
diff --git a/mbtk/test/tcp_test.c b/mbtk/test/libmbtk_tcpip/tcp_test.c
similarity index 100%
rename from mbtk/test/tcp_test.c
rename to mbtk/test/libmbtk_tcpip/tcp_test.c
diff --git a/mbtk/test/libql_lib/Makefile b/mbtk/test/libql_lib/Makefile
new file mode 100755
index 0000000..3acd13c
--- /dev/null
+++ b/mbtk/test/libql_lib/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -lmbtk_net -lmbtk_ril -lql_lib -lmbtk_audio -lmbtk_http -lmbtk_fota -lmbtk_factory
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/ql_DSI_ConnectManager_test.c b/mbtk/test/libql_lib/ql_DSI_ConnectManager_test.c
similarity index 100%
rename from mbtk/test/ql_DSI_ConnectManager_test.c
rename to mbtk/test/libql_lib/ql_DSI_ConnectManager_test.c
diff --git a/mbtk/test/ql_adc_test.c b/mbtk/test/libql_lib/ql_adc_test.c
similarity index 100%
rename from mbtk/test/ql_adc_test.c
rename to mbtk/test/libql_lib/ql_adc_test.c
diff --git a/mbtk/test/ql_call_test.c b/mbtk/test/libql_lib/ql_call_test.c
similarity index 100%
rename from mbtk/test/ql_call_test.c
rename to mbtk/test/libql_lib/ql_call_test.c
diff --git a/mbtk/test/ql_dev_test.c b/mbtk/test/libql_lib/ql_dev_test.c
similarity index 100%
rename from mbtk/test/ql_dev_test.c
rename to mbtk/test/libql_lib/ql_dev_test.c
diff --git a/mbtk/test/ql_gpio_test.c b/mbtk/test/libql_lib/ql_gpio_test.c
similarity index 100%
rename from mbtk/test/ql_gpio_test.c
rename to mbtk/test/libql_lib/ql_gpio_test.c
diff --git a/mbtk/test/ql_i2c_test.c b/mbtk/test/libql_lib/ql_i2c_test.c
similarity index 100%
rename from mbtk/test/ql_i2c_test.c
rename to mbtk/test/libql_lib/ql_i2c_test.c
diff --git a/mbtk/test/ql_nw_test.c b/mbtk/test/libql_lib/ql_nw_test.c
similarity index 100%
rename from mbtk/test/ql_nw_test.c
rename to mbtk/test/libql_lib/ql_nw_test.c
diff --git a/mbtk/test/ql_sim_test.c b/mbtk/test/libql_lib/ql_sim_test.c
similarity index 100%
rename from mbtk/test/ql_sim_test.c
rename to mbtk/test/libql_lib/ql_sim_test.c
diff --git a/mbtk/test/ql_sms_test.c b/mbtk/test/libql_lib/ql_sms_test.c
similarity index 100%
rename from mbtk/test/ql_sms_test.c
rename to mbtk/test/libql_lib/ql_sms_test.c
diff --git a/mbtk/test/ql_spi_test.c b/mbtk/test/libql_lib/ql_spi_test.c
similarity index 100%
rename from mbtk/test/ql_spi_test.c
rename to mbtk/test/libql_lib/ql_spi_test.c
diff --git a/mbtk/test/ql_uart_test.c b/mbtk/test/libql_lib/ql_uart_test.c
similarity index 100%
rename from mbtk/test/ql_uart_test.c
rename to mbtk/test/libql_lib/ql_uart_test.c
diff --git a/mbtk/test/ql_voice_test.c b/mbtk/test/libql_lib/ql_voice_test.c
similarity index 100%
rename from mbtk/test/ql_voice_test.c
rename to mbtk/test/libql_lib/ql_voice_test.c
diff --git a/mbtk/test/mbtk_dsp_gain_set.c b/mbtk/test/mbtk_dsp_gain_set.c
deleted file mode 100755
index bae9485..0000000
--- a/mbtk/test/mbtk_dsp_gain_set.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "mbtk_audio_gain.h"
-#include "mbtk_log.h"
-
-static void help()
-{
- printf("./mbtk_dsp_gain_set spk/mic <gain>\n");
-}
-
-int main(int argc, char *argv[])
-{
- if(argc != 3) {
- help();
- return -1;
- }
-
- if(strcmp(argv[1], "spk") && strcmp(argv[1], "mic")) {
- help();
- return -1;
- }
-
- mbtk_log_init("radio", "MBTK_GAIN");
-
- CONFIG_DSPGAIN_Direction dir = CONFIG_DSPGAIN_RX;
- if(!strcmp(argv[1], "mic")) {
- dir = CONFIG_DSPGAIN_TX;
- }
- if(mbtk_dsp_gain_set(dir, atoi(argv[2]))) {
- printf("\nFail.\n");
- } else {
- printf("\nSuccess.\n");
- }
-
- return 0;
-}
-
-
diff --git a/mbtk/test/mbtk_mdio.c b/mbtk/test/mbtk_mdio.c
deleted file mode 100644
index b1010fc..0000000
--- a/mbtk/test/mbtk_mdio.c
+++ /dev/null
@@ -1,91 +0,0 @@
-
-//mdio eth0 1 读取phy寄存器1的数值
-//mdio eth0 0 0x1120 将0x1120写入 phy寄存器1
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <linux/mii.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <net/if.h>
-#include <linux/sockios.h>
-#include <linux/types.h>
-#include <netinet/in.h>
-#include <unistd.h>
-
-
-#define reteck(ret) \
- if(ret < 0){ \
- printf("%m! \"%s\" : line: %d\n", __func__, __LINE__); \
- goto lab; \
- }
-
-#define help() \
- printf("mdio:\n"); \
- printf("read operation: mdio reg_addr\n"); \
- printf("write operation: mdio reg_addr value\n"); \
- printf("For example:\n"); \
- printf("mdio eth0 1\n"); \
- printf("mdio eth0 0 0x12\n\n"); \
- exit(0);
-
-int sockfd;
-
-int main(int argc, char *argv[]){
-
- if(argc == 1 || !strcmp(argv[1], "-h")){
- help();
- }
-
- struct mii_ioctl_data *mii = NULL;
- struct ifreq ifr;
- int ret;
-
- memset(&ifr, 0, sizeof(ifr));
- strncpy(ifr.ifr_name, argv[1], IFNAMSIZ - 1);
-
- sockfd = socket(PF_LOCAL, SOCK_DGRAM, 0);
- reteck(sockfd);
-
- //get phy address in smi bus
- ret = ioctl(sockfd, SIOCGMIIPHY, &ifr);
- reteck(ret);
-
- mii = (struct mii_ioctl_data*)&ifr.ifr_data;
-
- if(argc == 3){
-
- mii->reg_num = (uint16_t)strtoul(argv[2], NULL, 0);
-
- ret = ioctl(sockfd, SIOCGMIIREG, &ifr);
- reteck(ret);
-
- printf("read phy addr: 0x%x reg: 0x%x value : 0x%x\n", mii->phy_id, mii->reg_num, mii->val_out);
-
- if (mii->reg_num == 0x1)
- {
- printf("Link Status\n");
-
- if(mii->val_out& 0x0004){
- printf("link is up\n");
- }else{
- printf("link is down\n");
- }
- }
- }else if(argc == 4){
-
- mii->reg_num = (uint16_t)strtoul(argv[2], NULL, 0);
- mii->val_in = (uint16_t)strtoul(argv[3], NULL, 0);
-
- ret = ioctl(sockfd, SIOCSMIIREG, &ifr);
- reteck(ret);
-
- printf("write phy addr: 0x%x reg: 0x%x value : 0x%x\n", mii->phy_id, mii->reg_num, mii->val_in);
- }
-
- lab:
- close(sockfd);
- return 0;
-}
\ No newline at end of file
diff --git a/mbtk/test/mtd_info.c b/mbtk/test/mtd_info.c
deleted file mode 100755
index 8076076..0000000
--- a/mbtk/test/mtd_info.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "mbtk_mtd.h"
-
-
-int main(int argc, char *argv[])
-{
- mbtk_partition_info_t *partition_info = mbtk_partition_get();
- if(partition_info != NULL) {
- int i = 0;
- while(i < MBTK_PARTITION_NUM_MAX) {
- if(partition_info[i].used) {
- printf("%s(%s) : %08x %08x\n", partition_info[i].name, partition_info[i].dev,
- partition_info[i].partition_start, partition_info[i].partition_size);
- }
- i++;
- }
- }
- return 0;
-}
-
diff --git a/mbtk/test/others/Makefile b/mbtk/test/others/Makefile
new file mode 100755
index 0000000..7dc5e8b
--- /dev/null
+++ b/mbtk/test/others/Makefile
@@ -0,0 +1,34 @@
+ROOT = $(shell pwd)/../../..
+include $(ROOT)/mbtk/Make.defines
+
+INC_DIR +=
+
+LIB_DIR +=
+
+LIBS += -lmbtk_lib -laudio-apu -lcutils -ltinyalsa -lacm -lubus -lubox
+
+CFLAGS +=
+
+DEFINE +=
+
+LOCAL_SRC_FILES = $(wildcard *.c) $(wildcard *.cpp)
+
+$(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
+
+OBJS = $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(LOCAL_SRC_FILES)))
+BINS = $(patsubst %.o,%,$(OBJS))
+
+all: $(BINS)
+
+$(BINS):$(OBJS)
+ @echo " BIN $@"
+ $(CC) $(CFLAGS) $(LIB_DIR) $(LIBS) $@.o -o $(OUT_DIR)/bin/$@
+
+%.o:%.c
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+%.o:%.cpp
+ $(CC) $(CFLAGS) $(INC_DIR) $(DEFINE) -c $< -o $@
+
+clean:
+ rm -f $(OBJS)
diff --git a/mbtk/test/fb_demo.c b/mbtk/test/others/fb_demo.c
similarity index 100%
rename from mbtk/test/fb_demo.c
rename to mbtk/test/others/fb_demo.c
diff --git a/mbtk/test/framebuffer_demo.c b/mbtk/test/others/framebuffer_demo.c
similarity index 100%
rename from mbtk/test/framebuffer_demo.c
rename to mbtk/test/others/framebuffer_demo.c
diff --git a/mbtk/test/fs_full.c b/mbtk/test/others/fs_full.c
similarity index 100%
rename from mbtk/test/fs_full.c
rename to mbtk/test/others/fs_full.c
diff --git a/mbtk/test/iconv_demo.cc b/mbtk/test/others/iconv_demo.cc
similarity index 100%
rename from mbtk/test/iconv_demo.cc
rename to mbtk/test/others/iconv_demo.cc
diff --git a/mbtk/test/key_ev_demo.c b/mbtk/test/others/key_ev_demo.c
similarity index 100%
rename from mbtk/test/key_ev_demo.c
rename to mbtk/test/others/key_ev_demo.c
diff --git a/mbtk/test/mbtk_spi_write.c b/mbtk/test/others/mbtk_spi_write.c
similarity index 100%
rename from mbtk/test/mbtk_spi_write.c
rename to mbtk/test/others/mbtk_spi_write.c
diff --git a/mbtk/test/partition_write_demo.c b/mbtk/test/others/partition_write_demo.c
similarity index 100%
rename from mbtk/test/partition_write_demo.c
rename to mbtk/test/others/partition_write_demo.c
diff --git a/mbtk/test/polarssl_demo.c b/mbtk/test/others/polarssl_demo.c
similarity index 100%
rename from mbtk/test/polarssl_demo.c
rename to mbtk/test/others/polarssl_demo.c
diff --git a/mbtk/test/touch_ev_demo.c b/mbtk/test/others/touch_ev_demo.c
similarity index 100%
rename from mbtk/test/touch_ev_demo.c
rename to mbtk/test/others/touch_ev_demo.c
diff --git a/mbtk/test/ubus_demo.c b/mbtk/test/others/ubus_demo.c
similarity index 100%
rename from mbtk/test/ubus_demo.c
rename to mbtk/test/others/ubus_demo.c
diff --git a/mbtk/test/usb_check.c b/mbtk/test/others/usb_check.c
similarity index 100%
rename from mbtk/test/usb_check.c
rename to mbtk/test/others/usb_check.c