3GO模拟飞行网|3GO Cyber Air Force

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: bargain685LN

飞行控制面板DIY的软件硬件研究与分析

[复制链接]
 楼主| 发表于 2010-5-30 13:22:37 | 显示全部楼层
离上次时间过了好多天了,现在,我画的新板已经寄到并焊接并测试好。第二次画板子,经验积累了不少,但还是有些小问题。不过很高兴的是:这次的板子已经可以提供测试了,不用像上次一样浪费元件了。


经验:

1.设计上,GND要铺设连接到四个支撑柱螺丝孔。

2.设计多层板时,支撑孔要对齐在一样的位置。

3.铺线要粗(>=16mil),过孔要大,注意插针的孔一样要大(>=0.9mm)。用默认值就完蛋了。

4.从价位上考虑,DIY板设计上单面板比较便宜。飞线要走或竖或横的方式。

5.放置元件时要注意元件的扩展长宽可能档住其它元件。比如接插件,接口。

6.实验型的产品,尽量不要布线全死,保留部分灵活性。


教训:

1.支撑孔可能是我加大了外围铺铜,制板的人反而把我的孔给缩小了。后来不得不用剪刀钻到大。

2.没有考虑排线座的扩展长宽,后来不得不把排阻焊到底下去了。此外排线开始也接错了。

3.点触按键电路画错...不得不刮掉两条线路重焊飞线。

4.MAX233模块是必须一直接连电源,下载才能成功。原来以为同时给它和MCU模块加电即可的想法是错误的。


总的来说学到不少。此外,经过今天一天的代码编写,通过PC程序定义键值的功能也已经基本完成。后面已经没有什么大的障碍了。


现在不想在进度上过于突进,先完善一下按键,双刀切换功能和可能的更高频晶振测试,再考虑以后更复杂的LCD功能。(其实我个人觉得LCD实在是比较多余。呵呵)
 楼主| 发表于 2010-5-30 13:23:37 | 显示全部楼层
锁定Lock On控制面板DIY的软件硬件研究与分析(十一)

这次测试板子给搞好了,简要说下一些关于USB键盘的单片机编程的知识。

1.一个按键的发生,需要前后发送两个消息,按下和松开,如果只有按下,将会发生按住键盘不放的效果。

2.发送的两个消息不是连续发送的,而是发送一次处理中断一次。

3.键盘消息有8个BYTE(不含ID位),第一位是功能键,第二位未知,第三位起(包括后面,加起来做组合)是键值位。

4.键盘键值不ASC码,也不是DXInput的码值,很奇怪,它有自己的码值。见附录。


增加设置键值功能。

对于点触式按键,实际上述功能容易得很,因为很容易符合上述条件2,圈圈已经实现了,就不需写代码了。我们只要加上设置键值消息即可。一样,要通过“自定义HID设备”通讯来实现。因为原来已经实现了数码管,现在只需要使用另外的协议来实现即可。

花了一天时间,这个功能就完成了,有感而发,相对而言,我的软件要比硬件强得多,虽然不可能一下子就写出来,但修修改改后基本就成型了。做板子就周折了,一天画板,一天较正,一天买板,三天后到货,一天焊接,一天测试,没有一周时间,基本是搞不定的。


下一步打算研究一下单刀双置对键盘的实现。(就是一个按下去不弹起的按键)


附录:

00    00    Reserved    (no event indicated)9    N/A    √    √    √    4/101/104

1    01    Keyboard    ErrorRollOver9    N/A    √    √    √    4/101/104

2    02    Keyboard    POSTFail9    N/A    √    √    √    4/101/104

3    03    Keyboard    ErrorUndefined9    N/A    √    √    √    4/101/104

4    04    Keyboard    a and A4    31    √    √    √    4/101/104

5    05    Keyboard    b and B    50    √    √    √    4/101/104

6    06    Keyboard    c and C4    48    √    √    √    4/101/104

