replace custom function with lib/ function
parent
8daa5b464f
commit
e802fcefb7
|
@ -46,54 +46,6 @@ namespace gr {
|
||||||
|
|
||||||
struct LSF lsf;
|
struct LSF lsf;
|
||||||
|
|
||||||
void send_Preamble(const uint8_t type,float *out, int *counterout)
|
|
||||||
{
|
|
||||||
float symb;
|
|
||||||
|
|
||||||
if(type) //pre-BERT
|
|
||||||
{
|
|
||||||
for(uint16_t i=0; i<(int)(192/2); i++) //40ms * 4800 = 192
|
|
||||||
{
|
|
||||||
symb=-3.0;
|
|
||||||
// write(STDOUT_FILENO, (uint8_t*)&symb, sizeof(float));
|
|
||||||
out[*counterout]=symb;
|
|
||||||
*counterout=(*counterout)+1;
|
|
||||||
symb=+3.0;
|
|
||||||
// write(STDOUT_FILENO, (uint8_t*)&symb, sizeof(float));
|
|
||||||
out[*counterout]=symb;
|
|
||||||
*counterout=(*counterout)+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else //pre-LSF
|
|
||||||
{
|
|
||||||
for(uint16_t i=0; i<(int)(192/2); i++) //40ms * 4800 = 192
|
|
||||||
{
|
|
||||||
symb=+3.0;
|
|
||||||
// write(STDOUT_FILENO, (uint8_t*)&symb, sizeof(float));
|
|
||||||
out[*counterout]=symb;
|
|
||||||
*counterout=(*counterout)+1;
|
|
||||||
symb=-3.0;
|
|
||||||
// write(STDOUT_FILENO, (uint8_t*)&symb, sizeof(float));
|
|
||||||
out[*counterout]=symb;
|
|
||||||
*counterout=(*counterout)+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// now ../M17_Implementations/SP5WWP/lib/lib.c:void send_syncword(const uint16_t syncword)
|
|
||||||
void send_Syncword(const uint16_t sword, float *out, int *counterout)
|
|
||||||
{
|
|
||||||
float symb;
|
|
||||||
|
|
||||||
for(uint8_t i=0; i<16; i+=2)
|
|
||||||
{
|
|
||||||
symb=symbol_map[(sword>>(14-i))&3];
|
|
||||||
// write(STDOUT_FILENO, (uint8_t*)&symb, sizeof(float));
|
|
||||||
out[*counterout]=symb;
|
|
||||||
*counterout=(*counterout)+1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
m17_coder::sptr
|
m17_coder::sptr
|
||||||
m17_coder::make(std::string src_id,std::string dst_id,short type,std::string meta, bool debug)
|
m17_coder::make(std::string src_id,std::string dst_id,short type,std::string meta, bool debug)
|
||||||
{
|
{
|
||||||
|
@ -193,7 +145,7 @@ void m17_coder_impl::set_type(short type)
|
||||||
float *out = (float *) output_items[0];
|
float *out = (float *) output_items[0];
|
||||||
|
|
||||||
int countin=0;
|
int countin=0;
|
||||||
int countout=0;
|
uint32_t countout=0;
|
||||||
|
|
||||||
uint8_t enc_bits[SYM_PER_PLD*2]; //type-2 bits, unpacked
|
uint8_t enc_bits[SYM_PER_PLD*2]; //type-2 bits, unpacked
|
||||||
uint8_t rf_bits[SYM_PER_PLD*2]; //type-4 bits, unpacked
|
uint8_t rf_bits[SYM_PER_PLD*2]; //type-4 bits, unpacked
|
||||||
|
@ -203,7 +155,7 @@ void m17_coder_impl::set_type(short type)
|
||||||
uint8_t data[16]; //raw payload, packed bits
|
uint8_t data[16]; //raw payload, packed bits
|
||||||
uint8_t lich_cnt=0; //0..5 LICH counter, derived from the Frame Number
|
uint8_t lich_cnt=0; //0..5 LICH counter, derived from the Frame Number
|
||||||
|
|
||||||
while (countout<noutput_items) {
|
while (countout<(uint32_t)noutput_items) {
|
||||||
if (countin+16<=noutput_items)
|
if (countin+16<=noutput_items)
|
||||||
{if(_got_lsf) //stream frames
|
{if(_got_lsf) //stream frames
|
||||||
{
|
{
|
||||||
|
@ -211,7 +163,7 @@ void m17_coder_impl::set_type(short type)
|
||||||
for (int i=0;i<16;i++) {data[i]=in[countin];countin++;}
|
for (int i=0;i<16;i++) {data[i]=in[countin];countin++;}
|
||||||
|
|
||||||
//send stream frame syncword
|
//send stream frame syncword
|
||||||
send_Syncword(SYNC_STR,out,&countout);
|
send_syncword(out,&countout,SYNC_STR);
|
||||||
|
|
||||||
//derive the LICH_CNT from the Frame Number
|
//derive the LICH_CNT from the Frame Number
|
||||||
lich_cnt=_fn%6;
|
lich_cnt=_fn%6;
|
||||||
|
@ -362,10 +314,11 @@ void m17_coder_impl::set_type(short type)
|
||||||
conv_encode_LSF(enc_bits, &lsf);
|
conv_encode_LSF(enc_bits, &lsf);
|
||||||
|
|
||||||
//send out the preamble and LSF
|
//send out the preamble and LSF
|
||||||
send_Preamble(0,out,&countout); //0 - LSF preamble, as opposed to 1 - BERT preamble
|
//send_Preamble(0,out,&countout); //0 - LSF preamble, as opposed to 1 - BERT preamble
|
||||||
|
send_preamble(out, &countout, 0);
|
||||||
|
|
||||||
//send LSF syncword
|
//send LSF syncword
|
||||||
send_Syncword(SYNC_LSF,out,&countout);
|
send_syncword(out,&countout,SYNC_LSF);
|
||||||
|
|
||||||
//reorder bits
|
//reorder bits
|
||||||
for(uint16_t i=0; i<SYM_PER_PLD*2; i++)
|
for(uint16_t i=0; i<SYM_PER_PLD*2; i++)
|
||||||
|
|
Loading…
Reference in New Issue