#ifndef _USER_DEF_ #define _USER_DEF_ #define IIC_T_SLAVEADDRESS 0x4A #define IIC_C_SLAVEADDRESS 0x4A #define IIC_C_SLAVEADDRESS_DMY 0x4C #define IIC_SLA_DCP 0x50 #ifdef _debug_led_ # define DBG_LED_on { PM2.1 = 0; P2.1 = 1; } # define DBG_LED_off { P2.1 = 0; } # define DBG_LED_toggle ( P2.1 ^= 1 ) # define DBG_LED2_on { PM2.2 = 0; P2.2 = 1; } # define DBG_LED2_off { P2.2 = 0; } # define DBG_LED2_toggle ( P2.2 ^= 1 ) #else # define DBG_LED_on ; # define DBG_LED_off ; # define DBG_LED_toggle ; # define DBG_LED2_on ; # define DBG_LED2_off ; # define DBG_LED2_toggle ; #endif #ifdef _PMIC_CTR_ # define SLP_ACK P7.7 #endif #define IIC_SLA_CODEC 0xA4 #define IIC_SLA_ACCEL 0x30 // ST LIS331DLH // PMxは0で出力モード // SoC #ifdef _MODEL_TEG2_ #define IRQ0_ast { P3.0 = 0; PM3.0 = 0; } #define IRQ0_neg { PM3.0 = 1; } #define IRQ0 ( P3.0 ) #endif #ifdef _MODEL_WM0_ #define IRQ0_ast { P3.0 = 0; PM3.0 = 0; } #define IRQ0_neg { PM3.0 = 1; } #define IRQ0 ( P3.0 ) #endif #ifdef _MODEL_TS0_ #define IRQ0_ast { P7.6 = 0; PM7.6 = 0; } #define IRQ0_neg { PM7.6 = 1; } #define IRQ0 ( P7.6 ) #endif #ifdef _MODEL_CTR_ #define IRQ0_ast { P7.6 = 0; PM7.6 = 0; } #define IRQ0_neg { P7.6 = 1; } #define IRQ0_enable { PM7.6 = 0; } #define IRQ0_disable { PM7.6 = 1; } #define IRQ0 ( P7.6 ) #endif // ↓誤代入防止 #define RESET1_n ( P0.0 ) #if 0 // PM_RESET1〜を使う #define RESET1_ast { P0.0 = 0; PM0.0 = 0; } #define RESET1_neg { PM0.0 = 1; } #endif #define RESET2_ast { P0.1 = 0; PM0.1 = 0; } #define RESET2_neg { PM0.1 = 1; } #define SLP_REQ P12.0 // FCRAM #ifdef _MODEL_TEG2_ #define FCRAM_RST P14.0 #define FCRAM_RST_ast { P14.0 = 0; } #define FCRAM_RST_neg { P14.0 = 1; } #endif #ifdef _MODEL_WM0_ #define FCRAM_RST P14.0 #define FCRAM_RST_ast { P14.0 = 0; } #define FCRAM_RST_neg { P14.0 = 1; } #endif #ifdef _MODEL_TS0_ #define FCRAM_RST P3.0 #define FCRAM_RST_ast { P3.0 = 0; } #define FCRAM_RST_neg { P3.0 = 1; } #endif #ifdef _MODEL_CTR_ #define FCRAM_RST P3.0 #define FCRAM_RST_ast { P3.0 = 0; } #define FCRAM_RST_neg { P3.0 = 1; } #endif // CODEC #define PM_IRQ_n P7.2 // INTP6 // PM #define PM_EXTDC_n P7.0 // INTP7 //#define BT_TEMP P15.0 // ANI8 //#define BT_DET P15.1 // ANI9 #define BT_DET_P P1.6 #define BT_TEMP_P P1.7 // 充電せよ(out) // 負論理です。注意。 #define BT_CHG_ENABLE() ( P4.3 = 0 ) #define BT_CHG_DISABLE() ( P4.3 = 1 ) #define BT_CHG_Ena_n P4.3 // 充電中(in) #define BT_IN_CHG_n P5.1 #define SW_WIFI_n P7.4 // KR4 #define SW_POW_n P7.3 // KR3 #define SW_SEL_n P2.3 //#define VOL P2.7 // ANI7 #define SW_HOME_n_JIKKI P20.4 // INTP22 #define SW_HOME_n_TSBOARD P2.0 // WiFi #ifndef _TEG_ #define WL_TX P20.3 // INTP21 #else #define WL_TX P20.3 // INTP21 #endif //#define LED_CAM P1.0 // TO02 //#define LED_WIFI P1.1 // TO03 //#define LED_NOTIFY P1.3 // TO05 //#define LED_TUNE P5.2 // SLTO ← TO01 //#define LED_POW2 P1.4 // TO06 ( 青 ) //#define LED_POW1 P1.5 // TO07 ( 赤 ) //#define LED_CHARGE P2.4 #ifdef _MODEL_TEG2_ #define I2C_PU_on() P5.3 = 1 #define I2C_PU_off() P5.3 = 0 #endif #ifdef _MODEL_TS0_ #define I2C_PU_on() P5.3 = 1 #define I2C_PU_off() P5.3 = 0 #endif #ifdef _MODEL_WM0_ #define I2C_PU_on() P5.3 = 1 #define I2C_PU_off() P5.3 = 0 #endif #ifdef _MODEL_CTR_ // P5.3 に加え、P5.5, P140 P141 // P140が出力専用なので... #define I2C_PU_on() { PM5.3 = 1; PM3.3 = 1; P14 |= 0x03; P5.3 = 1; PM5.3 = 0; P3.3 = 1; PM3.3 = 0; } #define I2C_PU_off() { PM5.3 = 1; PM3.3 = 1; P14 &= ~0x03; P5.3 = 0; PM5.3 = 0; P3.3 = 0; PM3.3 = 0; } #endif #ifdef _MODEL_CTR_ #define GYRO_ENABLE() P5.0 = 0 #define GYRO_DISABLE() P5.0 = 1 #else #define GYRO_ENABLE() ; #define GYRO_DISABLE() ; #endif //#define I2C_M_SDA P3.1 // SDA10 //#define I2C_M_SCL P3.2 // SCL10 //#define I2C_0_SCL P6.0 // IIC_TWL SCL0 //#define I2C_0_SDA P6.1 // SDA0 //#define I2C_1_SCL P20.0 // IIC CTR SCL1 //#define I2C_1_SDA P20.1 // SDA1 //#define 32kHz_O P1.2 // RTCCL //#define 32k_I1 P12.3 // XT1 //#define 32k_I2 P12.4 // XT2 #define DIPSW_0 P4.0 // mini cube ソフトウェアディップスイッチ #define DIPSW_1 P4.1 // mini cube ソフトウェアディップスイッチ #ifndef _MODEL_WM0_ #define SHELL_OPEN P7.1 // INTP5 ふた開閉 (閉じると?) #else #define SHELL_OPEN 1 #endif //#define DBG_VR P2.6 // ANI6 #define DBG P14.1 #ifdef _MODEL_TEG2_ #define ACC_VALID P15.2 #define ACCEL_INT1 P2.5 #endif #ifdef _MODEL_TS0_ #define ACC_VALID P20.5 #define ACCEL_INT1 P2.5 #endif #ifdef _MODEL_WM0_ // テレコになっていたが、センサ側の設定を変えたため、TS0と同じでよい #define ACC_VALID P20.5 #define ACCEL_INT1 P2.5 #endif #ifdef _MODEL_CTR_ #define ACC_VALID P20.5 #define ACCEL_INT1 P2.5 #endif #define KR_SW_POW ( 1 << 3 ) #define KR_SW_WIFI ( 1 << 4 ) #define INFO_LED_IS_FULLCOLOR_n P20.2 #define INFO_LED_IS_FULLCOLOR_PM PM20.2 #define INFO_LED_IS_FULLCOLOR_PU PU20.2 /////////////////////////////////////////////////////////// #define INT_MSK0_IIC_M_DMA 0b0001000000000000 #define INT_MSK0_SHELL 0b0000000010000000 #define INT_MSK0_EXTDC 0b0000000001000000 //#define INT_MSK0_SLP 0b0000000000000100 ) //#define INT_MSK0_RSV 0b1110111100111011 ) #define INT_MSK0_RSV 0b1110111100111111 #define INT_MSK1_KR 0b0000100000000000 #define INT_MSK1_RTCINTVAL 0b0000010000000000 #define INT_MSK1_RTCALARM 0b0000001000000000 #define INT_MSK1_ADC 0b0000000100000000 #define INT_MSK1_IIC_CTR 0b0000000000001000 #define INT_MSK1_IIC_MCU 0b0000000000000001 #define INT_MSK1_RSV 0b1111000011110110 #define INT_MSK2_WIFI_TX_KE3 0b00010000 #define INT_MSK2L_RSV 0b11101111 #define INT_MSK2_IIC_TWL ( 0b0000000100000000 ) #define INT_MSK2_WIFI_TX_BSR ( 0b0000010000000000 ) #define INT_MSK2_CODEC_PMIRQ ( 0b0000000000001000 ) #define INT_MSK2_RSV 0b1111101111110111 #endif