7    07    Keyboard    d and D    33    √    √    √    4/101/104

8    08    Keyboard    e and E    19    √    √    √    4/101/104

9    09    Keyboard    f and F    34    √    √    √    4/101/104

10    0A    Keyboard    g and G    35    √    √    √    4/101/104

11    0B    Keyboard    h and H    36    √    √    √    4/101/104

12    0C    Keyboard    i and I    24    √    √    √    4/101/104

13    0D    Keyboard    j and J    37    √    √    √    4/101/104

14    0E    Keyboard    k and K    38    √    √    √    4/101/104

15    0F    Keyboard    l and L    39    √    √    √    4/101/104

16    10    Keyboard    m and M4    52    √    √    √    4/101/104

17    11    Keyboard    n and N    51    √    √    √    4/101/104

18    12    Keyboard    o and O4    25    √    √    √    4/101/104

19    13    Keyboard    p and P4    26    √    √    √    4/101/104

20    14    Keyboard    q and Q4    17    √    √    √    4/101/104

21    15    Keyboard    r and R    20    √    √    √    4/101/104

22    16    Keyboard    s and S4    32    √    √    √    4/101/104

23    17    Keyboard    t and T    21    √    √    √    4/101/104

24    18    Keyboard    u and U    23    √    √    √    4/101/104

25    19    Keyboard    v and V    49    √    √    √    4/101/104

26    1A    Keyboard    w and W4    18    √    √    √    4/101/104

27    1B    Keyboard    x and X4    47    √    √    √    4/101/104

28    1C    Keyboard    y and Y4    22    √    √    √    4/101/104

29    1D    Keyboard    z and Z4    46    √    √    √    4/101/104

30    1E    Keyboard    1 and !4    2    √    √    √    4/101/104

31    1F    Keyboard    2 and @4    3    √    √    √    4/101/104

32    20    Keyboard    3 and #4    4    √    √    √    4/101/104

33    21    Keyboard    4 and $4    5    √    √    √    4/101/104

34    22    Keyboard    5 and %4    6    √    √    √    4/101/104

35    23    Keyboard    6 and ^4    7    √    √    √    4/101/104

36    24    Keyboard    7 and &4    8    √    √    √    4/101/104

37    25    Keyboard    8 and *4    9    √    √    √    4/101/104

38    26    Keyboard    9 and (4    10    √    √    √    4/101/104

39    27    Keyboard    0 and )4    11    √    √    √    4/101/104

40    28    Keyboard    Return (ENTER)5    43    √    √    √    4/101/104

41    29    Keyboard    ESCAPE 110    √    √    √    4/101/104

42    2A    Keyboard    DELETE (Backspace)13    15    √    √    √    4/101/104

43    2B    Keyboard    Tab    16    √    √    √    4/101/104

44    2C    Keyboard    Spacebar    61    √    √    √    4/101/104

45    2D    Keyboard    - and (underscore)4    12    √    √    √    4/101/104

46    2E    Keyboard    = and +4    13    √    √    √    4/101/104

47    2F    Keyboard    [ and {4    27    √    √    √    4/101/104

48    30    Keyboard    ] and }4    28    √    √    √    4/101/104

49    31    Keyboard    \ and |    29    √    √    √    4/101/104

50    32    Keyboard    Non-US # and ~2    42    √    √    √    4/101/104

51    33    Keyboard    ; and :4    40    √    √    √    4/101/104

52    34    Keyboard    ‘ and “4    41    √    √    √    4/101/104

53    35    Keyboard    Grave    Accent and Tilde4    1    √    √    √    4/101/104

54    36    Keyboard    , and <4    53    √    √    √    4/101/104

55    37    Keyboard    . and >4    54    √    √    √    4/101/104

56    38    Keyboard    / and ?4    55    √    √    √    4/101/104

57    39    Keyboard    Caps    Lock11    30    √    √    √    4/101/104

58    3A    Keyboard    F1    112    √    √    √    4/101/104

