Portapack应用开发教程(十五) APRS接收 C

过去一年,我一直在更新PortaPack硬件,软件这块暂停了很久。其实我当时做的APRS接收一直是有点问题,不是每次发射都能正确解调,并且有时候会跳出乱码。

这是因为我只是在参考aprs tx代码写rx,并没有真的找到标准协议。

后来我发现mayhem固件里有另一个老外(east2west,不是eried)也做了一个aprs接收,并且据说可以跟对讲机发出的标准的aprs信号互通。

我先试了一下mayhem中的这一部分功能,发现用它发射给我的接收,我的接收虽然也能收,但也会有点问题,就跟对讲机发给我一样,出现false_detect的数据包。

后来我又用我的固件发射,然后分别用我和mayhem的固件接收,效果如下:

我的固件接收(左边) 我的固件发射(中间)mayhem接收(右边)

可以看出我自己固件收自己的信号也会有点问题,但是mayhem收我的信号就没什么问题。

如果以mayhem为标准的话,我的发射能发给它的接收,说明我的发射没什么问题。我的接收应该是不如它的接收,但是应该也比较接近了。

因此,我的主要问题集中在接收,不是发射上(furrtek当时做的发射,多半没问题,后来我多加了一句add_flag(),这句改回去就行了)。

然后我看了mayhem aprs rx的接收。其实它的解调proc_aprsrx.cpp跟我用的解调代码proc_afskrx.cpp差不多,主要区别是在解码上aprs_packet.hpp。如果你感兴趣,可以看看mayhem项目中的这几个代码。

除此之外,mayhem中还有一些地方有小修改,在message.hpp baseband_api.cpp ui_widget.cpp中。最后,还有一个不得不提的是ui_aprs_rx.cpp,它对应的是aprs接收程序的界面,界面显示代码技术含量不高。

后来我把mayhem所有有关aprs接收的代码都合并了进来,这样这方面的功能就跟他同步了。

上图就是mayhem的aprs tx发给我最新固件的aprs rx的效果。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值