mirror of
https://github.com/n5ac/smartsdr-dsp.git
synced 2026-03-05 20:03:49 +01:00
Encapsulate encode/decode test into function.
This commit is contained in:
parent
d60f28031d
commit
81bb26dc15
|
|
@ -592,6 +592,10 @@ static void* _sched_waveform_thread(void* param)
|
|||
|
||||
void sched_waveform_Init(void)
|
||||
{
|
||||
|
||||
_gmsk_demod = gmsk_createDemodulator();
|
||||
_gmsk_mod = gmsk_createModulator();
|
||||
|
||||
pthread_rwlock_init(&_list_lock, NULL);
|
||||
|
||||
pthread_rwlock_wrlock(&_list_lock);
|
||||
|
|
@ -609,43 +613,8 @@ void sched_waveform_Init(void)
|
|||
fifo_param.sched_priority = 30;
|
||||
pthread_setschedparam(_waveform_thread, SCHED_FIFO, &fifo_param);
|
||||
|
||||
_gmsk_demod = gmsk_createDemodulator();
|
||||
_gmsk_mod = gmsk_createModulator();
|
||||
//gmsk_testBitsAndEncodeDecode();
|
||||
|
||||
float test_buffer[160*2];
|
||||
unsigned char test_coded[8] = {0xAA,0xAA,0xFF,0x00,0xFF,0x00,0xFF,0x00};
|
||||
unsigned char output_bytes[8] = {0};
|
||||
uint32 i = 0;
|
||||
|
||||
//
|
||||
// BOOL bits[32] = {0};
|
||||
// gmsk_bytesToBits(test_coded, bits, 32);
|
||||
// gmsk_byteToBits(0xF0, bits, 8);
|
||||
// output("0xF0 = ");
|
||||
//
|
||||
// for ( i = 0 ; i < 8; i++ ){
|
||||
// output("%d ", bits[i]);
|
||||
// }
|
||||
// output("\n");
|
||||
// unsigned char test[4] = {0xAA, 0xAA, 0xAA, 0xAA};
|
||||
// gmsk_bytesToBits(test, bits, 32);
|
||||
//
|
||||
// for ( i = 0 ; i < 32/8 ; i++ ) {
|
||||
// gmsk_bitsToByte(&bits[i*8], &output_bytes[i]);
|
||||
// output("Byte = 0x%02X\n", output_bytes[i]);
|
||||
// }
|
||||
//
|
||||
gmsk_encodeBuffer(_gmsk_mod, test_coded, 32*2, test_buffer, 160*2);
|
||||
// FILE * dat = fopen("gmsk.dat", "w");
|
||||
// for ( i = 0 ; i < 160*2 ; i++ ) {
|
||||
// fprintf(dat, "%d %.12f\n", i, test_buffer[i]);
|
||||
// //output("%.12f,", test_buffer[i]);
|
||||
// }
|
||||
// fclose(dat);
|
||||
|
||||
gmsk_decodeBuffer(_gmsk_demod, test_buffer, 160*2, output_bytes, 32*2);
|
||||
|
||||
exit(0);
|
||||
}
|
||||
|
||||
void sched_waveformThreadExit()
|
||||
|
|
|
|||
|
|
@ -400,3 +400,47 @@ void gmsk_destroyModulator(GMSK_MOD mod )
|
|||
|
||||
}
|
||||
|
||||
void gmsk_testBitsAndEncodeDecode(void)
|
||||
{
|
||||
|
||||
GMSK_DEMOD _gmsk_demod = gmsk_createDemodulator();
|
||||
GMSK_MOD _gmsk_mod = gmsk_createModulator();
|
||||
|
||||
float test_buffer[160*2];
|
||||
unsigned char test_coded[8] = {0xAA,0xAA,0xFF,0x00,0xFF,0x00,0xFF,0x00};
|
||||
unsigned char output_bytes[8] = {0};
|
||||
uint32 i = 0;
|
||||
|
||||
|
||||
BOOL bits[32] = {0};
|
||||
gmsk_bytesToBits(test_coded, bits, 32);
|
||||
gmsk_byteToBits(0xF0, bits, 8);
|
||||
output("0xF0 = ");
|
||||
|
||||
for ( i = 0 ; i < 8; i++ ){
|
||||
output("%d ", bits[i]);
|
||||
}
|
||||
output("\n");
|
||||
unsigned char test[4] = {0xAA, 0xAA, 0xAA, 0xAA};
|
||||
gmsk_bytesToBits(test, bits, 32);
|
||||
|
||||
for ( i = 0 ; i < 32/8 ; i++ ) {
|
||||
gmsk_bitsToByte(&bits[i*8], &output_bytes[i]);
|
||||
output("Byte = 0x%02X\n", output_bytes[i]);
|
||||
}
|
||||
//
|
||||
gmsk_encodeBuffer(_gmsk_mod, test_coded, 32*2, test_buffer, 160*2);
|
||||
FILE * dat = fopen("gmsk.dat", "w");
|
||||
for ( i = 0 ; i < 160*2 ; i++ ) {
|
||||
fprintf(dat, "%d %.12f\n", i, test_buffer[i]);
|
||||
//output("%.12f,", test_buffer[i]);
|
||||
}
|
||||
fclose(dat);
|
||||
|
||||
gmsk_decodeBuffer(_gmsk_demod, test_buffer, 160*2, output_bytes, 32*2);
|
||||
|
||||
gmsk_destroyDemodulator(_gmsk_demod);
|
||||
gmsk_destroyModulator(_gmsk_mod);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -58,6 +58,9 @@ typedef struct _gmsk_mod
|
|||
|
||||
FIR_FILTER filter;
|
||||
} gmsk_mod, * GMSK_MOD;
|
||||
|
||||
void gmsk_testBitsAndEncodeDecode(void);
|
||||
|
||||
void gmsk_bitsToByte(BOOL * bits, unsigned char * byte);
|
||||
void gmsk_byteToBits(unsigned char byte, BOOL * bits, uint32 num_bits);
|
||||
void gmsk_bytesToBits(unsigned char * bytes, BOOL * bits, uint32 num_bits);
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ int thumbDV_openSerial(const char * tty_name)
|
|||
return -1;
|
||||
}
|
||||
|
||||
//output("opened %s - fd = %d\n", tty_name, fd);
|
||||
output("opened %s - fd = %d\n", tty_name, fd);
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
|
@ -378,7 +378,7 @@ int thumbDV_processSerial(int serial_fd)
|
|||
packet_type = buffer[3];
|
||||
//dump("Serial data", buffer, respLen);
|
||||
if ( packet_type == AMBE3000_CTRL_PKT_TYPE ) {
|
||||
// dump("Serial data", buffer, respLen);
|
||||
dump("Serial data", buffer, respLen);
|
||||
} else if ( packet_type == AMBE3000_CHAN_PKT_TYPE ) {
|
||||
desc = hal_BufferRequest(respLen, sizeof(unsigned char) );
|
||||
memcpy(desc->buf_ptr, buffer, respLen);
|
||||
|
|
|
|||
Loading…
Reference in a new issue