2021A Conste RX/TX lib
conste.h@4:2e24564f6427, 2021-11-10 (annotated)
- Committer:
- TakushimaYukimasa
- Date:
- Wed Nov 10 02:55:53 2021 +0000
- Revision:
- 4:2e24564f6427
- Parent:
- 3:1a22afd67175
- Child:
- 5:7bd291d159ac
final corler v1.0
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
TakushimaYukimasa | 0:847ba7e5b1a0 | 1 | #ifndef INCLUDED_CONSTE_h_ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 2 | #define INCLUDED_CONSTE_h_ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 3 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 4 | #include "mbed.h" |
TakushimaYukimasa | 0:847ba7e5b1a0 | 5 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 6 | /* マクロ定義 ----------------------------------------------------------------*/ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 7 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 8 | /* 定数定義 ------------------------------------------------------------------*/ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 9 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 10 | /* クラス定義 ----------------------------------------------------------------*/ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 11 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 12 | /******************************************************************************* |
TakushimaYukimasa | 0:847ba7e5b1a0 | 13 | * @名称 CONSTE |
TakushimaYukimasa | 0:847ba7e5b1a0 | 14 | * @概要 2021Aチーム コントロールステーション受信クラス |
TakushimaYukimasa | 4:2e24564f6427 | 15 | |
TakushimaYukimasa | 2:4571cb39d887 | 16 | *****受信データフォーマット(6byte)***** |
TakushimaYukimasa | 2:4571cb39d887 | 17 | | [COBS] | βββββββX | XXXXXXXX | XXXXXXXX | YZαααααα | [COBS] | |
TakushimaYukimasa | 2:4571cb39d887 | 18 | timeMs 17bit X タイマーの時間[ms] |
TakushimaYukimasa | 2:4571cb39d887 | 19 | isstart 1bit Y タイマーが動いているか否か |
TakushimaYukimasa | 2:4571cb39d887 | 20 | isEMO 1bit Z 非常停止状態か否か |
TakushimaYukimasa | 2:4571cb39d887 | 21 | Status 6bit α 2bit×3台のステータス |
TakushimaYukimasa | 2:4571cb39d887 | 22 | CheckSUM 7bit β XYZαααの十進数1桁ずつの合計 |
TakushimaYukimasa | 4:2e24564f6427 | 23 | |
TakushimaYukimasa | 2:4571cb39d887 | 24 | *****送信データフォーマット-ロボット***** |
TakushimaYukimasa | 2:4571cb39d887 | 25 | | XYY000ZZ | |
TakushimaYukimasa | 2:4571cb39d887 | 26 | isRimocon 1bit X 0 |
TakushimaYukimasa | 2:4571cb39d887 | 27 | number 2bit Y 識別番号 0…のあ 1…ねぷちゅーん 2…とりとん |
TakushimaYukimasa | 2:4571cb39d887 | 28 | Status 2bit Z ステータス 1…モード異常 2…座標追従失敗 3…正常 |
TakushimaYukimasa | 4:2e24564f6427 | 29 | |
TakushimaYukimasa | 2:4571cb39d887 | 30 | *****送信データフォーマット-リモコン***** |
TakushimaYukimasa | 2:4571cb39d887 | 31 | | XYZαββββ | |
TakushimaYukimasa | 2:4571cb39d887 | 32 | isRimocon 1bit X 1 |
TakushimaYukimasa | 2:4571cb39d887 | 33 | number 1bit Y 識別番号 0…リモコン1 1…リモコン2 |
TakushimaYukimasa | 2:4571cb39d887 | 34 | isEMO 1bit Z 非常停止状態か否か |
TakushimaYukimasa | 2:4571cb39d887 | 35 | isEMO 1bit α タイマーが動いているか否か |
TakushimaYukimasa | 2:4571cb39d887 | 36 | battery 4bit β バッテリー残量(4bitADC) |
TakushimaYukimasa | 4:2e24564f6427 | 37 | |
TakushimaYukimasa | 4:2e24564f6427 | 38 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 39 | *******************************************************************************/ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 40 | class CONSTE |
TakushimaYukimasa | 0:847ba7e5b1a0 | 41 | { |
TakushimaYukimasa | 0:847ba7e5b1a0 | 42 | private: |
TakushimaYukimasa | 0:847ba7e5b1a0 | 43 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 44 | /* 受信割り込み用関数 */ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 45 | void uartRX(void); |
TakushimaYukimasa | 4:2e24564f6427 | 46 | |
TakushimaYukimasa | 2:4571cb39d887 | 47 | /* タイマ割り込み用関数 */ |
TakushimaYukimasa | 2:4571cb39d887 | 48 | void IT_CallBack(void); |
TakushimaYukimasa | 4:2e24564f6427 | 49 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 50 | uint8_t severalRX; |
TakushimaYukimasa | 4:2e24564f6427 | 51 | |
TakushimaYukimasa | 4:2e24564f6427 | 52 | |
TakushimaYukimasa | 2:4571cb39d887 | 53 | Ticker ticker; |
TakushimaYukimasa | 4:2e24564f6427 | 54 | |
TakushimaYukimasa | 4:2e24564f6427 | 55 | /* 受信生データ */ |
TakushimaYukimasa | 4:2e24564f6427 | 56 | uint8_t readLoc; |
TakushimaYukimasa | 4:2e24564f6427 | 57 | uint8_t readData[255]; |
TakushimaYukimasa | 4:2e24564f6427 | 58 | /* 処理済みデータ */ |
TakushimaYukimasa | 4:2e24564f6427 | 59 | uint8_t arrayRestore[4]; |
TakushimaYukimasa | 4:2e24564f6427 | 60 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 61 | public: |
TakushimaYukimasa | 4:2e24564f6427 | 62 | int hoge; |
TakushimaYukimasa | 4:2e24564f6427 | 63 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 64 | Serial uart; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 65 | Timer lostRX; |
TakushimaYukimasa | 2:4571cb39d887 | 66 | Timer timeUpdate; |
TakushimaYukimasa | 4:2e24564f6427 | 67 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 68 | CONSTE(PinName tx, PinName rx, int baud); |
TakushimaYukimasa | 4:2e24564f6427 | 69 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 70 | /* 受信データ */ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 71 | //タイマ時間(ms) |
TakushimaYukimasa | 0:847ba7e5b1a0 | 72 | uint32_t timeMs; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 73 | // タイマが動いてるか否か |
TakushimaYukimasa | 0:847ba7e5b1a0 | 74 | bool isStart; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 75 | // 非常停止状態 (trueの時はモーターを止めてください) |
TakushimaYukimasa | 0:847ba7e5b1a0 | 76 | bool isEMO; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 77 | // ロボットの状態 1…モード異常 2…座標追従失敗 3…正常 |
TakushimaYukimasa | 0:847ba7e5b1a0 | 78 | uint8_t RobotStat[3]; |
TakushimaYukimasa | 4:2e24564f6427 | 79 | |
TakushimaYukimasa | 4:2e24564f6427 | 80 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 81 | /* 送信データ */ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 82 | // 識別番号 0…のあ 1…ねぷちゅーん 2…とりとん 4…リモコン1 6…リモコン2 |
TakushimaYukimasa | 0:847ba7e5b1a0 | 83 | uint8_t identificationNum; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 84 | /* ロボット送信データ */ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 85 | // ロボットの状態 1…モード異常 2…座標追従失敗 3…正常 |
TakushimaYukimasa | 0:847ba7e5b1a0 | 86 | uint8_t status; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 87 | /* リモコン送信データ */ |
TakushimaYukimasa | 0:847ba7e5b1a0 | 88 | // 非常停止SW状態 |
TakushimaYukimasa | 0:847ba7e5b1a0 | 89 | bool swEMO; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 90 | // スタートSW状態 |
TakushimaYukimasa | 0:847ba7e5b1a0 | 91 | bool swStart; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 92 | // バッテリ電圧 (4bit) |
TakushimaYukimasa | 0:847ba7e5b1a0 | 93 | int8_t batteryRemain; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 94 | }; |
TakushimaYukimasa | 0:847ba7e5b1a0 | 95 | |
TakushimaYukimasa | 0:847ba7e5b1a0 | 96 | #endif |