59    3B    Keyboard    F2    113    √    √    √    4/101/104

60    3C    Keyboard    F3    114    √    √    √    4/101/104

61    3D    Keyboard    F4    115    √    √    √    4/101/104

62    3E    Keyboard    F5    116    √    √    √    4/101/104

63    3F    Keyboard    F6    117    √    √    √    4/101/104

64    40    Keyboard    F7    118    √    √    √    4/101/104

65    41    Keyboard    F8    119    √    √    √    4/101/104

66    42    Keyboard    F9    120    √    √    √    4/101/104

67    43    Keyboard    F10    121    √    √    √    4/101/104

68    44    Keyboard    F11    122    √    √    √    101/104

69    45    Keyboard    F12    123    √    √    √    101/104

70    46    Keyboard    PrintScreen1    124    √    √    √    101/104

71    47    Keyboard    Scroll    Lock11    125    √    √    √    4/101/104

72    48    Keyboard    Pause1    126    √    √    √    101/104

73    49    Keyboard    Insert1    75    √    √    √    101/104

74    4A    Keyboard    Home1    80    √    √    √    101/104

75    4B    Keyboard    PageUp1    85    √    √    √    101/104

76    4C    Keyboard    Delete    Forward1;14    76    √    √    √    101/104

77    4D    Keyboard    End1    81    √    √    √    101/104

78    4E    Keyboard    PageDown1    86    √    √    √    101/104

79    4F    Keyboard    RightArrow1    89    √    √    √    101/104

80    50    Keyboard    LeftArrow1    79    √    √    √    101/104

81    51    Keyboard    DownArrow1    84    √    √    √    101/104

82    52    Keyboard    UpArrow1    83    √    √    √    101/104

83    53    Keypad    Num    Lock and Clear11    90    √    √    √    101/104

84    54    Keypad    /1    95    √    √    √    101/104

85    55    Keypad    *    100    √    √    √    4/101/104

86    56    Keypad    -    105    √    √    √    4/101/104

87    57    Keypad    +    106    √    √    √    4/101/104

88    58    Keypad    ENTER5    108    √    √    √    101/104

89    59    Keypad    1 and End    93    √    √    √    4/101/104

90    5A    Keypad    2 and Down    Arrow    98    √    √    √    4/101/104

91    5B    Keypad    3 and PageDn    103    √    √    √    4/101/104

92    5C    Keypad    4 and Left    Arrow    92    √    √    √    4/101/104

93    5D    Keypad    5    97    √    √    √    4/101/104

94    5E    Keypad    6 and Right    Arrow    102    √    √    √    4/101/104

95    5F    Keypad    7 and Home    91    √    √    √    4/101/104

96    60    Keypad    8 and Up    Arrow    96    √    √    √    4/101/104

97    61    Keypad    9 and PageUp    101    √    √    √    4/101/104

98    62    Keypad    0 and Insert    99    √    √    √    4/101/104

99    63    Keypad    . and Delete    104    √    √    √    4/101/104

100    64    Keyboard    Non-US    \ and |3;6    45    √    √    √    4/101/104

101    65    Keyboard    Application10    129    √    √    104

102    66    Keyboard    Power9    √    √

103    67    Keypad    =    √

104    68    Keyboard    F13    √

105    69    Keyboard    F14    √

106    6A    Keyboard    F15    √

107    6B    Keyboard    F16

108    6C    Keyboard    F17

109    6D    Keyboard    F18

110    6E    Keyboard    F19

111    6F    Keyboard    F20

112    70    Keyboard    F21

113    71    Keyboard    F22

114    72    Keyboard    F23

115    73    Keyboard    F24

116    74    Keyboard    Execute    √

117    75    Keyboard    Help    √

118    76    Keyboard    Menu    √

119    77    Keyboard    Select    √

120    78    Keyboard    Stop    √

121    79    Keyboard    Again    √

