source: rc_autosar_rh850/trunk/driver/rcb3.h@ 113

Last change on this file since 113 was 113, checked in by ertl-honda, 9 years ago

ドライバーの追加.

File size: 4.4 KB
Line 
1/*
2 * TOPPERS Software
3 * Toyohashi Open Platform for Embedded Real-Time Systems
4 *
5 * Copyright (C) 2014-2015 by Center for Embedded Computing Systems
6 * Graduate School of Information Science, Nagoya Univ., JAPAN
7 *
8 * 上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
13 * スコード中に含まれていること.
14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
17 * の無保証規定を掲載すること.
18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
20 * と.
21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
22 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
24 * 報告すること.
25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
29 * 免責すること.
30 *
31 * 本ソフトウェアは,AUTOSAR(AUTomotive Open System ARchitecture)仕
32 * 様に基づいている.上記の許諾は,AUTOSARの知的財産権を許諾するもので
33 * はない.AUTOSARは,AUTOSAR仕様に基づいたソフトウェアを商用目的で利
34 * 用する者に対して,AUTOSARパートナーになることを求めている.
35 *
36 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
37 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
38 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
39 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
40 * の責任を負わない.
41 *
42 * $Id: rcb3.h 20 2015-04-20 14:29:19Z honda $
43 */
44/*
45 * RCB3電文解析処理外部宣言
46 */
47#ifndef _RCB3_H_
48#define _RCB3_H_
49
50/*
51 * RCB3 Message format
52 */
53#define RCB3_MSG_LEN 8
54#define RCB3_MSG_HEADER_1 0x80
55
56#define RCB3_MSG_OFFSET_BUTTON_H 1
57#define RCB3_MSG_OFFSET_BUTTON_L 2
58#define RCB3_MSG_OFFSET_L_ANALOG_LR 3
59#define RCB3_MSG_OFFSET_L_ANALOG_UD 4
60#define RCB3_MSG_OFFSET_R_ANALOG_LR 5
61#define RCB3_MSG_OFFSET_R_ANALOG_UD 6
62
63#define RCB3_MSG_BUTTON_UP 0x0001
64#define RCB3_MSG_BUTTON_DOWN 0x0002
65#define RCB3_MSG_BUTTON_RIGHT 0x0004
66#define RCB3_MSG_BUTTON_LEFT 0x0008
67#define RCB3_MSG_BUTTON_TRIANGLE 0x0010
68#define RCB3_MSG_BUTTON_CROSS 0x0020
69#define RCB3_MSG_BUTTON_NOUGHT 0x0040
70#define RCB3_MSG_BUTTON_SQUARE 0x0100
71#define RCB3_MSG_BUTTON_L1 0x0200
72#define RCB3_MSG_BUTTON_L2 0x0400
73#define RCB3_MSG_BUTTON_R1 0x0800
74#define RCB3_MSG_BUTTON_R2 0x1000
75#define RCB3_MSG_BUTTON_START 0x0003
76#define RCB3_MSG_BUTTON_SELECT 0x000C
77
78#define RCB3_MSG_ANALOG_MAX 127
79#define RCB3_MSG_ANALOG_MIN 1
80#define RCB3_MSG_ANALOG_NEUTRAL 64
81
82
83/*
84 * 前状態と現在状態を示すポインタ
85 */
86extern boolean *p_g_pre_ps3button;
87extern boolean *p_g_cur_ps3button;
88extern sint8 *p_g_pre_ps3analog;
89extern sint8 *p_g_cur_ps3analog;
90extern uint8 g_rcb3_rmsg[RCB3_MSG_LEN];
91
92/*
93 * 各ボタン状態の番号
94 */
95#define NO_PS3BUTTON_UP 0
96#define NO_PS3BUTTON_DOWN 1
97#define NO_PS3BUTTON_LEFT 3
98#define NO_PS3BUTTON_RIGHT 2
99#define NO_PS3BUTTON_TRIANGLE 4
100#define NO_PS3BUTTON_CROSS 5
101#define NO_PS3BUTTON_NOUGHT 6
102#define NO_PS3BUTTON_SQUARE 7
103#define NO_PS3BUTTON_L1 8
104#define NO_PS3BUTTON_L2 9
105#define NO_PS3BUTTON_R1 10
106#define NO_PS3BUTTON_R2 11
107#define NO_PS3BUTTON_START 12
108#define NO_PS3BUTTON_SELECT 13
109
110#define NO_PS3ANALOG_L_LR 0
111#define NO_PS3ANALOG_L_UD 1
112#define NO_PS3ANALOG_R_LR 2
113#define NO_PS3ANALOG_R_UD 3
114
115/*
116 * 初期化処理
117 */
118void rcb3_Init(void);
119
120/*
121 * RCB3コマンドの解析
122 *
123 * 受信した1バイト毎に引数に指定して呼び出す.
124 * 電文の最後でTRUEを返す.
125 */
126extern boolean rcb3_AddReceivedByte(uint8 c);
127
128/*
129 * エラー時のコールバック関数(ユーザーファイルで定義)
130 */
131extern void rcb3_ErrorCb(uint8 calc_sum, uint8 recv_sum, uint8 *p_rcb3_rmsg);
132
133#endif /* _RCB3_H_ */
Note: See TracBrowser for help on using the repository browser.