Ois.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511
  1. /* ******************************************************************************** */
  2. /* */
  3. /* << LC898122 Evaluation Soft>> */
  4. /* Program Name : Ois.h */
  5. /* Explanation : LC898122 Global Declaration & ProtType Declaration */
  6. /* Design : Y.Yamada */
  7. /* History : First edition 2009.07.30 Y.Tashita */
  8. /* ******************************************************************************** */
  9. #ifdef OISINI
  10. #define OISINI__
  11. #else
  12. #define OISINI__ extern
  13. #endif
  14. #ifdef OISCMD
  15. #define OISCMD__
  16. #else
  17. #define OISCMD__ extern
  18. #endif
  19. /* Define According To Usage */
  20. /****************************** Define�à–¾ ******************************/
  21. /* USE_3WIRE_DGYRO Digital Gyro I/F 3�üModeŽg—p */
  22. /* USE_INVENSENSE Invensense Digital GyroŽg—p */
  23. /* USE_IDG2020 Inv IDG-2020Žg—p */
  24. /* STANDBY_MODE Standby�§ŒäŽg—p(–¢Šm”F) */
  25. /* GAIN_CONT :Gain control‹@”\Žg—p */
  26. /* (disable) DSC :ŽO‹rModeŽg—p */
  27. /* HALLADJ_HW Hall Calibration LSI‹@”\Žg—p */
  28. /************************************************************************/
  29. /**************** Select Gyro Sensor **************/
  30. /* #define USE_3WIRE_DGYRO //for D-Gyro SPI interface */
  31. #define USE_INVENSENSE /* INVENSENSE */
  32. #ifdef USE_INVENSENSE
  33. /* #define FS_SEL 0 */ /* �}262LSB/?/s */
  34. /* #define FS_SEL 1 */ /* �}131LSB/?/s */
  35. /* #define FS_SEL 2 */ /* �}65.5LSB/?/s */
  36. #define FS_SEL 3 /* �}32.8LSB/?/s */
  37. /* #define GYROSTBY */ /* Sleep+STBY */
  38. #endif
  39. /**************** Model name *****************/
  40. #define MN_3BSD05P1
  41. /**************** FW version *****************/
  42. #ifdef MN_3BSD05P1
  43. #define MDL_VER 0x06
  44. #define FW_VER 0x03
  45. #endif
  46. /**************** Select Mode **************/
  47. #define STANDBY_MODE /* STANDBY Mode */
  48. #define GAIN_CONT /* Gain Control Mode */
  49. /* #define HALLADJ_HW // H/W Hall adjustment */
  50. #define PWM_BREAK /* PWM mode select (disable zero cross) */
  51. #ifdef MN_3BSD05P1
  52. #define ACTREG_10P2OHM /* Use 10.2ohm */
  53. #endif
  54. #define DEF_SET /* default value re-setting */
  55. /* #define USE_EXTCLK_ALL // USE Ext clk for ALL */
  56. /* #define USE_EXTCLK_PWM // USE Ext clk for PWM */
  57. /* #define USE_VH_SYNC // USE V/H Sync for PWM */
  58. /* #define PWM_CAREER_TEST // PWM_CAREER_TEST */
  59. #define NEUTRAL_CENTER /* Upper Position Current 0mA Measurement */
  60. #define H1COEF_CHANGER /* H1 coef lvl chage */
  61. #define MONITOR_OFF /* default Monitor output */
  62. /* #define MODULE_CALIBRATION // for module maker use float */
  63. /* #define AF_PWMMODE // AF Driver PWM mode */
  64. /* #define CORRECT_1DEG // Correct 1deg disable 0.5deg */
  65. /* Command Status */
  66. #define EXE_END 0x02 /* Execute End (Adjust OK) */
  67. #define EXE_HXADJ 0x06 /* Adjust NG : X Hall NG (Gain or Offset) */
  68. #define EXE_HYADJ 0x0A /* Adjust NG : Y Hall NG (Gain or Offset) */
  69. #define EXE_LXADJ 0x12 /* Adjust NG : X Loop NG (Gain) */
  70. #define EXE_LYADJ 0x22 /* Adjust NG : Y Loop NG (Gain) */
  71. #define EXE_GXADJ 0x42 /* Adjust NG : X Gyro NG (offset) */
  72. #define EXE_GYADJ 0x82 /* Adjust NG : Y Gyro NG (offset) */
  73. #define EXE_OCADJ 0x402 /* Adjust NG : OSC Clock NG */
  74. #define EXE_ERR 0x99 /* Execute Error End */
  75. /* Common Define */
  76. #define SUCCESS 0x00 /* Success */
  77. #define FAILURE 0x01 /* Failure */
  78. #ifndef ON
  79. #define ON 0x01 /* ON */
  80. #define OFF 0x00 /* OFF */
  81. #endif
  82. #define SPC 0x02 /* Special Mode */
  83. #define X_DIR 0x00 /* X Direction */
  84. #define Y_DIR 0x01 /* Y Direction */
  85. #define X2_DIR 0x10 /* X Direction */
  86. #define Y2_DIR 0x11 /* Y Direction */
  87. #define NOP_TIME 0.00004166F
  88. #ifdef STANDBY_MODE
  89. /* Standby mode */
  90. #define STB1_ON 0x00 /* Standby1 ON */
  91. #define STB1_OFF 0x01 /* Standby1 OFF */
  92. #define STB2_ON 0x02 /* Standby2 ON */
  93. #define STB2_OFF 0x03 /* Standby2 OFF */
  94. #define STB3_ON 0x04 /* Standby3 ON */
  95. #define STB3_OFF 0x05 /* Standby3 OFF */
  96. #define STB4_ON 0x06 /* Standby4 ON for Digital Gyro Read */
  97. #define STB4_OFF 0x07 /* Standby4 OFF */
  98. #define STB2_OISON 0x08 /* Standby2 ON (only OIS) */
  99. #define STB2_OISOFF 0x09 /* Standby2 OFF(only OIS) */
  100. #define STB2_AFON 0x0A /* Standby2 ON (only AF) */
  101. #define STB2_AFOFF 0x0B /* Standby2 OFF(only AF) */
  102. #endif
  103. /* OIS Adjust Parameter */
  104. #define DAHLXO_INI 0x0000
  105. #define DAHLXB_INI 0xE000
  106. #define DAHLYO_INI 0x0000
  107. #define DAHLYB_INI 0xE000
  108. #define SXGAIN_INI 0x3000
  109. #define SYGAIN_INI 0x3000
  110. #define HXOFF0Z_INI 0x0000
  111. #define HYOFF1Z_INI 0x0000
  112. #ifdef ACTREG_6P5OHM /* MTM 9.5 Actuator *************************** */
  113. #define BIAS_CUR_OIS 0x33 /* 2.0mA/2.0mA */
  114. #define AMP_GAIN_X 0x05 /* x150 */
  115. #define AMP_GAIN_Y 0x05 /* x150 */
  116. /* OSC Init */
  117. #define OSC_INI 0x2E /* VDD=2.8V */
  118. /* AF Open para */
  119. #define RWEXD1_L_AF 0x7FFF /* */
  120. #define RWEXD2_L_AF 0x1094 /* */
  121. #define RWEXD3_L_AF 0x72BA /* */
  122. #define FSTCTIME_AF 0xED /* */
  123. #define FSTMODE_AF 0x02 /* */
  124. /* (0.3750114X^3+0.5937681X)*(0.3750114X^3+0.5937681X) 6.5ohm */
  125. #define A3_IEXP3 0x3EC0017F
  126. #define A1_IEXP1 0x3F180130
  127. #endif
  128. #ifdef ACTREG_10P2OHM /* MTM 10.2 Actuator *************************** */
  129. #define BIAS_CUR_OIS 0x33 /* 2.0mA/2.0mA */
  130. #define AMP_GAIN_X 0x05 /* x150 */
  131. #define AMP_GAIN_Y 0x05 /* x150 */
  132. /* OSC Init */
  133. #define OSC_INI 0x2E /* VDD=2.8V */
  134. /* AF Open para */
  135. #define RWEXD1_L_AF 0x7FFF /* */
  136. #define RWEXD2_L_AF 0x75FE /* */
  137. #define RWEXD3_L_AF 0x7F32 /* */
  138. #define FSTCTIME_AF 0xF1 /* */
  139. #define FSTMODE_AF 0x00 /* */
  140. /* (0.3750114X^3+0.55X)*(0.3750114X^3+0.55X) 10.2ohm */
  141. #define A3_IEXP3 0x3EC0017F
  142. #define A1_IEXP1 0x3F0CCCCD
  143. #endif
  144. #ifdef ACTREG_15OHM /* TDK 10.5 Actuator *************************** */
  145. #define BIAS_CUR_OIS 0x22 /* 1.0mA/1.0mA */
  146. #define AMP_GAIN_X 0x04 /* x100 */
  147. #define AMP_GAIN_Y 0x04 /* x100 */
  148. /* OSC Init */
  149. #define OSC_INI 0x2E /* VDD=2.8V */
  150. /* AF Open para */
  151. #define RWEXD1_L_AF 0x7FFF /* */
  152. #define RWEXD2_L_AF 0x5A00 /* */
  153. #define RWEXD3_L_AF 0x7000 /* */
  154. #define FSTCTIME_AF 0x5F /* */
  155. #define FSTMODE_AF 0x00 /* */
  156. /* (0.4531388X^3+0.4531388X)*(0.4531388X^3+0.4531388X) 15ohm */
  157. #define A3_IEXP3 0x3EE801CF
  158. #define A1_IEXP1 0x3EE801CF
  159. #endif
  160. /* AF adjust parameter */
  161. #define DAHLZB_INI 0x9000
  162. #define DAHLZO_INI 0x0000
  163. #define BIAS_CUR_AF 0x00 /* 0.25mA */
  164. #define AMP_GAIN_AF 0x00 /* x6 */
  165. /* Digital Gyro offset Initial value */
  166. #define DGYRO_OFST_XH 0x00
  167. #define DGYRO_OFST_XL 0x00
  168. #define DGYRO_OFST_YH 0x00
  169. #define DGYRO_OFST_YL 0x00
  170. #define SXGAIN_LOP 0x3000
  171. #define SYGAIN_LOP 0x3000
  172. #define TCODEH_ADJ 0x0000
  173. #define GYRLMT1H 0x3DCCCCCD /* 0.1F */
  174. #ifdef CORRECT_1DEG
  175. #define GYRLMT3_S1 0x3F19999A /* 0.60F */
  176. #define GYRLMT3_S2 0x3F19999A /* 0.60F */
  177. #define GYRLMT4_S1 0x40400000 /* 3.0F */
  178. #define GYRLMT4_S2 0x40400000 /* 3.0F */
  179. #define GYRA12_HGH 0x40000000 /* 2.00F */
  180. #define GYRA12_MID 0x3F800000 /* 1.0F */
  181. #define GYRA34_HGH 0x3F000000 /* 0.5F */
  182. #define GYRA34_MID 0x3DCCCCCD /* 0.1F */
  183. #define GYRB12_HGH 0x3E4CCCCD /* 0.20F */
  184. #define GYRB12_MID 0x3CA3D70A /* 0.02F */
  185. #define GYRB34_HGH 0x3CA3D70A /* 0.02F */
  186. #define GYRB34_MID 0x3C23D70A /* 0.001F */
  187. #else
  188. #define GYRLMT3_S1 0x3ECCCCCD /* 0.40F */
  189. #define GYRLMT3_S2 0x3ECCCCCD /* 0.40F */
  190. #define GYRLMT4_S1 0x40000000 /* 2.0F */
  191. #define GYRLMT4_S2 0x40000000 /* 2.0F */
  192. #define GYRA12_HGH 0x3FC00000 /* 1.50F */
  193. #define GYRA12_MID 0x3F800000 /* 1.0F */
  194. #define GYRA34_HGH 0x3F000000 /* 0.5F */
  195. #define GYRA34_MID 0x3DCCCCCD /* 0.1F */
  196. #define GYRB12_HGH 0x3E4CCCCD /* 0.20F */
  197. #define GYRB12_MID 0x3CA3D70A /* 0.02F */
  198. #define GYRB34_HGH 0x3CA3D70A /* 0.02F */
  199. #define GYRB34_MID 0x3C23D70A /* 0.001F */
  200. #endif
  201. /* #define OPTCEN_X 0x0000 */
  202. /* #define OPTCEN_Y 0x0000 */
  203. #ifdef USE_INVENSENSE
  204. #ifdef MN_3BSD05P1
  205. #define SXQ_INI 0x3F800000
  206. #define SYQ_INI 0xBF800000
  207. #define GXGAIN_INI 0xBF147AE1
  208. #define GYGAIN_INI 0xBF147AE1
  209. #define GYROX_INI 0x45
  210. #define GYROY_INI 0x43
  211. #define GXHY_GYHX 1
  212. #endif
  213. #endif
  214. /* Optical Center & Gyro Gain for Mode */
  215. #define VAL_SET 0x00 /* Setting mode */
  216. #define VAL_FIX 0x01 /* Fix Set value */
  217. #define VAL_SPC 0x02 /* Special mode */
  218. struct STFILREG {
  219. unsigned short UsRegAdd;
  220. unsigned char UcRegDat;
  221. }; /* Register Data Table */
  222. struct STFILRAM {
  223. unsigned short UsRamAdd;
  224. unsigned long UlRamDat;
  225. }; /* Filter Coefficient Table */
  226. struct STCMDTBL {
  227. unsigned short Cmd;
  228. unsigned int UiCmdStf;
  229. void (*UcCmdPtr) (void);
  230. };
  231. /*** caution [little-endian] ***/
  232. /* Word Data Union */
  233. union WRDVAL {
  234. unsigned short UsWrdVal;
  235. unsigned char UcWrkVal[2];
  236. struct {
  237. unsigned char UcLowVal;
  238. unsigned char UcHigVal;
  239. } StWrdVal;
  240. };
  241. typedef union WRDVAL UnWrdVal;
  242. union DWDVAL {
  243. unsigned long UlDwdVal;
  244. unsigned short UsDwdVal[2];
  245. struct {
  246. unsigned short UsLowVal;
  247. unsigned short UsHigVal;
  248. } StDwdVal;
  249. struct {
  250. unsigned char UcRamVa0;
  251. unsigned char UcRamVa1;
  252. unsigned char UcRamVa2;
  253. unsigned char UcRamVa3;
  254. } StCdwVal;
  255. };
  256. typedef union DWDVAL UnDwdVal;
  257. /* Float Data Union */
  258. union FLTVAL {
  259. float SfFltVal;
  260. unsigned long UlLngVal;
  261. unsigned short UsDwdVal[2];
  262. struct {
  263. unsigned short UsLowVal;
  264. unsigned short UsHigVal;
  265. } StFltVal;
  266. };
  267. typedef union FLTVAL UnFltVal;
  268. typedef struct STADJPAR {
  269. struct {
  270. unsigned char UcAdjPhs; /* Hall Adjust Phase */
  271. unsigned short UsHlxCna; /* Hall Center Value after Hall Adjust */
  272. unsigned short UsHlxMax; /* Hall Max Value */
  273. unsigned short UsHlxMxa; /* Hall Max Value after Hall Adjust */
  274. unsigned short UsHlxMin; /* Hall Min Value */
  275. unsigned short UsHlxMna; /* Hall Min Value after Hall Adjust */
  276. unsigned short UsHlxGan; /* Hall Gain Value */
  277. unsigned short UsHlxOff; /* Hall Offset Value */
  278. unsigned short UsAdxOff; /* Hall A/D Offset Value */
  279. unsigned short UsHlxCen; /* Hall Center Value */
  280. unsigned short UsHlyCna; /* Hall Center Value after Hall Adjust */
  281. unsigned short UsHlyMax; /* Hall Max Value */
  282. unsigned short UsHlyMxa; /* Hall Max Value after Hall Adjust */
  283. unsigned short UsHlyMin; /* Hall Min Value */
  284. unsigned short UsHlyMna; /* Hall Min Value after Hall Adjust */
  285. unsigned short UsHlyGan; /* Hall Gain Value */
  286. unsigned short UsHlyOff; /* Hall Offset Value */
  287. unsigned short UsAdyOff; /* Hall A/D Offset Value */
  288. unsigned short UsHlyCen; /* Hall Center Value */
  289. } StHalAdj;
  290. struct {
  291. unsigned short UsLxgVal; /* Loop Gain X */
  292. unsigned short UsLygVal; /* Loop Gain Y */
  293. unsigned short UsLxgSts; /* Loop Gain X Status */
  294. unsigned short UsLygSts; /* Loop Gain Y Status */
  295. } StLopGan;
  296. struct {
  297. unsigned short UsGxoVal; /* Gyro A/D Offset X */
  298. unsigned short UsGyoVal; /* Gyro A/D Offset Y */
  299. unsigned short UsGxoSts; /* Gyro Offset X Status */
  300. unsigned short UsGyoSts; /* Gyro Offset Y Status */
  301. } StGvcOff;
  302. unsigned char UcOscVal; /* OSC value */
  303. } stAdjPar;
  304. OISCMD__ stAdjPar StAdjPar; /* Execute Command Parameter */
  305. OISCMD__ unsigned char UcOscAdjFlg; /* For Measure trigger */
  306. #define MEASSTR 0x01
  307. #define MEASCNT 0x08
  308. #define MEASFIX 0x80
  309. OISINI__ unsigned short UsCntXof; /* OPTICAL Center Xvalue */
  310. OISINI__ unsigned short UsCntYof; /* OPTICAL Center Yvalue */
  311. OISINI__ unsigned char UcPwmMod; /* PWM MODE */
  312. #define PWMMOD_CVL 0x00 /* CVL PWM MODE */
  313. #define PWMMOD_PWM 0x01 /* PWM MODE */
  314. #define INIT_PWMMODE PWMMOD_CVL /* initial output mode */
  315. OISINI__ unsigned char UcCvrCod; /* CverCode */
  316. #define CVER122 0x93 /* LC898122 */
  317. #define CVER122A 0xA1 /* LC898122A */
  318. /* Prottype Declation */
  319. OISINI__ void IniSet(void); /* Initial Top Function */
  320. OISINI__ void IniSetAf(void); /* Initial Top Function */
  321. OISINI__ void ClrGyr(unsigned short, unsigned char); /* Clear Gyro RAM */
  322. #define CLR_FRAM0 0x01
  323. #define CLR_FRAM1 0x02
  324. #define CLR_ALL_RAM 0x03
  325. OISINI__ void BsyWit(unsigned short, unsigned char); /* Busy Wait Function */
  326. /* OISINI__ void WitTim_LC898122AF( unsigned short ) ; // Wait */
  327. OISINI__ void MemClr(unsigned char *, unsigned short); /* Memory Clear Function */
  328. OISINI__ void GyOutSignal(void); /* Slect Gyro Output signal Function */
  329. OISINI__ void GyOutSignalCont(void); /* Slect Gyro Output Continuos Function */
  330. #ifdef STANDBY_MODE
  331. OISINI__ void AccWit(unsigned char); /* Acc Wait Function */
  332. OISINI__ void SelectGySleep(unsigned char); /* Select Gyro Mode Function */
  333. #endif
  334. #ifdef GAIN_CONT
  335. OISINI__ void AutoGainControlSw(unsigned char); /* Auto Gain Control Sw */
  336. #endif
  337. OISINI__ void DrvSw(unsigned char UcDrvSw); /* Driver Mode setting function */
  338. OISINI__ void AfDrvSw(unsigned char UcDrvSw); /* AF Driver Mode setting function */
  339. OISINI__ void RamAccFixMod(unsigned char); /* Ram Access Fix Mode setting function */
  340. OISINI__ void IniPtMovMod(unsigned char); /* Pan/Tilt parameter setting by mode function */
  341. OISINI__ void ChkCvr(void); /* Check Function */
  342. OISCMD__ void SrvCon(unsigned char, unsigned char); /* Servo ON/OFF */
  343. OISCMD__ unsigned short TneRun(void); /* Hall System Auto Adjustment Function */
  344. OISCMD__ unsigned char RtnCen(unsigned char); /* Return to Center Function */
  345. OISCMD__ void OisEna(void); /* OIS Enable Function */
  346. OISCMD__ void OisEnaLin(void); /* OIS Enable Function for Line adjustment */
  347. OISCMD__ void TimPro(void); /* Timer Interrupt Process Function */
  348. OISCMD__ void S2cPro(unsigned char); /* S2 Command Process Function */
  349. #ifdef MN_3BSD05P1
  350. #define DIFIL_S2 0x3F7FFE00
  351. #endif
  352. OISCMD__ void SetSinWavePara(unsigned char, unsigned char); /* Sin wave Test Function */
  353. #define SINEWAVE 0
  354. #define XHALWAVE 1
  355. #define YHALWAVE 2
  356. #define CIRCWAVE 255
  357. OISCMD__ unsigned char TneGvc(void); /* Gyro VC Offset Adjust */
  358. OISCMD__ void SetZsp(unsigned char); /* Set Zoom Step parameter Function */
  359. OISCMD__ void OptCen(unsigned char, unsigned short, unsigned short); /* Set Optical Center adjusted value Function */
  360. OISCMD__ void StbOnnN(unsigned char, unsigned char); /* Stabilizer For Servo On Function */
  361. #ifdef MODULE_CALIBRATION
  362. OISCMD__ unsigned char LopGan(unsigned char); /* Loop Gain Adjust */
  363. #endif
  364. #ifdef STANDBY_MODE
  365. OISCMD__ void SetStandby(unsigned char); /* Standby control */
  366. #endif
  367. #ifdef MODULE_CALIBRATION
  368. OISCMD__ unsigned short OscAdj(void); /* OSC clock adjustment */
  369. #endif
  370. #ifdef HALLADJ_HW
  371. #ifdef MODULE_CALIBRATION
  372. OISCMD__ unsigned char LoopGainAdj(unsigned char);
  373. #endif
  374. OISCMD__ unsigned char BiasOffsetAdj(unsigned char, unsigned char);
  375. #endif
  376. OISCMD__ void GyrGan(unsigned char, unsigned long, unsigned long); /* Set Gyro Gain Function */
  377. OISCMD__ void SetPanTiltMode(unsigned char); /* Pan_Tilt control Function */
  378. #ifndef HALLADJ_HW
  379. OISCMD__ unsigned long TnePtp(unsigned char, unsigned char); /* Get Hall Peak to Peak Values */
  380. #ifdef MN_3BSD05P1
  381. #define HALL_H_VAL 0x3F800000 /* 1.0 */
  382. #endif
  383. OISCMD__ unsigned char TneCen(unsigned char, UnDwdVal); /* Tuning Hall Center */
  384. #define PTP_BEFORE 0
  385. #define PTP_AFTER 1
  386. #endif
  387. #ifdef GAIN_CONT
  388. OISCMD__ unsigned char TriSts(void); /* Read Status of Tripod mode Function */
  389. #endif
  390. OISCMD__ unsigned char DrvPwmSw(unsigned char); /* Select Driver mode Function */
  391. #define Mlnp 0 /* Linear PWM */
  392. #define Mpwm 1 /* PWM */
  393. #ifdef NEUTRAL_CENTER /* Gyro VC Offset Adjust */
  394. OISCMD__ unsigned char TneHvc(void); /* Hall VC Offset Adjust */
  395. #endif /* NEUTRAL_CENTER */
  396. OISCMD__ void SetGcf(unsigned char); /* Set DI filter coefficient Function */
  397. OISCMD__ unsigned long UlH1Coefval; /* H1 coefficient value */
  398. #ifdef H1COEF_CHANGER
  399. OISCMD__ unsigned char UcH1LvlMod; /* H1 level coef mode */
  400. OISCMD__ void SetH1cMod(unsigned char); /* Set H1C coefficient Level chang Function */
  401. #define S2MODE 0x40
  402. #define ACTMODE 0x80
  403. #define MOVMODE 0xFF
  404. #endif
  405. OISCMD__ unsigned short RdFwVr(void);
  406. void RegWriteA_LC898122AF(unsigned short RegAddr, unsigned char RegData);
  407. void RegReadA_LC898122AF(unsigned short RegAddr, unsigned char *RegData);
  408. void RamWriteA_LC898122AF(unsigned short RamAddr, unsigned short RamData);
  409. void RamReadA_LC898122AF(unsigned short RamAddr, void *ReadData);
  410. void RamWrite32A_LC898122AF(unsigned short RamAddr, unsigned long RamData);
  411. void RamRead32A_LC898122AF(unsigned short RamAddr, void *ReadData);
  412. void WitTim_LC898122AF(unsigned short UsWitTim);
  413. void LC898prtvalue(unsigned short value);
  414. /* Read Fw Version Function */