122    7A    Keyboard    Undo    √

123    7B    Keyboard    Cut    √

124    7C    Keyboard    Copy    √

125    7D    Keyboard    Paste    √

126    7E    Keyboard    Find    √

127    7F    Keyboard    Mute    √

128    80    Keyboard    Volume    Up    √

129    81    Keyboard    Volume    Down    √

130    82    Keyboard    Locking    Caps    Lock12    √

131    83    Keyboard    Locking    Num    Lock12    √

132    84    Keyboard    Locking    Scroll    Lock12    √

133    85    Keypad    Comma27    107

134    86    Keypad    Equal    Sign29

135    87    Keyboard    International115,28    56

136    88    Keyboard    International216

137    89    Keyboard    International317

138    8A    Keyboard    International418

139    8B    Keyboard    International519

140    8C    Keyboard    International620

141    8D    Keyboard    International721

142    8E    Keyboard    International822

143    8F    Keyboard    International922

144    90    Keyboard    LANG125

145    91    Keyboard    LANG226

146    92    Keyboard    LANG330

147    93    Keyboard    LANG431

148    94    Keyboard    LANG532

149    95    Keyboard    LANG68

150    96    Keyboard    LANG78

151    97    Keyboard    LANG88

152    98    Keyboard    LANG98

153    99    Keyboard    Alternate    Erase7

154    9A    Keyboard    SysReq/Attention1

155    9B    Keyboard    Cancel

156    9C    Keyboard    Clear

157    9D    Keyboard    Prior

158    9E    Keyboard    Return

159    9F    Keyboard    Separator

160    A0    Keyboard    Out

161    A1    Keyboard    Oper

162    A2    Keyboard    Clear/Again

163    A3    Keyboard    CrSel/Props

164    A4    Keyboard    ExSel

165-175    A5-CF    Reserved

176    B0    Keypad    00

177    B1    Keypad    000

178    B2    Thousands    Separator    33

179    B3    Decimal    Separator    33

180    B4    Currency    Unit    34

181    B5    Currency    Sub-unit    34

182    B6    Keypad    (

183    B7    Keypad    )

184    B8    Keypad    {

185    B9    Keypad    }

186    BA    Keypad    Tab

187    BB    Keypad    Backspace

188    BC    Keypad    A

189    BD    Keypad    B

190    BE    Keypad    C

191    BF    Keypad    D

192    C0    Keypad    E

193    C1    Keypad    F

194    C2    Keypad    XOR

195    C3    Keypad    ^

196    C4    Keypad    %

197    C5    Keypad    <

198    C6    Keypad    >

199    C7    Keypad    &

200    C8    Keypad    &&

201    C9    Keypad    |

202    CA    Keypad    ||

203    CB    Keypad    :

204    CC    Keypad    #

205    CD    Keypad    Space

206    CE    Keypad    @

207    CF    Keypad    !

208    D0    Keypad    Memory    Store

209    D1    Keypad    Memory    Recall

210    D2    Keypad    Memory    Clear

211    D3    Keypad    Memory    Add

212    D4    Keypad    Memory    Subtract

213    D5    Keypad    Memory    Multiply

214    D6    Keypad    Memory    Divide

215    D7    Keypad    +/-

216    D8    Keypad    Clear

217    D9    Keypad    Clear    Entry

218    DA    Keypad    Binary

219    DB    Keypad    Octal

220    DC    Keypad    Decimal

221    DD    Keypad    Hexadecimal

222    de    Reserved

223    DF    Reserved

224    E0    Keyboard    LeftControl    58    √    √    √    4/101/104

225    E1    Keyboard    LeftShift    44    √    √    √    4/101/104

226    E2    Keyboard    LeftAlt    60    √    √    √    4/101/104

227    E3    Keyboard    Left    GUI10;23    127    √    √    √    104

228    E4    Keyboard    RightControl    64    √    √    √    101/104

229    E5    Keyboard    RightShift    57    √    √    √    4/101/104

