mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-06-18 16:45:33 -04:00

バイナリは変更無し。 git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@578 013db118-44a6-b54f-8bf7-843cb86687b1
215 lines
6.6 KiB
C
215 lines
6.6 KiB
C
#ifndef _USER_DEF_
|
|
#define _USER_DEF_
|
|
|
|
// $Id: asdf$
|
|
|
|
#define IIC_T_SLAVEADDRESS 0x4A
|
|
#define IIC_C_SLAVEADDRESS 0x4A
|
|
#define IIC_C_SLAVEADDRESS_DMY 0x4C
|
|
|
|
//#define IIC_SLA_DCP 0x50
|
|
|
|
#define bits8(a,b,c,d,e,f,g,h) ( a<<7 | b<<6 | c<<5 | d<<4 | e<<3 | f<<2 | g<<1 | h )
|
|
|
|
#ifndef _WIN32
|
|
// 実機環境
|
|
|
|
#ifdef _debug_led_
|
|
/*spfl対応以降、ncでなくなるので使えません
|
|
# 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 // _debug_led_
|
|
|
|
#define IIC_SLA_CODEC 0xA4
|
|
#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH
|
|
|
|
|
|
#define SLP_ACK P7.7
|
|
|
|
|
|
// PMxは0で出力モード
|
|
|
|
// SoC
|
|
#define IRQ0_ast { P7.6 = 0; PM7.6 = 0; } // B4
|
|
#define IRQ0_neg { P7.6 = 1; }
|
|
#define IRQ0_enable { PM7.6 = 0; }
|
|
#define IRQ0_disable { PM7.6 = 1; }
|
|
#define IRQ0 ( P7.6 )
|
|
|
|
|
|
// ↓誤代入防止
|
|
#define RESET1_n ( P0.0 ) // G7
|
|
|
|
#if 1 // 普段はPM_RESET1を使うが、WiFiモジュールのテストの時は直たたきする
|
|
# 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; } // F7
|
|
#define RESET2_neg { PM0.1 = 1; }
|
|
|
|
#define SLP_REQ P12.0 // H8
|
|
|
|
// CTR,SPFL,SNAKE,まだ見ぬ派生機識別
|
|
#define DEV_DET ( P12 & 0b00000110 ) // [2:1] = D8,C8
|
|
#define DEV_CTR ( 0b00 << 1 )
|
|
#define DEV_SPFL ( 0b01 << 1 )
|
|
#define DEV_SNAKE ( 0b10 << 1 )
|
|
#define DEV_RSV2 ( 0b11 << 1 )
|
|
|
|
// FCRAM
|
|
#define FCRAM_RST P3.0 // B6
|
|
#define FCRAM_RST_ast { P3.0 = 0; }
|
|
#define FCRAM_RST_neg { P3.0 = 1; }
|
|
|
|
// CODEC
|
|
#define PM_IRQ_n P7.2 // A3
|
|
// INTP6
|
|
|
|
// PM
|
|
#define PM_EXTDC_n_RAW P7.0 // B2
|
|
// INTP7
|
|
//#define BT_TEMP P15.0 // G3(a)
|
|
// ANI8
|
|
//#define BT_DET P15.1 // H2(a)
|
|
// ANI9
|
|
#define BT_DET_P P1.6 // D4
|
|
#define BT_TEMP_P P1.7 // C4
|
|
|
|
|
|
// SPFLのアモルファスLCDで必要な±15Vの電源。
|
|
#define LCD_AMOL_HV_CTRL P20.2 // F2
|
|
|
|
|
|
// 充電せよ(out)
|
|
// 負論理です。注意。
|
|
#define BT_CHG_ENABLE() ( P4.3 = 0 ) // F6
|
|
#define BT_CHG_DISABLE() ( P4.3 = 1 )
|
|
#define BT_CHG_Ena_n ( P4.3 )
|
|
|
|
// 充電中(in)
|
|
#define BT_IN_CHG_n_RAW P5.1 // B1
|
|
#define PM_BT_IN_CHG_n PM5.1
|
|
#define PU_BT_IN_CHG_n PU5.1
|
|
|
|
#define SW_WIFI_n_RAW P7.4 // C3
|
|
#define PM_SW_WIFI_n PM7.4
|
|
// KR4
|
|
#define SW_POW_n_RAW P7.3 // B3
|
|
// KR3
|
|
#define SW_SEL_n P2.3 // G5
|
|
#define PM_SW_SEL_n PM2.3
|
|
//#define VOL P2.7 // H4(a)
|
|
// ANI7
|
|
|
|
#define SW_HOME_n_JIKKI_RAW P20.4 // G2
|
|
#define PM_SW_HOME_n_JIKKI PM20.4
|
|
#define PU_SW_HOME_n_JIKKI PU20.4
|
|
|
|
// INTP22
|
|
#define SW_HOME_n_TSBOARD_RAW P2.0 // TSマザー上でpull up(P2は内蔵p.u.無い) // G6
|
|
#define PM_SW_HOME_n_TSBOARD PM2.0
|
|
|
|
// WiFi
|
|
#define WL_TX P20.3 // INTP21 // F3
|
|
#define PM_WL_TX PM20.3 // INTP21
|
|
|
|
//#define VOL_P P2.1 // E5 現状open
|
|
//#define VOL_N P2.2 // F5 〃
|
|
|
|
//#define LED_CAM P1.0 // TO02 // E4
|
|
//#define LED_WIFI P1.1 // TO03 // E3
|
|
//#define LED_NOTIFY P1.3 // TO05 // D3
|
|
//#define LED_3D P5.2 // SLTO ← TO01 // A2
|
|
//#define LED_POW2 P1.4 // TO06 ( 青 ) // D2
|
|
//#define LED_POW1 P1.5 // TO07 ( 赤 ) // D1
|
|
//#define LED_CHARGE P2.4 // H5
|
|
|
|
// P5.3 に加え、P5.5, P140 P141
|
|
// P140が出力専用なので...
|
|
#define I2C_PU_on() { P14 |= 0x03; PM5.3 = 0; PM3.3 = 0; } // P14[1:0] H6,H7 P5.3,3.3 A1,C5
|
|
#define I2C_PU_off() { PM5.3 = 1; PM3.3 = 1; P14 &= ~0x03; }
|
|
|
|
#define GYRO_ENABLE() P5.0 = 0 // C1
|
|
#define GYRO_DISABLE() P5.0 = 1
|
|
|
|
//#define I2C_M_SDA P3.1 // SDA10 // C6
|
|
//#define I2C_M_SCL P3.2 // SCL10 // B5
|
|
|
|
//#define I2C_0_SCL P6.0 // IIC_TWL SCL0 // A7
|
|
//#define I2C_0_SDA P6.1 // SDA0 // A6
|
|
|
|
//#define I2C_1_SCL P20.0 // IIC CTR SCL1 // E1
|
|
//#define I2C_1_SDA P20.1 // SDA1 // F1
|
|
|
|
//#define 32kHz_O P1.2 // RTCCL // E2
|
|
//#define 32k_I1 P12.3 // XT1 // F8
|
|
//#define 32k_I2 P12.4 // XT2 // G8
|
|
|
|
// 実機、開発機、試遊台判別。
|
|
#define DIPSW ( P4 & 0b00000011 ) // mini cube & ソフトウェアディップスイッチ TOOL0,1。 P4.0は L 注意!
|
|
#define DIPSW_CTR 0b11 // 未使用
|
|
#define DIPSW_ISDEV 0b00 // KuCはBattGaugeで判別
|
|
#define DIPSW_TAIKENDAI 0b10
|
|
#define DIPSW_TAIKENDAI_NBD 0b01
|
|
|
|
|
|
#define SHELL_OPEN_RAW P7.1 // INTP5 ふた開閉 (閉じるとL) // C2
|
|
|
|
#define ACC_VALID P20.5 // H3
|
|
#define PM_ACC_VALID PM20.5
|
|
#define ACCEL_INT1 P2.5 // F4
|
|
#define PM_ACCEL_INT1 PM2.5
|
|
|
|
|
|
#endif // _WIN32
|
|
|
|
// win32 sim環境と共通
|
|
|
|
#define KR_SW_POW ( 1 << 3 )
|
|
#define KR_SW_WIFI ( 1 << 4 )
|
|
|
|
///////////////////////////////////////////////////////////
|
|
#ifdef _WDT_CHECK_
|
|
# define INT_MSK0_WDTI 1<<15
|
|
#else
|
|
# define INT_MSK0_WDTI 0
|
|
#endif
|
|
|
|
#define INT_MSK0_IIC_M_DMA 1<<12
|
|
#define INT_MSK0_SHELL 1<<7
|
|
#define INT_MSK0_EXTDC 1<<6
|
|
//#define INT_MSK0_SLP 1<<2
|
|
#define INT_MSK0_RSV ~( INT_MSK0_IIC_M_DMA | INT_MSK0_SHELL | INT_MSK0_EXTDC | INT_MSK0_WDTI )
|
|
|
|
#define INT_MSK1_KR 1<<11
|
|
#define INT_MSK1_RTCINTVAL 1<<10
|
|
#define INT_MSK1_RTCALARM 1<<9
|
|
#define INT_MSK1_ADC 1<<8
|
|
#define INT_MSK1_IIC_CTR 1<<3
|
|
#define INT_MSK1_IIC_MCU 1<<0
|
|
#define INT_MSK1_RSV ~( INT_MSK1_KR | INT_MSK1_RTCINTVAL | INT_MSK1_RTCALARM | INT_MSK1_ADC \
|
|
| INT_MSK1_IIC_CTR | INT_MSK1_IIC_MCU )
|
|
|
|
#define INT_MSK2_WIFI_TX_KE3 1<<4
|
|
#define INT_MSK2L_RSV ~( INT_MSK2_WIFI_TX_KE3 )
|
|
|
|
#define INT_MSK2_IIC_TWL 1<<8
|
|
#define INT_MSK2_WIFI_TX_BSR 1<<10
|
|
#define INT_MSK2_CODEC_PMIRQ 1<<3
|
|
#define INT_MSK2_RSV ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ )
|
|
|
|
#endif // dupe include guard
|