Kazuki Nishioka / Mbed 2 deprecated control

Dependencies:   mbed

Committer:
NishiKazu
Date:
Thu Oct 08 09:01:15 2020 +0000
Revision:
1:ad2925b38616
Parent:
0:ba7e86f744b9
add coment

Who changed what in which revision?

UserRevisionLine numberNew contents of line
NishiKazu 0:ba7e86f744b9 1 #include "mbed.h"
NishiKazu 0:ba7e86f744b9 2 #define bitRead(value, bit) (((value) >> (bit)) & 0x01)
NishiKazu 0:ba7e86f744b9 3 #define bitSet(value, bit) ((value) |= (1UL << (bit)))
NishiKazu 0:ba7e86f744b9 4 #define bitClear(value, bit) ((value) &= ~(1UL << (bit)))
NishiKazu 0:ba7e86f744b9 5 #define bitWrite(value, bit, bitvalue) (bitvalue ? bitSet(value, bit) : bitClear(value, bit))
NishiKazu 0:ba7e86f744b9 6 #define left (bitRead (DT[2],3))
NishiKazu 0:ba7e86f744b9 7 #define right (bitRead (DT[2],2))
NishiKazu 0:ba7e86f744b9 8 #define up (bitRead (DT[2],0))
NishiKazu 0:ba7e86f744b9 9 #define down (bitRead (DT[2],1))
NishiKazu 0:ba7e86f744b9 10 #define sqare (bitRead (DT[1],0))
NishiKazu 0:ba7e86f744b9 11 #define circle (bitRead (DT[2],6))
NishiKazu 0:ba7e86f744b9 12 #define participation (bitRead (DT[2],4))
NishiKazu 0:ba7e86f744b9 13 #define xmark (bitRead (DT[2],5))
NishiKazu 0:ba7e86f744b9 14 #define l1 (bitRead (DT[1],1))
NishiKazu 0:ba7e86f744b9 15 #define l2 (bitRead (DT[1],2))
NishiKazu 0:ba7e86f744b9 16 #define r1 (bitRead (DT[1],3))
NishiKazu 0:ba7e86f744b9 17 #define r2 (bitRead (DT[1],4))
NishiKazu 0:ba7e86f744b9 18 Serial pc(USBTX,USBRX,115200); //tx, rx
NishiKazu 0:ba7e86f744b9 19 Serial SBDBT(D1,D0,115200); //tx, rx
NishiKazu 0:ba7e86f744b9 20 int DT[8];
NishiKazu 0:ba7e86f744b9 21 int DT_joy[8];
NishiKazu 0:ba7e86f744b9 22 long map(long x, long in_min, long in_max, long out_min, long out_max) {
NishiKazu 0:ba7e86f744b9 23 return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
NishiKazu 0:ba7e86f744b9 24 }
NishiKazu 0:ba7e86f744b9 25 void SBDBT_rx(){
NishiKazu 0:ba7e86f744b9 26 for(int i = 0; i < 8;i++){
NishiKazu 0:ba7e86f744b9 27 DT[i] = SBDBT.getc();
NishiKazu 0:ba7e86f744b9 28 }
NishiKazu 0:ba7e86f744b9 29 for(int i=3;i<7;i++){
NishiKazu 0:ba7e86f744b9 30 DT[i] = map(DT[i],0,255,-128,128);
NishiKazu 0:ba7e86f744b9 31 }
NishiKazu 0:ba7e86f744b9 32 }
NishiKazu 0:ba7e86f744b9 33 void pc_tx(){
NishiKazu 0:ba7e86f744b9 34 for(int i = 3; i <7;i++){
NishiKazu 0:ba7e86f744b9 35 pc.printf(" %3d",DT[i]*-1);
NishiKazu 0:ba7e86f744b9 36 }
NishiKazu 0:ba7e86f744b9 37 if(left){
NishiKazu 0:ba7e86f744b9 38 pc.printf(" left");
NishiKazu 0:ba7e86f744b9 39 }
NishiKazu 0:ba7e86f744b9 40 if(right){
NishiKazu 0:ba7e86f744b9 41 pc.printf(" right");
NishiKazu 0:ba7e86f744b9 42 }
NishiKazu 0:ba7e86f744b9 43 if(up){
NishiKazu 0:ba7e86f744b9 44 pc.printf(" up");
NishiKazu 0:ba7e86f744b9 45 }
NishiKazu 0:ba7e86f744b9 46 if(down){
NishiKazu 0:ba7e86f744b9 47 pc.printf(" down");
NishiKazu 0:ba7e86f744b9 48 }
NishiKazu 0:ba7e86f744b9 49 if(sqare){
NishiKazu 0:ba7e86f744b9 50 pc.printf(" sqare");
NishiKazu 0:ba7e86f744b9 51 }
NishiKazu 0:ba7e86f744b9 52 if(circle){
NishiKazu 0:ba7e86f744b9 53 pc.printf(" circle");
NishiKazu 0:ba7e86f744b9 54 }
NishiKazu 0:ba7e86f744b9 55 if(participation){
NishiKazu 0:ba7e86f744b9 56 pc.printf(" participation");
NishiKazu 0:ba7e86f744b9 57 }
NishiKazu 0:ba7e86f744b9 58 if(xmark){
NishiKazu 0:ba7e86f744b9 59 pc.printf(" xmark");
NishiKazu 0:ba7e86f744b9 60 }
NishiKazu 0:ba7e86f744b9 61 if(l1){
NishiKazu 0:ba7e86f744b9 62 pc.printf(" L1");
NishiKazu 0:ba7e86f744b9 63 }
NishiKazu 0:ba7e86f744b9 64 if(l2){
NishiKazu 0:ba7e86f744b9 65 pc.printf(" L2");
NishiKazu 0:ba7e86f744b9 66 }
NishiKazu 0:ba7e86f744b9 67 if(r1){
NishiKazu 0:ba7e86f744b9 68 pc.printf(" R1");
NishiKazu 0:ba7e86f744b9 69 }
NishiKazu 0:ba7e86f744b9 70 if(r2){
NishiKazu 0:ba7e86f744b9 71 pc.printf(" R2");
NishiKazu 0:ba7e86f744b9 72 }
NishiKazu 0:ba7e86f744b9 73 pc.printf("\n");
NishiKazu 0:ba7e86f744b9 74 }
NishiKazu 0:ba7e86f744b9 75 int main (){
NishiKazu 1:ad2925b38616 76 SBDBT.attach(SBDBT_rx,Serial::RxIrq); //割り込み
NishiKazu 0:ba7e86f744b9 77 while(1){
NishiKazu 0:ba7e86f744b9 78 pc_tx();
NishiKazu 0:ba7e86f744b9 79 }
NishiKazu 0:ba7e86f744b9 80 }