230    E6    Keyboard    RightAlt    62    √    √    √    101/104

231    E7    Keyboard    Right    GUI10;24    128    √    √    √    104
 楼主| 发表于 2010-5-30 13:28:25 | 显示全部楼层
本帖最后由 bargain685LN 于 2010-5-30 13:32 编辑

IMG_5622.JPG
IMG_5624.JPG
IMG_5623.JPG

因为是DIY板,设计上采用单面板+飞线,上下层设计,接口走排线。
这两块板是找商家刻的,花了32块钱,还加上邮费10块...
单片机这块真不是零成本的活啊。
发表于 2010-5-30 13:43:35 | 显示全部楼层
你试着联系一下哈尔滨鹏程电子的刘经理,0451-87520728。问问价钱。
你这双面板看起来是1.6mm厚度,大约90×75mm,问问他双面板全工艺打样10块什么价格。我以前在哈尔滨的时候经常在他家做,有时候10块板子满打满算50块钱,当然面积比你这个小一圈。
发表于 2010-5-31 23:15:00 | 显示全部楼层
本帖最后由 wzh823 于 2010-5-31 23:16 编辑

实际上我的电路板都是自己做的,多做几次没有什么难的,淘宝上买一些便宜的单面附铜板,
三氯化铁,找一个电熨斗,激光打印机,自己慢慢搞,不就是做的粗糙一点么,不至于让奸商
赚了,自己做好处多多呀
IMG_5117.JPG
IMG_5126.JPG
IMG_5220.JPG
发表于 2010-5-31 23:54:07 | 显示全部楼层
实际上我的电路板都是自己做的,多做几次没有什么难的,淘宝上买一些便宜的单面附铜板,
三氯化铁,找一个 ...
wzh823 发表于 2010-5-31 23:15


1993年我读完小学四年级后跟父母去广州玩,买过一本书叫做《少年无线电入门》,上面讲了用油漆画线、三氯化铁腐蚀电路板的做法。

因为老家附近有化工厂,也有亲戚在化学药品门市上班,所以小学的时候就在家自己腐蚀过线路板。但当时没有感光板、没有激光打印机。所以只能用油漆描。

后来初中的时候家乡有所发展,我也学会了在网吧用电脑辅助画板,就到装潢店找来包灯箱的不干胶贴纸,不干胶部分揭掉,光面部分留下。到卖电脑和打印机的店面说服老板试试用那纸帮我打印。回到家后用熨斗做了转印板子。

腐蚀的方法也在改良。三氯化铁用了很长时间,后来转到盐酸+双氧水。DIY党都可以试试这个配方,敷铜板丢进去就冒泡。很快就腐蚀好了。

热转印+自制的习惯一直持续到大学入学。我配了自己的电脑,哈尔滨又不像老家那样落后。接触了做PCB的工厂之后我就改用成品PCB了。密度更高,更省时间,主要是可以远离化学药品了。

我现在经常需要做高密度的双面板、四层板等等,全是SMD器件,不可能DIY了。AVR以前用过,DIP封装的只用来临时验证一些基本接口和功能,要做成品的时候就改QFP封装了。成品板子用起来很干净,而且阻焊层的保护很充分,板子很耐用,不像以前DIY的板子保存不妥会生铜锈。

不过一些简单功能拿DIP的片子可以应付的话,自己腐蚀的确是很省钱的方式。
 楼主| 发表于 2010-6-1 02:06:28 | 显示全部楼层
感谢关注。

我是想过自制电路板的,相关资料已经查过了,
但我是在外打工租房子,不是很现实。我要在老家就肯定自己搞了。
(据本人经验,新手在自制出能用的板子前不交笔学费是不行的)
成品确实应该用小体积封装芯片比较合适。

昨天把单刀双置给实现了,下一步打算做双MCU通信,估计得用串行通讯,这样IO才够。
扩展的MCU才可能加上LCD。不过我对这个可能没有太多把握。
单从单片机功能的角度来看,最难的仍是软件编程。

