123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- #include "src/includes/includes.h"
- #include "src/sysdefine/sysmacro.h"
- extern PUB_LOCATION_DATA_T gg_astLocationDataList[PUB_SYS_CARRIER_NUM];
- int main()
- {
-
- main_module_init();
-
- imu_init();
-
- if (PUB_DEBUG_ENABLE)
- {
- main_read_wav();
-
- }
- printf("wasm init ok\n");
- return 0;
- }
- void main_module_init()
- {
-
- sysmain_init();
- return;
- }
- void main_read_wav()
- {
-
-
- const char *pFileName = "E:\\work\\ips8000\\aplm8000sdk\\wave\\zcq_6bts_rect_0327.wav";
- int16 *pwData = NULL;
- uint8 byIsOver = 0;
- uint16 wCounter = 0;
-
- pwData = (int16 *)dmdl_main_get_audio_sample_data();
- #pragma pack(push, 1)
- typedef struct
- {
- char chunkID[4];
- int chunkSize;
- char format[4];
- char subchunk1ID[4];
- int subchunk1Size;
- short audioFormat;
- short numChannels;
- int sampleRate;
- int byteRate;
- short blockAlign;
- short bitsPerSample;
- char subchunk2ID[4];
- int subchunk2Size;
- } WaveHeader;
- #pragma pack(pop)
- FILE *file = fopen(pFileName, "rb");
- if (file == NULL)
- {
- perror("Error opening file");
- return;
- }
- WaveHeader header;
- if (fread(&header, sizeof(WaveHeader), 1, file) != 1)
- {
- perror("Error reading header");
- fclose(file);
- return;
- }
- int bytesPerSample = header.bitsPerSample / 8;
- int totalSamples = header.subchunk2Size / bytesPerSample;
- int samplesToRead = 12000;
- int bytesRead = 0;
- while (bytesRead < totalSamples)
- {
- int remainingSamples = totalSamples - bytesRead;
- int samplesToReadNow = (remainingSamples >= samplesToRead) ? samplesToRead : remainingSamples;
- memset(pwData, 0, sizeof(int16) * PUB_SLOT_FRAME_LEN);
- int actualRead = (int)fread(pwData, bytesPerSample, samplesToReadNow, file);
- if (actualRead != samplesToReadNow)
- {
- if (feof(file))
- {
- printf("total %d frame\n", wCounter);
- byIsOver = 1;
- break;
- }
- else
- {
- byIsOver = 1;
- perror("Error reading samples");
- fclose(file);
- return;
- }
- }
-
-
-
-
-
-
-
- if (!byIsOver || actualRead != PUB_SLOT_FRAME_LEN)
- {
-
- sysmain_audio_signal_process();
- }
- bytesRead += actualRead;
- }
- return;
- }
- void main_read_bin()
- {
- uint8 byFlag = 1;
- char *pFilePaht = "E:\\work\\ips8000\\aplm8000sdk\\wave\\IPS8000.bin";
- int16 *pwData = NULL;
- uint16 wReadTimes = 0;
- pwData = (int16 *)dmdl_main_get_audio_sample_data();
- while (byFlag)
- {
- memset(pwData, 0, sizeof(int16) * PUB_SLOT_FRAME_LEN);
- byFlag = util_file_read_int16_from_bin_file(pFilePaht, wReadTimes, PUB_SLOT_FRAME_LEN, pwData);
- if (!byFlag)
- {
- printf("is over\n");
- break;
- }
- sysmain_audio_signal_process();
- wReadTimes++;
- }
- }
- void main_test_matrix()
- {
- flt32 afM1[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
- flt32 afM2[16] = {0};
- uint8 bySize = 4;
- matrix_inversion(afM1, afM2, bySize);
- matrix_print(afM1, 4, 4);
- matrix_print(afM2, 4, 4);
- }
- void main_test_fft()
- {
- flt32 afRealDataList[8] = {-0.0000001, -0.0000002, -0.0000003, -0.0000004, 0.0000001, 0.0000002, 0.0000003, 0.0000004};
- flt32 afImagDataList[8] = {0};
- uint16 awButterFlyList[8] = {0};
-
- util_fft_init_butterfly_table(8, (short *)awButterFlyList);
- util_fft_fft(8, afRealDataList, afImagDataList, (short *)awButterFlyList);
- util_fft_ifft(8, afRealDataList, afImagDataList, (short *)awButterFlyList);
- }
|