5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

2801PRO重生,改为ER9X加多协议,WK2X01及DSM2测试通过,近期发布测试版及刷机教程

查看数: 14985 | 评论数: 92 | 收藏 12
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-1-22 15:28

正文摘要:

本帖最后由 起子 于 2014-6-13 18:13 编辑 就我了解的,大家玩得比较多的开源控,一是ER9X,这个是基于福斯9的一套开源系统;另外一个是基于DEVO系列的DEVIATION开源系统。     本来这两者没啥联系的 ...

回复

pamhobby 发表于 2014-9-29 19:37
先支持鲁主。留名

欢迎继续阅读楼主其他信息

wdl67 发表于 2014-6-15 22:24
很期待刷机教程,感谢LZ。
出去也跛行 发表于 2014-6-15 21:10
这个要顶,辛苦了
起子 发表于 2014-6-13 18:13
2014.06.13更新,WK2X01和DSM2协议测试通过,改了几个小问题,打算近期发布测试板及刷机教程
[flash]http://www.tudou.com/v/HcjOBiRYm8U/&rpid=80580321&resourceId=80580321_04_05_99==.html[/media]

ccctv 发表于 2014-6-10 13:10
加油 加油 加油 加油                ................           大神!!!
wdl67 发表于 2014-6-7 09:04

铜河 发表于 2014-6-7 08:07
换CPU就复杂了,不建议换。
起子 发表于 2014-6-6 23:48
铜河 发表于 2014-6-6 20:33
看了程序,发现其中有不少重复的,可以清理一下,合理安排后,空间或许够用

目前MEGA64单CYRF6936射频DSM2/X,DEVO,WK2X01协议刚好够用了。
如果是MEGA128的话,应该可以多射频系统,更多协议了

铜河 发表于 2014-6-6 20:33
看了程序,发现其中有不少重复的,可以清理一下,合理安排后,空间或许够用
起子 发表于 2014-6-6 14:34
本帖最后由 起子 于 2014-6-6 14:42 编辑

2014.06.06更新,搁置一段时间后,最近几天又开始折腾了,已经改为16M晶振(估计不改也行),根据铜河的建议将射频发送频率改为20ms并同步修改了一些参数,现在RX2801也能成功对码并响应了。

响应行程已经修正,响应速度比以前快多了,至少我感觉不出来明显延迟。

不过开机时有时候自己重启,运行后没发现过。

下一步改DSM2的响应行程,增加射频切换功能,测试DEVO协议(求成都模友提供一个DEVO的6通接收机测试DEVO协议)。
目前基于MEGA64的WK2801改ER9X并整合DSM2/X,WK2X01,DEVO协议后,程序空间占用98.2%,数据空间占用86%。
如果是基于MEGA128的ER9X,有希望再增加1-2个射频模块,多增加几个协议。

大漠游民 发表于 2014-5-14 22:56
起子 发表于 2014-5-9 22:33
楼上几位,这几天事情太多,没来得及回复,下周空了联系吧。
今天中午抽空在16m下试了,运行wk协议还是系统 ...


楼主手上有wk2801pro的固件吗?有的话能不能给我一份,谢谢
祝楼主早日成功
铜河 发表于 2014-5-12 12:06
起子 发表于 2014-5-9 22:33
楼上几位,这几天事情太多,没来得及回复,下周空了联系吧。
今天中午抽空在16m下试了,运行wk协议还是系统 ...

好久没来论坛,原来起子兄在研究这个,顶!
对AVR比较熟,有什么问题我们也许可以交流!
祝早日成功!

b.b125 发表于 2014-5-11 22:58
我也是2801的,但我不知道为什么要改,改了会有什么好处?
起子 发表于 2014-5-9 22:33
楼上几位,这几天事情太多,没来得及回复,下周空了联系吧。
今天中午抽空在16m下试了,运行wk协议还是系统走时很慢。
来自安卓客户端
leevalour 发表于 2014-5-9 17:14
gongye5776601 发表于 2014-5-9 15:11
谢谢兄弟 我就是这个812版本的搞不定了 其他的都能改过来了 而且很简单的 我Q1664573305你的联系方式方便 ...

Q 32044538

gongye5776601 发表于 2014-5-9 15:11
leevalour 发表于 2014-5-9 13:40
看你是左右反 还是上下反
具体需要看sed1565 或者 st7565控制器说明
一个参数是SEG的正和反 这个是控制 ...