在做的同时我也在论坛上看了别人的一些东东,包括insky论坛的,
对于小成本的DIY,简单说下我对这个外设的一些看法:
1.如果想做仪表型的,我建议:加个屏幕,用touchbuddy吧。赛的液晶仪表1000+,这够买个液晶屏幕了。你想自己写个跟touchbuddy的也行,毕竟我是做软件的,我也知道大概怎么做。问题是我怎么写估计也没人家写得好,所以用现成的比较实惠。况且加个液晶屏幕用处很多多,你以后想边上网边看电影也行。(我就有这个习惯)看过用机械仪表做的,但感觉太贵,不符合小成本标准。
2.如果想自制摇杆,我建议使用现成的MJ16,毕竟人家是“摇杆”芯片。如果像我这个帖中这样做,你还需考虑AD,加芯片,写代码,实在是划不来。
3.想做按钮型的,用MJ16也成,用我帖的方法也成,当然,我前面说过,最简单是买个USB键盘拆了。现在键盘真的不贵...

我研究下双MCU的可能性,之后也就差不多可以放单片机的代码了。
然后尽量简化一下大家理解这个东东的方式。我也是单片机新手,
我很理解单片机新手看到这个帖时的痛苦感觉,趁我还没变成高手之前。

还是那句话:你把事情想得有多复杂,你就需要使用多复杂的方法去实现它。
发表于 2010-6-1 04:08:12 | 显示全部楼层
双MCU通讯用UART没问题,中断开着,来数据了就响应。该做什么就做什么,只是要适应MCU单线程分时处理的思想,否则程序结构不合理会出现比较难查的bug。

软件出身的人搞数字电路有优势,适应平台只是时间问题。相比之下模拟电路不是一朝一夕的事情,有些MJ16抖得厉害就能说明一些问题。同样的代码,有的摇杆不抖,有的抖得厉害,区别全在模拟电路的品质上。当然模拟上的缺陷可以在一定程度上用数字去弥补,比如用Σ-Δ型的AD代替SA型的,在稳定性上可以提高很多。只不过有得有失,刷新率会大打折扣。
发表于 2010-6-3 19:32:41 | 显示全部楼层
又见STC单片机~~
32位的ARM单片机应该可以使用
 楼主| 发表于 2010-6-5 23:38:45 | 显示全部楼层
本帖最后由 bargain685LN 于 2010-6-6 03:32 编辑

QQ截图未命名.jpg


上传相关代码
  是目前测试用的代码,而不是一个完成的成品代码。
我的研究通常是针对各个技术点的做编写和测试的。
随着MCU通信的完成,基本上各技术点已经基本解决
了(除了AD,本人认为不是很重要了)。

概括一下各个难点:

软件方面:
1.USB接口,这个需要参考圈圈代码,此外,还需要使用双接口,报告符可参见我的代码。
2.PC通讯程序,参见我代码,可能对一些人有点难度,问我就是了。
3.PC通讯修改键值,这个主要难点是协议的设定和实现。
4.MCU通讯,这个我自以为满意度80%,不算很满意,但已经不存在不可通过的毛病了。
5.单刀多置,这个基本编程方法已经掌握,不算太难,除了麻烦。

硬件方面:
这是个经验积累的技术,还真不是很好说明白,况且目前设计图和成品板也没确定。暂时空吧。

此外,在淘宝上还发现了USB学习板核心板,仅带MAX232带MCU带D12的,50块左右。功能
相当于我那个双层板的下层板。这个板可以直接做个10键左右的键盘,直接做没有显示部件的
控制面板已经完全够用了。对于不想完全动手的来说是个很不错的选择。
当然,我自己没买来试用过,不是很清楚怎么样。

顺便问一下,这个51单片机除了89C51或89C52,有没有IO口多些的芯片? -_-!

CODE.rar

