データ構造 | |
struct | SSM |
struct | SSM_DATA |
マクロ定義 | |
#define | SSM_TIRE_R(x, y, z) ((((x * y) / 50.0) + (z * 25.4)) * 3.1415926) |
#define | SSM_GEAR_FINAL (0) |
#define | SSM_GEAR_1 (1) |
#define | SSM_GEAR_2 (2) |
#define | SSM_GEAR_3 (3) |
#define | SSM_GEAR_4 (4) |
#define | SSM_GEAR_5 (5) |
#define | SSM_GEAR_6 (6) |
#define | SSM_GEAR_7 (7) |
#define | SSM_MODE_OPENSSM (0) |
#define | SSM_MODE_OPENPORT (1) |
型定義 | |
typedef struct SSM | SSM_T |
typedef SSM_T * | pSSM_T |
typedef struct SSM_DATA | SSM_DATA_T |
typedef SSM_DATA_T * | pSSM_DATA_T |
関数 | |
void | SSM_init (void) |
BOOL | SSM_main (void) |
変数 | |
SSM_T | ssm |
SSM_DATA_T | ssm_data |
#define SSM_MODE_OPENPORT (1) |
参照元 SSM_main().
#define SSM_MODE_OPENSSM (0) |
参照元 SSM_main().
#define SSM_TIRE_R | ( | x, | ||
y, | ||||
z | ||||
) | ((((x * y) / 50.0) + (z * 25.4)) * 3.1415926) |
参照元 SSM_init().
typedef SSM_DATA_T* pSSM_DATA_T |
typedef struct SSM_DATA SSM_DATA_T |
void SSM_init | ( | void | ) |
参照先 SSM_DATA::afr, SSM_DATA::battery, SSM_DATA::boost, SSM_DATA::coolant, SSM::cycle, SSM_DATA::engine, SSM::error, SSM_DATA::fuel, SSM_DATA::fuel_rate, SSM::gear_ratio, SSM_DATA::ignition, SSM_DATA::intakeair, SSM_DATA::knock, SSM::last, SSM_DATA::maf, SSM::mode, SSM::price, rtc, SSM_DATA::shift, SSM_DATA::speed, SSM_TIRE_R, SSM_DATA::throttle, RTC::tick, SSM::tire_circle, SSM::tire_flat, SSM::tire_inch, SSM::tire_width, UART1_buf_clear(), UART2_buf_clear(), と SSM::wait.
参照元 main().
{ /* 初期化する */ ssm.tire_width = TIRE_WIDTH; ssm.tire_flat = TIRE_FLAT; ssm.tire_inch = TIRE_INCH; ssm.gear_ratio[0] = GEAR_F; ssm.gear_ratio[1] = GEAR_1; ssm.gear_ratio[2] = GEAR_2; ssm.gear_ratio[3] = GEAR_3; ssm.gear_ratio[4] = GEAR_4; ssm.gear_ratio[5] = GEAR_5; ssm.gear_ratio[6] = GEAR_6; ssm.gear_ratio[7] = GEAR_7; ssm.price = 100; ssm.tire_circle = SSM_TIRE_R(ssm.tire_width, ssm.tire_flat, ssm.tire_inch); ssm.mode = SSM_MODE_OPENSSM; ssm.wait = 1500; ssm.last = rtc.tick; ssm.cycle = 0xffff; ssm.error = 0x0000; ssm_data.engine = 800; ssm_data.throttle = 0; ssm_data.speed = 0; ssm_data.boost = 0.0; ssm_data.coolant = 20.0; ssm_data.intakeair = 20.0; ssm_data.battery = 12.0; ssm_data.maf = 5; ssm_data.afr = 14.7; ssm_data.ignition = 0; ssm_data.knock = 0; ssm_data.fuel = 0; ssm_data.fuel_rate = 0; ssm_data.shift = 0; UART1_buf_clear(); UART2_buf_clear(); return; }
BOOL SSM_main | ( | void | ) |
参照先 FALSE, SSM::mode, SSM_MODE_OPENPORT, SSM_MODE_OPENSSM, UART1_init(), と UART2_init().
参照元 main().
{ static unsigned char mode = 0xff; /* 通信モードによって動作を変える */ switch(ssm.mode){ /* OpenSSMモード */ case SSM_MODE_OPENSSM: /* 前回のコールと異なるとき、UARTを初期化する */ if(mode != ssm.mode){ UART1_init(115200); UART2_init( 4800); } mode = ssm.mode; return(SSM_openssm()); break; /* OpenPort下位互換モード */ case SSM_MODE_OPENPORT: default: /* 前回のコールと異なるとき、UARTを初期化する */ if(mode != ssm.mode){ UART1_init( 4800); UART2_init( 4800); } mode = ssm.mode; return(SSM_openport()); break; } /* ここにきたらバグ */ return(FALSE); }
参照元 EXTMETER_main().