Jun Furutani / libMiMic

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Fri Jun 20 15:38:30 2014 +0000
Revision:
77:8651d3c19a55
Parent:
76:b375b3d750d8
Child:
78:8cdb8fc7eda8
MiMicCore??363????; mbed/jsonrpc?????????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nyatla 76:b375b3d750d8 1 /**
nyatla 76:b375b3d750d8 2 * @file
nyatla 76:b375b3d750d8 3 * LPC176xのターゲットテーブルです。
nyatla 76:b375b3d750d8 4 */
nyatla 76:b375b3d750d8 5 #include "TargetTypes.h"
nyatla 77:8651d3c19a55 6 #include "RpcHandlerBase.h"
nyatla 76:b375b3d750d8 7 #ifdef TARGET_LPC1768
nyatla 76:b375b3d750d8 8 namespace MiMic
nyatla 76:b375b3d750d8 9 {
nyatla 76:b375b3d750d8 10
nyatla 76:b375b3d750d8 11 #define NS_LPC_PIN_0 PINID_LPC
nyatla 76:b375b3d750d8 12 #define NS_LPC_PIN_1 (NS_LPC_PIN_0+32)
nyatla 76:b375b3d750d8 13 #define NS_LPC_PIN_2 (NS_LPC_PIN_1+32)
nyatla 76:b375b3d750d8 14 #define NS_LPC_PIN_3 (NS_LPC_PIN_2+32)
nyatla 76:b375b3d750d8 15 #define NS_LPC_PIN_4 (NS_LPC_PIN_2+32)
nyatla 76:b375b3d750d8 16 #define NS_LPC_PIN_5 (NS_LPC_PIN_2+32)
nyatla 76:b375b3d750d8 17
nyatla 77:8651d3c19a55 18 const static struct TPinNameMapItem pin_table[]={
nyatla 76:b375b3d750d8 19 {P0_0 ,NS_LPC_PIN_0+0}, {P0_1 ,NS_LPC_PIN_0+1}, {P0_2 ,NS_LPC_PIN_0+2}, {P0_3 ,NS_LPC_PIN_0+3},
nyatla 76:b375b3d750d8 20 {P0_4 ,NS_LPC_PIN_0+4}, {P0_5 ,NS_LPC_PIN_0+5}, {P0_6 ,NS_LPC_PIN_0+6}, {P0_7 ,NS_LPC_PIN_0+7},
nyatla 76:b375b3d750d8 21 {P0_8 ,NS_LPC_PIN_0+8}, {P0_9 ,NS_LPC_PIN_0+9}, {P0_10 ,NS_LPC_PIN_0+10}, {P0_11 ,NS_LPC_PIN_0+11},
nyatla 76:b375b3d750d8 22 {P0_12 ,NS_LPC_PIN_0+12}, {P0_13 ,NS_LPC_PIN_0+13}, {P0_14 ,NS_LPC_PIN_0+14}, {P0_15 ,NS_LPC_PIN_0+15},
nyatla 76:b375b3d750d8 23 {P0_16 ,NS_LPC_PIN_0+16}, {P0_17 ,NS_LPC_PIN_0+17}, {P0_18 ,NS_LPC_PIN_0+18}, {P0_19 ,NS_LPC_PIN_0+19},
nyatla 76:b375b3d750d8 24 {P0_20 ,NS_LPC_PIN_0+20}, {P0_21 ,NS_LPC_PIN_0+21}, {P0_22 ,NS_LPC_PIN_0+22}, {P0_23 ,NS_LPC_PIN_0+23},
nyatla 76:b375b3d750d8 25 {P0_24 ,NS_LPC_PIN_0+24}, {P0_25 ,NS_LPC_PIN_0+25}, {P0_26 ,NS_LPC_PIN_0+26}, {P0_27 ,NS_LPC_PIN_0+27},
nyatla 76:b375b3d750d8 26 {P0_28 ,NS_LPC_PIN_0+28}, {P0_29 ,NS_LPC_PIN_0+29}, {P0_30 ,NS_LPC_PIN_0+30}, {P0_31 ,NS_LPC_PIN_0+31},
nyatla 76:b375b3d750d8 27
nyatla 76:b375b3d750d8 28 {P1_0 ,NS_LPC_PIN_1+0}, {P1_1 ,NS_LPC_PIN_1+1}, {P1_2 ,NS_LPC_PIN_1+2}, {P1_3 ,NS_LPC_PIN_1+3},
nyatla 76:b375b3d750d8 29 {P1_4 ,NS_LPC_PIN_1+4}, {P1_5 ,NS_LPC_PIN_1+5}, {P1_6 ,NS_LPC_PIN_1+6}, {P1_7 ,NS_LPC_PIN_1+7},
nyatla 76:b375b3d750d8 30 {P1_8 ,NS_LPC_PIN_1+8}, {P1_9 ,NS_LPC_PIN_1+9}, {P1_10 ,NS_LPC_PIN_1+10}, {P1_11 ,NS_LPC_PIN_1+11},
nyatla 76:b375b3d750d8 31 {P1_12 ,NS_LPC_PIN_1+12}, {P1_13 ,NS_LPC_PIN_1+13}, {P1_14 ,NS_LPC_PIN_1+14}, {P1_15 ,NS_LPC_PIN_1+15},
nyatla 76:b375b3d750d8 32 {P1_16 ,NS_LPC_PIN_1+16}, {P1_17 ,NS_LPC_PIN_1+17}, {P1_18 ,NS_LPC_PIN_1+18}, {P1_19 ,NS_LPC_PIN_1+19},
nyatla 76:b375b3d750d8 33 {P1_20 ,NS_LPC_PIN_1+20}, {P1_21 ,NS_LPC_PIN_1+21}, {P1_22 ,NS_LPC_PIN_1+22}, {P1_23 ,NS_LPC_PIN_1+23},
nyatla 76:b375b3d750d8 34 {P1_24 ,NS_LPC_PIN_1+24}, {P1_25 ,NS_LPC_PIN_1+25}, {P1_26 ,NS_LPC_PIN_1+26}, {P1_27 ,NS_LPC_PIN_1+27},
nyatla 76:b375b3d750d8 35 {P1_28 ,NS_LPC_PIN_1+28}, {P1_29 ,NS_LPC_PIN_1+29}, {P1_30 ,NS_LPC_PIN_1+30}, {P1_31 ,NS_LPC_PIN_1+31},
nyatla 76:b375b3d750d8 36
nyatla 76:b375b3d750d8 37 {P2_0 ,NS_LPC_PIN_2+0}, {P2_1 ,NS_LPC_PIN_2+1}, {P2_2 ,NS_LPC_PIN_2+2}, {P2_3 ,NS_LPC_PIN_2+3},
nyatla 76:b375b3d750d8 38 {P2_4 ,NS_LPC_PIN_2+4}, {P2_5 ,NS_LPC_PIN_2+5}, {P2_6 ,NS_LPC_PIN_2+6}, {P2_7 ,NS_LPC_PIN_2+7},
nyatla 76:b375b3d750d8 39 {P2_8 ,NS_LPC_PIN_2+8}, {P2_9 ,NS_LPC_PIN_2+9}, {P2_10 ,NS_LPC_PIN_2+10}, {P2_11 ,NS_LPC_PIN_2+11},
nyatla 76:b375b3d750d8 40 {P2_12 ,NS_LPC_PIN_2+12}, {P2_13 ,NS_LPC_PIN_2+13}, {P2_14 ,NS_LPC_PIN_2+14}, {P2_15 ,NS_LPC_PIN_2+15},
nyatla 76:b375b3d750d8 41 {P2_16 ,NS_LPC_PIN_2+16}, {P2_17 ,NS_LPC_PIN_2+17}, {P2_18 ,NS_LPC_PIN_2+18}, {P2_19 ,NS_LPC_PIN_2+19},
nyatla 76:b375b3d750d8 42 {P2_20 ,NS_LPC_PIN_2+20}, {P2_21 ,NS_LPC_PIN_2+21}, {P2_22 ,NS_LPC_PIN_2+22}, {P2_23 ,NS_LPC_PIN_2+23},
nyatla 76:b375b3d750d8 43 {P2_24 ,NS_LPC_PIN_2+24}, {P2_25 ,NS_LPC_PIN_2+25}, {P2_26 ,NS_LPC_PIN_2+26}, {P2_27 ,NS_LPC_PIN_2+27},
nyatla 76:b375b3d750d8 44 {P2_28 ,NS_LPC_PIN_2+28}, {P2_29 ,NS_LPC_PIN_2+29}, {P2_30 ,NS_LPC_PIN_2+30}, {P2_31 ,NS_LPC_PIN_2+31},
nyatla 76:b375b3d750d8 45
nyatla 76:b375b3d750d8 46 {P3_0 ,NS_LPC_PIN_2+0}, {P3_1 ,NS_LPC_PIN_2+1}, {P3_2 ,NS_LPC_PIN_2+2}, {P3_3 ,NS_LPC_PIN_2+3},
nyatla 76:b375b3d750d8 47 {P3_4 ,NS_LPC_PIN_2+4}, {P3_5 ,NS_LPC_PIN_2+5}, {P3_6 ,NS_LPC_PIN_2+6}, {P3_7 ,NS_LPC_PIN_2+7},
nyatla 76:b375b3d750d8 48 {P3_8 ,NS_LPC_PIN_2+8}, {P3_9 ,NS_LPC_PIN_2+9}, {P3_10 ,NS_LPC_PIN_2+10}, {P3_11 ,NS_LPC_PIN_2+11},
nyatla 76:b375b3d750d8 49 {P3_12 ,NS_LPC_PIN_2+12}, {P3_13 ,NS_LPC_PIN_2+13}, {P3_14 ,NS_LPC_PIN_2+14}, {P3_15 ,NS_LPC_PIN_2+15},
nyatla 76:b375b3d750d8 50 {P3_16 ,NS_LPC_PIN_2+16}, {P3_17 ,NS_LPC_PIN_2+17}, {P3_18 ,NS_LPC_PIN_2+18}, {P3_19 ,NS_LPC_PIN_2+19},
nyatla 76:b375b3d750d8 51 {P3_20 ,NS_LPC_PIN_2+20}, {P3_21 ,NS_LPC_PIN_2+21}, {P3_22 ,NS_LPC_PIN_2+22}, {P3_23 ,NS_LPC_PIN_2+23},
nyatla 76:b375b3d750d8 52 {P3_24 ,NS_LPC_PIN_2+24}, {P3_25 ,NS_LPC_PIN_2+25}, {P3_26 ,NS_LPC_PIN_2+26}, {P3_27 ,NS_LPC_PIN_2+27},
nyatla 76:b375b3d750d8 53 {P3_28 ,NS_LPC_PIN_2+28}, {P3_29 ,NS_LPC_PIN_2+29}, {P3_30 ,NS_LPC_PIN_2+30}, {P3_31 ,NS_LPC_PIN_2+31},
nyatla 76:b375b3d750d8 54
nyatla 76:b375b3d750d8 55 {P4_0 ,NS_LPC_PIN_4+0}, {P4_1 ,NS_LPC_PIN_4+1}, {P4_2 ,NS_LPC_PIN_4+2}, {P4_3 ,NS_LPC_PIN_4+3},
nyatla 76:b375b3d750d8 56 {P4_4 ,NS_LPC_PIN_4+4}, {P4_5 ,NS_LPC_PIN_4+5}, {P4_6 ,NS_LPC_PIN_4+6}, {P4_7 ,NS_LPC_PIN_4+7},
nyatla 76:b375b3d750d8 57 {P4_8 ,NS_LPC_PIN_4+8}, {P4_9 ,NS_LPC_PIN_4+9}, {P4_10 ,NS_LPC_PIN_4+10}, {P4_11 ,NS_LPC_PIN_4+11},
nyatla 76:b375b3d750d8 58 {P4_12 ,NS_LPC_PIN_4+12}, {P4_13 ,NS_LPC_PIN_4+13}, {P4_14 ,NS_LPC_PIN_4+14}, {P4_15 ,NS_LPC_PIN_4+15},
nyatla 76:b375b3d750d8 59 {P4_16 ,NS_LPC_PIN_4+16}, {P4_17 ,NS_LPC_PIN_4+17}, {P4_18 ,NS_LPC_PIN_4+18}, {P4_19 ,NS_LPC_PIN_4+19},
nyatla 76:b375b3d750d8 60 {P4_20 ,NS_LPC_PIN_4+20}, {P4_21 ,NS_LPC_PIN_4+21}, {P4_22 ,NS_LPC_PIN_4+22}, {P4_23 ,NS_LPC_PIN_4+23},
nyatla 76:b375b3d750d8 61 {P4_24 ,NS_LPC_PIN_4+24}, {P4_25 ,NS_LPC_PIN_4+25}, {P4_26 ,NS_LPC_PIN_4+26}, {P4_27 ,NS_LPC_PIN_4+27},
nyatla 76:b375b3d750d8 62 {P4_28 ,NS_LPC_PIN_4+28}, {P4_29 ,NS_LPC_PIN_4+29}, {P4_30 ,NS_LPC_PIN_4+30}, {P4_31 ,NS_LPC_PIN_4+31},
nyatla 76:b375b3d750d8 63
nyatla 76:b375b3d750d8 64 // mbed DIP Pin Names
nyatla 76:b375b3d750d8 65
nyatla 76:b375b3d750d8 66 {P0_9 ,PINID_MBED_DIP+5}, {P0_8 ,PINID_MBED_DIP+6}, {P0_7 ,PINID_MBED_DIP+7}, {P0_6 ,PINID_MBED_DIP+8},
nyatla 76:b375b3d750d8 67 {P0_0 ,PINID_MBED_DIP+9}, {P0_1 ,PINID_MBED_DIP+10},{P0_18 ,PINID_MBED_DIP+11},{P0_17 ,PINID_MBED_DIP+12},
nyatla 76:b375b3d750d8 68 {P0_15 ,PINID_MBED_DIP+13},{P0_16 ,PINID_MBED_DIP+14},{P0_23 ,PINID_MBED_DIP+15},{P0_24 ,PINID_MBED_DIP+16},
nyatla 76:b375b3d750d8 69 {P0_25 ,PINID_MBED_DIP+17},{P0_26 ,PINID_MBED_DIP+18},{P1_30, PINID_MBED_DIP+19}, {P1_31, PINID_MBED_DIP+20},
nyatla 76:b375b3d750d8 70 {P2_5, PINID_MBED_DIP+21}, {P2_4, PINID_MBED_DIP+22}, {P2_3, PINID_MBED_DIP+23}, {P2_2, PINID_MBED_DIP+24},
nyatla 76:b375b3d750d8 71 {P2_1, PINID_MBED_DIP+25}, {P2_0, PINID_MBED_DIP+26}, {P0_11, PINID_MBED_DIP+27}, {P0_10, PINID_MBED_DIP+28},
nyatla 76:b375b3d750d8 72 {P0_5, PINID_MBED_DIP+29}, {P0_4, PINID_MBED_DIP+30},
nyatla 76:b375b3d750d8 73
nyatla 76:b375b3d750d8 74 // Other mbed Pin Names
nyatla 76:b375b3d750d8 75
nyatla 76:b375b3d750d8 76 #ifdef MCB1700
nyatla 76:b375b3d750d8 77 {P1_28 ,PINID_OTHER_MBED_LEDx+0}, {P1_29 ,PINID_OTHER_MBED_LEDx+1}, {P1_31 ,PINID_OTHER_MBED_LEDx+2}, {P2_2 ,PINID_OTHER_MBED_LEDx+3},
nyatla 76:b375b3d750d8 78 #else
nyatla 76:b375b3d750d8 79 {P1_18 ,PINID_OTHER_MBED_LEDx+0}, {P1_20 ,PINID_OTHER_MBED_LEDx+1}, {P1_21 ,PINID_OTHER_MBED_LEDx+2}, {P1_23 ,PINID_OTHER_MBED_LEDx+3},
nyatla 76:b375b3d750d8 80 #endif
nyatla 76:b375b3d750d8 81 {P0_2,PINID_OTHER_MBED_USBx+0},{P0_3,PINID_OTHER_MBED_USBx+1},
nyatla 76:b375b3d750d8 82
nyatla 76:b375b3d750d8 83 // Arch Pro Pin Names
nyatla 76:b375b3d750d8 84
nyatla 76:b375b3d750d8 85 {P4_29 ,PINID_ARCH_PRO_Dx+0}, {P4_28 ,PINID_ARCH_PRO_Dx+1}, {P0_4 ,PINID_ARCH_PRO_Dx+2}, {P0_5 ,PINID_ARCH_PRO_Dx+3},
nyatla 76:b375b3d750d8 86 {P2_2 ,PINID_ARCH_PRO_Dx+4}, {P2_3 ,PINID_ARCH_PRO_Dx+5}, {P2_4 ,PINID_ARCH_PRO_Dx+6}, {P2_5 ,PINID_ARCH_PRO_Dx+7},
nyatla 76:b375b3d750d8 87 {P0_0 ,PINID_ARCH_PRO_Dx+8}, {P0_1 ,PINID_ARCH_PRO_Dx+9}, {P0_6 ,PINID_ARCH_PRO_Dx+10},{P0_9 ,PINID_ARCH_PRO_Dx+11},
nyatla 76:b375b3d750d8 88 {P0_8 ,PINID_ARCH_PRO_Dx+12},{P0_7 ,PINID_ARCH_PRO_Dx+13},{P0_27 ,PINID_ARCH_PRO_Dx+14},{P0_28 ,PINID_ARCH_PRO_Dx+15},
nyatla 76:b375b3d750d8 89
nyatla 76:b375b3d750d8 90 {P0_23,PINID_ARCH_PRO_Ax+0},{P0_24,PINID_ARCH_PRO_Ax+1},{P0_25,PINID_ARCH_PRO_Ax+2},{P0_26,PINID_ARCH_PRO_Ax+3},
nyatla 76:b375b3d750d8 91 {P1_30,PINID_ARCH_PRO_Ax+4},{P1_31,PINID_ARCH_PRO_Ax+5},
nyatla 76:b375b3d750d8 92
nyatla 76:b375b3d750d8 93 {D15,PINID_ARCH_PRO_I2C_x+0},{D14,PINID_ARCH_PRO_I2C_x+1},
nyatla 76:b375b3d750d8 94 {NC,PINID_NC}
nyatla 76:b375b3d750d8 95 };
nyatla 76:b375b3d750d8 96
nyatla 77:8651d3c19a55 97 const static struct TPinModeMapItem pinmode_table[]=
nyatla 77:8651d3c19a55 98 {
nyatla 77:8651d3c19a55 99 {PullUp ,PINMODEID+0},
nyatla 77:8651d3c19a55 100 {PullDown ,PINMODEID+1},
nyatla 77:8651d3c19a55 101 {PullNone ,PINMODEID+2},
nyatla 77:8651d3c19a55 102 {OpenDrain ,PINMODEID+3},
nyatla 77:8651d3c19a55 103 {PullDefault,PINMODEID+4}
nyatla 77:8651d3c19a55 104 };
nyatla 77:8651d3c19a55 105 const static struct TPortNameMapItem portname_table[]=
nyatla 76:b375b3d750d8 106 {
nyatla 77:8651d3c19a55 107 {Port0 ,PORTID+0},
nyatla 77:8651d3c19a55 108 {Port1 ,PORTID+1},
nyatla 77:8651d3c19a55 109 {Port2 ,PORTID+2},
nyatla 77:8651d3c19a55 110 {Port3 ,PORTID+3},
nyatla 77:8651d3c19a55 111 {Port4 ,PORTID+4}
nyatla 77:8651d3c19a55 112 };
nyatla 77:8651d3c19a55 113
nyatla 77:8651d3c19a55 114 PinName RpcHandlerBase::pinId2PinName(unsigned int i_id)
nyatla 77:8651d3c19a55 115 {
nyatla 77:8651d3c19a55 116 for(int i=0;pin_table[i].name!=NC;i++){
nyatla 77:8651d3c19a55 117 if(i_id==pin_table[i].id){
nyatla 77:8651d3c19a55 118 return pin_table[i].name;
nyatla 76:b375b3d750d8 119 }
nyatla 76:b375b3d750d8 120 }
nyatla 76:b375b3d750d8 121 return NC;
nyatla 76:b375b3d750d8 122 }
nyatla 77:8651d3c19a55 123
nyatla 77:8651d3c19a55 124 PinMode RpcHandlerBase::pinmodeId2PinMode(unsigned int i_id)
nyatla 77:8651d3c19a55 125 {
nyatla 77:8651d3c19a55 126 for(int i=0;pinmode_table[i].mode!=PullDefault;i++){
nyatla 77:8651d3c19a55 127 if(i_id==pinmode_table[i].id){
nyatla 77:8651d3c19a55 128 return pinmode_table[i].mode;
nyatla 77:8651d3c19a55 129 }
nyatla 77:8651d3c19a55 130 }
nyatla 77:8651d3c19a55 131 return PullDefault;
nyatla 77:8651d3c19a55 132 }
nyatla 77:8651d3c19a55 133 PortName RpcHandlerBase::portId2PortName(unsigned int i_id)
nyatla 77:8651d3c19a55 134 {
nyatla 77:8651d3c19a55 135 for(int i=0;portname_table[i].port!=Port4;i++){
nyatla 77:8651d3c19a55 136 if(i_id==portname_table[i].id){
nyatla 77:8651d3c19a55 137 return portname_table[i].port;
nyatla 77:8651d3c19a55 138 }
nyatla 77:8651d3c19a55 139 }
nyatla 77:8651d3c19a55 140 return Port0;
nyatla 77:8651d3c19a55 141 }
nyatla 77:8651d3c19a55 142
nyatla 76:b375b3d750d8 143 }
nyatla 76:b375b3d750d8 144 #endif