276.25 KB, 下载次数: 200

发表于 2010-6-7 23:44:01 | 显示全部楼层
本帖最后由 RCtech 于 2010-6-7 23:45 编辑

IO多点的还是51核心的不是很常见。Winbond有些系列I/O比较多,Silicon Laboratories的C8051系列有些引脚比较多的,还有我前面说过的Cypress基于51内核的有些型号IO比较多。你可以用8155做IO扩展,也可以用74LS373、74LS595等做输出扩展,用74LS165做输入扩展。方法很多。想简单已经无法满足你的需求了,不得不朝稍微复杂的方向走了。
 楼主| 发表于 2010-6-9 23:18:27 | 显示全部楼层
好,现在把所有的东西都推倒,从头开始,由简单到复杂,一步步来实现这个东东。

第一步:只考虑做一个键盘,这个键盘里有点触按键,有档位旋钮。
所谓点触式,就是和键盘一样,比如按g键,按下会打印一个g,如果不松开,会连接打印g,松开才停止打印。
所谓档位式,就是和旋钮一样,转到g档位时,相当于触发了按下弹出g两个动作。
两者的不同,在于
点触式接低电平后,会等待弹起,动作才结束。
档位式接低电平后,不会等待弹起,动作就结束了。

这种考虑下,只做HID键盘,不需要驱动,不需要其它PC端程序。
单片机程序在附件中,点触式使用P2口,档位式使用P1口。相关定义在Key.h中。
先不要把事情太复杂,8个按键,8个档位,应该算够用了吧。

下一步就是做键盘加LED指示灯,几天后再更新吧。

不知道我说得这么通俗,一些零基础的能不能听懂,呵呵。

USBPanel_KEY.rar (109.1 KB, 下载次数: 199)

话说我一直觉得坛子里一些玩家做的面板真不错,可惜我搞不定啊,还真是有点术业专攻的感觉。
比如这个就挺不错的。虽然按键布局可以考虑一下,不过能力倒是很强。
http://bbs.3gofly.com/bbs/viewthread.php?tid=184546&page=1
发表于 2010-6-10 23:38:12 | 显示全部楼层
何必非要做成键盘式的设备,我做的全仿真座舱(http://bbs.3gofly.com/bbs/viewth ... mp;page=2#pid410976)没有这么考虑,
如果一定要USB接口host端免驱动,可以参考VUSB的东东,用的是AVR的单片机,实现软usb,
程序都是现成的,我之所以没有从硬件实现成简单的输入设备,而是采集输入的数字量,分类转化为
系统虚拟键盘事件,虚拟手柄事件,以及lockon的cmd消息,是考虑到一个简单的问题:
输入的信号是要再处理的,比方说在Lofc1.x中是获取不到起落架状态的,前仪表板的起落架灯怎么控制?
如果简单的吧按键对应到键盘的按键,是不能控制起落架状态指示灯的,只有结合从lockon中提取的数据
和用户输入的开关量变化来判断当前起落架的状态,从而控制起落架状态灯。su27座舱中类似的设备很多,
lockon中提供的数据有限,只有过滤用户的输入才行。现在我的仿真座舱没有解决的问题就是不能修改lockon中的hud画面,只能将自己做的真实平下显画面显示下独立的下显显示器上,不知道大家有没有什么好的办法,我初步的想法是,利用设备故障的功能去掉lockon中的hud画面,架设平显设备(类似于汽车hud),使用反光膜实现。如果有人有好的思路或线索,望不吝赐教。
发表于 2010-6-13 10:21:07 | 显示全部楼层
DIY啊!技朮+心血+時間!
敬佩+敬佩
发表于 2010-6-13 12:36:08 | 显示全部楼层
HUD问题用F4视角修改的试试看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|3GO模拟飞行网|3GO Cyber Air Force ( 沪ICP备08002287号|沪ICP备14050587号 )

GMT+8, 2024-12-22 16:44

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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