谢谢兄弟 我就是这个812版本的搞不定了 其他的都能改过来了 而且很简单的 我Q1664573305你的联系方式方便透漏下吗
gongye5776601 发表于 2014-5-9 15:01
jpshu123 发表于 2014-5-9 13:37
这个也要改
// controller independent options
#define SERIAL_LCD      0       // parallel=0, 4W_s ...

这里改了 也不行的 这个版本的源码这么麻烦呢 以前只要改一处就可以了呀 还需要改哪里呢
leevalour 发表于 2014-5-9 13:40
本帖最后由 leevalour 于 2014-5-9 13:42 编辑
gongye5776601 发表于 2014-5-9 12:48
# if ROTATE_SCREEN
  0xA0,         // ADC = 1: reverse direction(SEG128->SEG1)
  0xC0,         / ...

看你是左右反 还是上下反
具体需要看sed1565 或者 st7565控制器说明
一个参数是SEG的正和反 这个是控制左右的
一个参数是COM的正和反 这个是控制上下的

有一起交流er9x源码的朋友没 可以pm加qq讨论下 我只玩固定翼 对直的那些参数 还有混控完全没研究啊
看源代码很多不明白
目前进度:
完成12864驱动部分,实现12点阵中文菜单的显示,
实现图像任意位置显示,以及简单的绘制线条函数


jpshu123 发表于 2014-5-9 13:37
gongye5776601 发表于 2014-5-9 12:48
# if ROTATE_SCREEN
  0xA0,         // ADC = 1: reverse direction(SEG128->SEG1)
  0xC0,         / ...

这个也要改
// controller independent options
#define SERIAL_LCD      0       // parallel=0, 4W_serial=1
#define ROTATE_SCREEN   1       // don't-rotate-screen=0, rotate-180-degree=1
#define REVERSE_VIDEO   1       // normal-video=0, reverse-video=1

还有要改的地方,需要仔细阅读源程序

gongye5776601 发表于 2014-5-9 12:48
jpshu123 发表于 2014-5-9 09:54
ER9X源码里LCD.CPP的代码需要修改所有的ROTATE_SCREEN

在这里

# if ROTATE_SCREEN
  0xA0,         // ADC = 1: reverse direction(SEG128->SEG1)
  0xC0,         // SHL = 1: reverse direction (COM64->COM1)
# else
  0xA1,         // ADC = 0: normal direction(SEG1->SEG128)
  0xC8,         // SHL = 0: normal direction (COM1->COM64)
# if ROTATE_SCREEN
  0xA1,         // ADC = 0: normal direction(SEG1->SEG132/SEG128)
  0xC0,         // SHL = 1: reverse direction (COM64->COM1)
# else
  0xA0,         // ADC = 1: reverse direction(SEG132/SEG128->SEG1)
  0xC8,         // SHL = 0: normal direction (COM1->COM64)
if (g_eeGeneral.rotateScreen) {
      lcdSendCtl2(0xA0, 0xC0);  // ADC = 1: reverse direction(SEG128->SEG1)
    } else {                    // SHL = 1: reverse direction(COM64->COM1)
      lcdSendCtl2(0xA1, 0xC8);  // ADC = 0: normal direction(SEG1->SEG128)
    }                           // SHL = 0: normal direction(COM1->COM64)
if (g_eeGeneral.rotateScreen) {
      lcdSendCtl2(0xA1, 0xC0);  // ADC = 0: norm direction(SEG1->SEG132/SEG128)
    } else {                    // SHL = 1: rev direction(COM64->COM1)
      lcdSendCtl2(0xA0, 0xC8);  // ADC = 1: rev direction(SEG132/SEG128->SEG1)
    }                           // SHL = 0: norm direction(COM1->COM64)
#if defined(CPUM128) || defined(CPUM2561)
if (g_eeGeneral.rotateScreen) {
    lcdSendCtl(0xA1);     // ADC = 0: norm direction(SEG1->SEG132/SEG128)
    lcdSendCtl(0xC0);     // SHL = 1: rev direction(COM64->COM1)
  } else {
    lcdSendCtl(0xA0);     // ADC = 1: rev direction(SEG132/SEG128->SEG1)
    lcdSendCtl(0xC8);     // SHL = 0: norm direction(COM1->COM64)
已经改成这样了 但是还是么有反向呢



关闭

【站内推荐】上一条 /1 下一条

快速回复 返回顶部 返回列表