Baxis_gyroscope__IDG300_source

所属分类:数值算法/人工智能
开发工具:C/C++
文件大小:363KB
下载次数:159
上传日期:2009-02-21 07:33:24
上 传 者gary_xiao
说明:  二轴陀螺仪IDG300源程序,主要实现姿态实现算法和温度补偿及校准
(B-axis gyroscope IDG300 source, the main algorithm realize realize posture and temperature compensation and calibration)

文件列表:
gyromousev1_2 (0, 2007-11-29)
gyromousev1_2\backup (0, 2007-11-28)
gyromousev1_2\backup\adcinc_1.asm (14487, 2007-11-26)
gyromousev1_2\backup\adcinc_1.h (4515, 2007-11-26)
gyromousev1_2\backup\adcinc_1.inc (4663, 2007-11-26)
gyromousev1_2\backup\adcinc_1int.asm (6125, 2007-11-26)
gyromousev1_2\backup\boot.asm (16364, 2007-11-26)
gyromousev1_2\backup\globalparams.h (7521, 2007-11-26)
gyromousev1_2\backup\globalparams.inc (7670, 2007-11-26)
gyromousev1_2\backup\pga_1.asm (8080, 2007-11-26)
gyromousev1_2\backup\pga_1.h (3006, 2007-11-26)
gyromousev1_2\backup\pga_1.inc (2206, 2007-11-26)
gyromousev1_2\backup\psocconfig.asm (3212, 2007-11-26)
gyromousev1_2\backup\psocconfigtbl.asm (8105, 2007-11-26)
gyromousev1_2\backup\uart_1.asm (47578, 2007-11-26)
gyromousev1_2\backup\uart_1.h (8985, 2007-11-26)
gyromousev1_2\backup\uart_1.inc (5573, 2007-11-26)
gyromousev1_2\backup\uart_1int.asm (9860, 2007-11-26)
gyromousev1_2\backup\uart_1plus.asm (388, 2007-11-26)
gyromousev1_2\boot.asm (16364, 2007-11-28)
gyromousev1_2\boot.tpl (16198, 2004-09-09)
gyromousev1_2\driftcompensation.a (20451, 2007-11-29)
gyromousev1_2\driftcompensation.h (97, 2007-11-28)
gyromousev1_2\flashsecurity.txt (2218, 2004-09-09)
gyromousev1_2\gyromousev1_2.SOC (4809, 2007-11-29)
gyromousev1_2\gyromousev1_2.WNP (23139, 2007-11-29)
gyromousev1_2\lib (0, 2007-11-29)
gyromousev1_2\lib\ADCINC_1.asm (14487, 2007-11-28)
gyromousev1_2\lib\ADCINC_1.h (4515, 2007-11-28)
gyromousev1_2\lib\ADCINC_1.inc (4663, 2007-11-28)
gyromousev1_2\lib\ADCINC_1INT.asm (6125, 2007-11-28)
gyromousev1_2\lib\GlobalParams.h (7521, 2007-11-28)
gyromousev1_2\lib\GlobalParams.inc (7670, 2007-11-28)
gyromousev1_2\lib\libpsoc.a (25205, 2007-11-29)
gyromousev1_2\lib\obj (0, 2007-11-29)
gyromousev1_2\lib\obj\adcinc_1.lis (171341, 2007-11-29)
gyromousev1_2\lib\obj\adcinc_1.o (4376, 2007-11-29)
gyromousev1_2\lib\obj\adcinc_1int.lis (121340, 2007-11-29)
gyromousev1_2\lib\obj\adcinc_1int.o (2598, 2007-11-29)
gyromousev1_2\lib\obj\pga_1.lis (77808, 2007-11-29)
... ...

This firmware implements an embedded gyro-mouse. The microcontroller outputs at 17-byte packet in UART to pin 1.0 in the following format: BYTE 0: '$' BYTE 1: 1 (firmwareMode is set to "embedded gyro-mouse") BYTE 2: Temperature sensor, high byte BYTE 3: Temperature sensor, low byte BYTE 4: Y Gyroscope, high byte BYTE 5: Y Gyroscope, low byte BYTE 6: Z Gyroscope, high byte BYTE 7: Z Gyroscope, low byte BYTE 8: 0 BYTE 9: 0 BYTE 10: Horizontal pixel shift, high byte BYTE 11: Horizontal pixel shift, low byte BYTE 12: Vertical pixel shift, high byte BYTE 13: Vertical pixel shift, low byte Byte 14: Button (0x001100LR, L is left button, R is right button) Byte 15: '\r' Byte 16: '\n' When used as a gyro-mouse, only bytes 10-13 need to be used. These bytes are the horizonal and vertical pixel shift amounts in signed two-byte integer format. This bytes are to be interpretted by an HID controller to be sent to a PC. For example, if bytes 10 and 11 are: 0x00 0x03 This means move the mouse cursor 3 pixels to the right. Byte 14 corresponds to left and right mouse buttons, if they are to be passed through the PSoC. It is not necessary to use these bytes in the UART packet, but any mouse buttons should be routed to the PSoC pins P0.1 and P0.7. The mouse algorithm has a module for filtering out clicks in the motion data from the buttons. This implementation uses a drift compensation library; however, for it to work correctly, this library must first be modified in a temperature compensation routine. The other bytes in the packet are used in the temperature compensation process. The change from v1.1 includes support for a more robust drift compensator, and a bug fix regarding the mouse button controller.

近期下载者

相关文件


收藏者