mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
SPFL対応。
アモルファスの件 機種識別 ROM確保に1色お知らせ廃止。 led.cを分割(その1) git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@333 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
0d13eb6bc2
commit
6396872ddd
BIN
trunk/bsr.lmf
BIN
trunk/bsr.lmf
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -32,19 +32,27 @@ enum model_
|
||||
MODEL_RESERVED3,
|
||||
};
|
||||
|
||||
enum family_
|
||||
{
|
||||
FAMILY_CTR,
|
||||
FAMILY_SPFL,
|
||||
FAMILY_SHRIMP
|
||||
};
|
||||
|
||||
// タスクシステムの状態情報など
|
||||
typedef struct _system_status_
|
||||
{
|
||||
enum pwr_state_ pwr_state;
|
||||
enum poweron_reason_ poweron_reason;
|
||||
unsigned char reboot:1;
|
||||
unsigned char info_fullcolor:1;
|
||||
// unsigned char info_fullcolor:1;
|
||||
unsigned char force_off:1;
|
||||
unsigned char captureBox:1; // キャプチャ箱 SDKには実機と返す
|
||||
unsigned char taikendai:1;
|
||||
unsigned char taikendai_nbd:1;
|
||||
unsigned char is_dev:1;
|
||||
enum model_ model;
|
||||
enum family_ family;
|
||||
}system_status_;
|
||||
|
||||
|
||||
|
||||
465
trunk/led.c
465
trunk/led.c
@ -1,6 +1,5 @@
|
||||
/* ========================================================
|
||||
LED.c
|
||||
|
||||
======================================================== */
|
||||
#pragma sfr
|
||||
|
||||
@ -25,59 +24,23 @@
|
||||
#define BIT_MD0 0
|
||||
|
||||
|
||||
// ========================================================
|
||||
// スリープ中明滅のテーブル。マジか。
|
||||
const u8 LED_PTN_SLEEP[] = {
|
||||
25, 38, 52, 68, 83, 98, 110, 119,
|
||||
125, 128, 128, 125, 119, 110, 98, 83,
|
||||
68, 52, 38, 25, 16, 10, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 10, 16
|
||||
};
|
||||
|
||||
|
||||
#define LED_SLEEP_FRAME_LEN 71
|
||||
#define LED_SLEEP_DIM_LEN 71
|
||||
#define LED_SLEEP_FRAME_NUM 32
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void led_pow_normal( );
|
||||
static void led_pow_sleep( );
|
||||
static void led_pow_bt_empty();
|
||||
static u8 led_pow_batt_low();
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// 赤LEDの電池残量LEDの点滅パターン
|
||||
st_led_red_batt_empty led_red_batt_empty = { 0x55, 0x55, 0x55, 0x55 };
|
||||
|
||||
bit initialized;
|
||||
bit ledInitialized;
|
||||
|
||||
|
||||
// お知らせLEDのパターンデータ
|
||||
uni_info_LED info_LED;
|
||||
|
||||
// フルカラーとの自動判別のため、一時領域としてもっておく
|
||||
bit LED_pow_red_Mirror;
|
||||
|
||||
bit info_led_off;
|
||||
bit info_led_override;
|
||||
bit cam_led_update;
|
||||
|
||||
|
||||
// 電源LEDのスリープパターンのステータス類
|
||||
u8 time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
u8 frame_sleep;
|
||||
st_LED_dim_status LED_dim_status_sleep;
|
||||
|
||||
|
||||
// 充電中か否か
|
||||
extern bit BT_IN_CHG_delayed_n;
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define led_fade_to( now, goal ) now = fade_to( now, goal )
|
||||
|
||||
@ -146,9 +109,6 @@ void LED_init( )
|
||||
6 電源 L
|
||||
7 電源 H
|
||||
*/
|
||||
INFO_LED_IS_FULLCOLOR_PU = 1; // お知らせLEDを識別 先に上げておく
|
||||
INFO_LED_IS_FULLCOLOR_PM = 1;
|
||||
|
||||
TAU0EN = 1;
|
||||
TPS0 = BIT_PRS012 | BIT_PRS002; // マスタークロックはCK01,8M/2 /2^4 = 250kHz
|
||||
|
||||
@ -170,32 +130,13 @@ void LED_init( )
|
||||
|
||||
TDR00 = LED_BRIGHT_MAX - 1; // 周期 10bit
|
||||
|
||||
// お知らせLEDを識別 //
|
||||
// INFO_LED_IS_FULLCOLOR_PU = 1; // もうちょっと前に上げておかないと…
|
||||
system_status.info_fullcolor = 1;
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
#ifndef _DBG_FORCE_FULLCOLOR_
|
||||
system_status.info_fullcolor = 0;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
if( INFO_LED_IS_FULLCOLOR_n )
|
||||
{
|
||||
system_status.info_fullcolor = 0;
|
||||
}
|
||||
}
|
||||
INFO_LED_IS_FULLCOLOR_n = 0;
|
||||
INFO_LED_IS_FULLCOLOR_PM = 0;
|
||||
// system_status.info_fullcolor = 1;
|
||||
|
||||
LED_duty_notify_red = 0;
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_pow_red = 0;
|
||||
LED_CAM = 0;
|
||||
LED_old_pow_red = 0;
|
||||
LED_pow_red_Mirror = 0;
|
||||
|
||||
if( system_status.reboot )
|
||||
{
|
||||
@ -203,7 +144,7 @@ void LED_init( )
|
||||
LED_duty_pow_blu = LED_BRIGHT_MAX;
|
||||
}
|
||||
info_led_off = false;
|
||||
initialized = true;
|
||||
ledInitialized = true;
|
||||
}
|
||||
|
||||
|
||||
@ -215,266 +156,12 @@ void LED_stop( )
|
||||
TAU0EN = 0;
|
||||
LED_pow_red = 0;
|
||||
LED_CAM = 0;
|
||||
LED_old_pow_red = 0;
|
||||
initialized = false;
|
||||
ledInitialized = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
// 電源LED
|
||||
LED_POW_B,R 6,7
|
||||
|
||||
TDR00 周期(0x03FF。TPS0で250kHzでカウントアップ。10bitなら250Hz位になる)
|
||||
TDR0x Duty 0で消灯、TDR00(より大 =0x03FF以上)で点灯です。
|
||||
|
||||
enum pwr_state_{
|
||||
OFF_TRIG = 0,
|
||||
ON_CHECK,
|
||||
ON_TRIG,
|
||||
ON,
|
||||
SLEEP
|
||||
};
|
||||
|
||||
enum LED_ILUM_MODE{
|
||||
LED_POW_ILM_AUTO,
|
||||
LED_POW_ILM_ON,
|
||||
LED_POW_ILM_SLEEP,
|
||||
LED_POW_ILM_CEOFF
|
||||
};
|
||||
======================================================== */
|
||||
void tsk_led_pow( )
|
||||
{
|
||||
if( ! initialized )
|
||||
{
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
info_led_override = false;
|
||||
|
||||
switch ( vreg_ctr[VREG_C_LED_POW] )
|
||||
{
|
||||
case ( LED_POW_ILM_AUTO ):
|
||||
default:
|
||||
led_pow_normal( );
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_SLEEP ):
|
||||
led_pow_sleep( );
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ON ):
|
||||
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
|
||||
LED_pow_red_Mirror = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_OFF ):
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
LED_pow_red_Mirror = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ONLY_RED ):
|
||||
LED_duty_pow_blu = 0;
|
||||
LED_pow_red_Mirror = 1;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ONLY_BLUE ):
|
||||
LED_duty_pow_blu = LED_BRIGHT_MAX;
|
||||
LED_pow_red_Mirror = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_FORCE_BT_EMPTY ):
|
||||
led_pow_bt_empty();
|
||||
break;
|
||||
}
|
||||
|
||||
if( system_status.pwr_state == OFF || system_status.pwr_state == ON_CHECK )
|
||||
{
|
||||
LED_pow_red_Mirror = 0;
|
||||
info_led_override = false;
|
||||
}
|
||||
|
||||
// 実際にLEDの更新
|
||||
if( system_status.info_fullcolor )
|
||||
{
|
||||
LED_pow_red = LED_pow_red_Mirror;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_old_pow_red = LED_pow_red_Mirror;
|
||||
}
|
||||
|
||||
if( info_led_override )
|
||||
{
|
||||
if( system_status.info_fullcolor )
|
||||
{
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_duty_notify_red = LED_pow_red_Mirror ? 255: 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_duty_old_NOTIFY = LED_pow_red_Mirror ? 255: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池残量で、 青→赤→赤点滅
|
||||
======================================================== */
|
||||
static void led_pow_normal( )
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
frame_sleep = 0;
|
||||
LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128;
|
||||
|
||||
if( led_pow_batt_low() != 0 ) // 赤の点灯も←でやっています
|
||||
{
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
// 青点灯
|
||||
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ホタルパターン
|
||||
電池残量で赤→赤点滅にする
|
||||
======================================================== */
|
||||
static void led_pow_sleep( )
|
||||
{
|
||||
if( led_pow_batt_low() != 0 ) // 赤の点灯も←でやっています
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
frame_sleep = 0;
|
||||
LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128;
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
LED_dim_status_sleep.to = LED_PTN_SLEEP[frame_sleep] * 128;
|
||||
|
||||
// グラデーションのデルタを計算
|
||||
LED_dim_status_sleep.delta = (( LED_dim_status_sleep.to - LED_dim_status_sleep.now ) ) / LED_SLEEP_DIM_LEN;
|
||||
led_fade_to2( LED_duty_pow_blu, &LED_dim_status_sleep );
|
||||
|
||||
// 次のフレームに進める?
|
||||
time_to_next_frame_sleep -= 1;
|
||||
if( time_to_next_frame_sleep == 0 )
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
|
||||
frame_sleep += 1;
|
||||
if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 )
|
||||
{
|
||||
frame_sleep = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池が少ないときの共通
|
||||
返値: 0 電池が少なくなかった
|
||||
1 少なかったので共通パターンにした
|
||||
======================================================== */
|
||||
//#define LED_RED_SLEEP_DIM 3
|
||||
static u8 led_pow_batt_low()
|
||||
{
|
||||
// static u8 led_red_dim_count;
|
||||
|
||||
if( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO )
|
||||
{
|
||||
LED_pow_red_Mirror = 0;
|
||||
return 0;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
if(( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_EMPTY ) || !BT_IN_CHG_delayed_n )
|
||||
// 電池残量が5%(~10%) または、それ未満でも充電中
|
||||
{
|
||||
// 赤点灯
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
|
||||
/*
|
||||
減光を試してみたが、このようなお手軽実装ではちらついてしまってだめだ
|
||||
if( vreg_ctr[VREG_C_LED_POW] == LED_POW_ILM_SLEEP )
|
||||
{
|
||||
if( led_red_dim_count == 0 )
|
||||
{
|
||||
LED_pow_red_Mirror = 1;
|
||||
led_red_dim_count = LED_RED_SLEEP_DIM;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_pow_red_Mirror = 0;
|
||||
led_red_dim_count -= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
*/
|
||||
{
|
||||
LED_pow_red_Mirror = 1;
|
||||
}
|
||||
|
||||
}
|
||||
else // 電池が5%未満 かつ アダプタなし
|
||||
{
|
||||
led_pow_bt_empty();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池がないパターン
|
||||
指定パターンを流す
|
||||
お知らせを上書きしたりする
|
||||
======================================================== */
|
||||
static void led_pow_bt_empty()
|
||||
{
|
||||
static u8 delay;
|
||||
static u8 red_blink_poi;
|
||||
|
||||
info_led_override = true;
|
||||
|
||||
// 赤点滅
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
|
||||
// 赤の点滅パターンも指定できる
|
||||
delay += 1;
|
||||
if( delay < 64 ) // フレームの保持時間稼ぎ
|
||||
{
|
||||
return;
|
||||
}
|
||||
delay = 0;
|
||||
|
||||
if( led_red_batt_empty.dats[ red_blink_poi / 8 ] & ( 1 << ( red_blink_poi % 8 )) )
|
||||
{
|
||||
LED_pow_red_Mirror = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_pow_red_Mirror = 0;
|
||||
}
|
||||
red_blink_poi += 1;
|
||||
if( red_blink_poi >= 32 )
|
||||
{
|
||||
red_blink_poi = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -642,145 +329,7 @@ void tsk_led_notify( )
|
||||
}
|
||||
}
|
||||
|
||||
if( system_status.info_fullcolor )
|
||||
{
|
||||
led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B );
|
||||
led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R );
|
||||
led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G );
|
||||
}
|
||||
else
|
||||
{
|
||||
led_fade_to2( LED_duty_old_NOTIFY, &LED_dim_status_info_B );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************//**
|
||||
LED_Cam TO02
|
||||
\n BLINK,*_PLUSE の時は、1周期分は必ずその状態になります。
|
||||
\n その間に OFF→BLINK などされると、OFFが無視されます。
|
||||
*********************************************************/
|
||||
void tsk_led_cam( )
|
||||
{
|
||||
static u8 state_led_cam = 0;
|
||||
static u16 task_interval;
|
||||
u8 LED_CAM_mirror;
|
||||
|
||||
DI(); // レジスタへの書き込みで強制起動がかかることがあるため
|
||||
if( !cam_led_update )
|
||||
{
|
||||
if( task_interval != 0 )
|
||||
{
|
||||
task_interval -= 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
cam_led_update = false; // TWL のブリンク設定(一発だけ点灯)のため
|
||||
EI();
|
||||
|
||||
if( system_status.pwr_state == SLEEP ) // sleep中、強制消灯
|
||||
{
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// ブリンクのように待たせたいとき以外は毎週起動する
|
||||
// (レジスタの変更にすぐに反応する)
|
||||
switch ( vreg_ctr[VREG_C_LED_CAM] )
|
||||
{
|
||||
case ( CAM_LED_OFF ):
|
||||
default:
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_ON ):
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_BLINK ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
task_interval = 250;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_ON_PLUSE ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 1;
|
||||
task_interval = 250;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_CAM] = CAM_LED_OFF;
|
||||
}
|
||||
break;
|
||||
|
||||
case ( CAM_LED_OFF_PLUSE ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 1;
|
||||
task_interval = 250;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_CAM] = CAM_LED_ON;
|
||||
}
|
||||
break;
|
||||
|
||||
case( CAM_LED_BY_TWL ):
|
||||
// TWL互換 //
|
||||
switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){ //. switchのネストとか…
|
||||
case( TWL_CAMLED_OFF ):
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case( TWL_CAMLED_BLINK ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_CAM_mirror = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
task_interval = 600 / SYS_INTERVAL_TICK + 250;
|
||||
break;
|
||||
|
||||
case( TWL_CAMLED_ON ):
|
||||
case( TWL_CAMLED_DEF_ON ):
|
||||
default:
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} // if( system_status.pwr_state == sleep ) ... else ...
|
||||
|
||||
// 輝度更新 //
|
||||
if( system_status.info_fullcolor )
|
||||
{
|
||||
LED_CAM = LED_CAM_mirror;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_old_CAM = LED_CAM_mirror;
|
||||
}
|
||||
led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B );
|
||||
led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R );
|
||||
led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G );
|
||||
}
|
||||
|
||||
19
trunk/led.h
19
trunk/led.h
@ -21,19 +21,6 @@
|
||||
#define LED_CAM P7.5
|
||||
|
||||
|
||||
// 旧仕様 /////////////////////////////
|
||||
// LED_DUTY
|
||||
//#define LED_duty_old_pow_blu TDR06 同じ
|
||||
//#define LED_duty_old_WiFi TDR03 同じ
|
||||
#define LED_duty_old_NOTIFY TDR05
|
||||
//#define LED_duty_old_CAM TDR02
|
||||
//#define LED_duty_old_3d TDR01 同じ
|
||||
// wifi2はPWMできません。
|
||||
#define LED_old_pow_red P1.5
|
||||
#define LED_old_CAM P1.0
|
||||
|
||||
|
||||
|
||||
#define NOTIFY_LED_TERM 32
|
||||
|
||||
|
||||
@ -150,4 +137,10 @@ void LED_stop( );
|
||||
extern void tsk_led_cam();
|
||||
|
||||
|
||||
|
||||
// ====================================
|
||||
extern bit ledInitialized;
|
||||
extern bit info_led_override;
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
141
trunk/led_cam.c
Normal file
141
trunk/led_cam.c
Normal file
@ -0,0 +1,141 @@
|
||||
/******************************************************//**
|
||||
LED_Cam TO02
|
||||
\n BLINK,*_PLUSE の時は、1周期分は必ずその状態になります。
|
||||
\n その間に OFF→BLINK などされると、OFFが無視されます。
|
||||
*********************************************************/
|
||||
#pragma sfr
|
||||
|
||||
#include "incs.h"
|
||||
#include "led.h"
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static u8 state_led_cam = 0;
|
||||
static u16 task_interval;
|
||||
|
||||
bit cam_led_update;
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void cam_led_twl();
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void tsk_led_cam( )
|
||||
{
|
||||
DI(); // レジスタへの書き込みで強制起動がかかることがあるため
|
||||
if( !cam_led_update )
|
||||
{
|
||||
if( task_interval != 0 )
|
||||
{
|
||||
task_interval -= 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
cam_led_update = false; // TWL のブリンク設定(一発だけ点灯)のため
|
||||
EI();
|
||||
|
||||
if( system_status.pwr_state == SLEEP ) // sleep中、強制消灯
|
||||
{
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// ブリンクのように待たせたいとき以外は毎週起動する
|
||||
// (レジスタの変更にすぐに反応する)
|
||||
switch ( vreg_ctr[VREG_C_LED_CAM] )
|
||||
{
|
||||
case ( CAM_LED_OFF ):
|
||||
default:
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_ON ):
|
||||
LED_CAM = 1;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_BLINK ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM = 1;
|
||||
state_led_cam = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
task_interval = 250;
|
||||
break;
|
||||
|
||||
case ( CAM_LED_ON_PLUSE ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM = 1;
|
||||
state_led_cam = 1;
|
||||
task_interval = 250;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_CAM] = CAM_LED_OFF;
|
||||
}
|
||||
break;
|
||||
|
||||
case ( CAM_LED_OFF_PLUSE ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 1;
|
||||
task_interval = 250;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_CAM] = CAM_LED_ON;
|
||||
}
|
||||
break;
|
||||
|
||||
case( CAM_LED_BY_TWL ):
|
||||
cam_led_twl();
|
||||
}
|
||||
} // if( system_status.pwr_state == sleep ) ... else ...
|
||||
}
|
||||
|
||||
|
||||
|
||||
void cam_led_twl()
|
||||
{
|
||||
// TWL互換 //
|
||||
switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){
|
||||
case( TWL_CAMLED_OFF ):
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 0;
|
||||
break;
|
||||
|
||||
case( TWL_CAMLED_BLINK ):
|
||||
if( state_led_cam == 0 )
|
||||
{
|
||||
LED_CAM = 1;
|
||||
state_led_cam = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_CAM = 0;
|
||||
state_led_cam = 0;
|
||||
}
|
||||
task_interval = 600 / SYS_INTERVAL_TICK + 250;
|
||||
break;
|
||||
|
||||
case( TWL_CAMLED_ON ):
|
||||
case( TWL_CAMLED_DEF_ON ):
|
||||
default:
|
||||
LED_CAM = 1;
|
||||
state_led_cam = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
265
trunk/led_pow.c
Normal file
265
trunk/led_pow.c
Normal file
@ -0,0 +1,265 @@
|
||||
/* ========================================================
|
||||
// 電源LED
|
||||
LED_POW_B,R 6,7
|
||||
|
||||
TDR00 周期(0x03FF。TPS0で250kHzでカウントアップ。10bitなら250Hz位になる)
|
||||
TDR0x Duty 0で消灯、TDR00(より大 =0x03FF以上)で点灯です。
|
||||
|
||||
enum pwr_state_{
|
||||
OFF_TRIG = 0,
|
||||
ON_CHECK,
|
||||
ON_TRIG,
|
||||
ON,
|
||||
SLEEP
|
||||
};
|
||||
|
||||
enum LED_ILUM_MODE{
|
||||
LED_POW_ILM_AUTO,
|
||||
LED_POW_ILM_ON,
|
||||
LED_POW_ILM_SLEEP,
|
||||
LED_POW_ILM_CEOFF
|
||||
};
|
||||
======================================================== */
|
||||
#pragma sfr
|
||||
|
||||
#include "incs.h"
|
||||
#include "led.h"
|
||||
|
||||
|
||||
// ========================================================
|
||||
// スリープ中明滅のテーブル。マジか。
|
||||
const u8 LED_PTN_SLEEP[] = {
|
||||
25, 38, 52, 68, 83, 98, 110, 119,
|
||||
125, 128, 128, 125, 119, 110, 98, 83,
|
||||
68, 52, 38, 25, 16, 10, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 10, 16
|
||||
};
|
||||
|
||||
|
||||
// 赤LEDの電池残量LEDの点滅パターン
|
||||
st_led_red_batt_empty led_red_batt_empty = { 0x55, 0x55, 0x55, 0x55 };
|
||||
#define LED_SLEEP_FRAME_LEN 71
|
||||
#define LED_SLEEP_DIM_LEN 71
|
||||
#define LED_SLEEP_FRAME_NUM 32
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void led_pow_normal( );
|
||||
static void led_pow_sleep( );
|
||||
static void led_pow_bt_empty();
|
||||
static u8 led_pow_batt_low();
|
||||
|
||||
#define led_fade_to( now, goal ) now = fade_to( now, goal )
|
||||
extern u8 fade_to( u8 now, u8 goal );
|
||||
|
||||
#define led_fade_to2( led, status ) led = fade_to2( status )
|
||||
extern u8 fade_to2( st_LED_dim_status* status );
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// 電源LEDのスリープパターンのステータス類
|
||||
u8 time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
u8 frame_sleep;
|
||||
st_LED_dim_status LED_dim_status_sleep;
|
||||
|
||||
extern bit ledInitialized;
|
||||
extern bit BT_IN_CHG_delayed_n;
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void tsk_led_pow( )
|
||||
{
|
||||
if( ! ledInitialized )
|
||||
{
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
info_led_override = false;
|
||||
|
||||
switch ( vreg_ctr[VREG_C_LED_POW] )
|
||||
{
|
||||
case ( LED_POW_ILM_AUTO ):
|
||||
default:
|
||||
led_pow_normal( );
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_SLEEP ):
|
||||
led_pow_sleep( );
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ON ):
|
||||
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
|
||||
LED_pow_red = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_OFF ):
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
LED_pow_red = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ONLY_RED ):
|
||||
LED_duty_pow_blu = 0;
|
||||
LED_pow_red = 1;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_ONLY_BLUE ):
|
||||
LED_duty_pow_blu = LED_BRIGHT_MAX;
|
||||
LED_pow_red = 0;
|
||||
break;
|
||||
|
||||
case ( LED_POW_ILM_FORCE_BT_EMPTY ):
|
||||
led_pow_bt_empty();
|
||||
break;
|
||||
}
|
||||
|
||||
if( system_status.pwr_state == OFF || system_status.pwr_state == ON_CHECK )
|
||||
{
|
||||
LED_pow_red = 0;
|
||||
info_led_override = false;
|
||||
}
|
||||
|
||||
if( info_led_override )
|
||||
{
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_duty_notify_red = LED_pow_red ? 255: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池残量で、 青→赤→赤点滅
|
||||
======================================================== */
|
||||
static void led_pow_normal( )
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
frame_sleep = 0;
|
||||
LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128;
|
||||
|
||||
if( led_pow_batt_low() != 0 ) // 赤の点灯も←でやっています
|
||||
{
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
// 青点灯
|
||||
led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ホタルパターン
|
||||
電池残量で赤→赤点滅にする
|
||||
======================================================== */
|
||||
static void led_pow_sleep( )
|
||||
{
|
||||
if( led_pow_batt_low() != 0 ) // 赤の点灯も←でやっています
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
frame_sleep = 0;
|
||||
LED_dim_status_sleep.now = (sx16)LED_duty_pow_blu * 128;
|
||||
return;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
LED_dim_status_sleep.to = LED_PTN_SLEEP[frame_sleep] * 128;
|
||||
|
||||
// グラデーションのデルタを計算
|
||||
LED_dim_status_sleep.delta = (( LED_dim_status_sleep.to - LED_dim_status_sleep.now ) ) / LED_SLEEP_DIM_LEN;
|
||||
led_fade_to2( LED_duty_pow_blu, &LED_dim_status_sleep );
|
||||
|
||||
// 次のフレームに進める?
|
||||
time_to_next_frame_sleep -= 1;
|
||||
if( time_to_next_frame_sleep == 0 )
|
||||
{
|
||||
time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN;
|
||||
|
||||
frame_sleep += 1;
|
||||
if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 )
|
||||
{
|
||||
frame_sleep = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池が少ないときの共通
|
||||
返値: 0 電池が少なくなかった
|
||||
1 少なかったので共通パターンにした
|
||||
======================================================== */
|
||||
static u8 led_pow_batt_low()
|
||||
{
|
||||
if( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO )
|
||||
{
|
||||
LED_pow_red = 0;
|
||||
return 0;
|
||||
// おしまい
|
||||
}
|
||||
|
||||
if(( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_EMPTY ) || !BT_IN_CHG_delayed_n )
|
||||
// 電池残量が5%(~10%) または、それ未満でも充電中
|
||||
{
|
||||
// 赤点灯
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
{
|
||||
LED_pow_red = 1;
|
||||
}
|
||||
|
||||
}
|
||||
else // 電池が5%未満 かつ アダプタなし
|
||||
{
|
||||
led_pow_bt_empty();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
電池がないパターン
|
||||
指定パターンを流す
|
||||
お知らせを上書きしたりする
|
||||
======================================================== */
|
||||
static void led_pow_bt_empty()
|
||||
{
|
||||
static u8 delay;
|
||||
static u8 red_blink_poi;
|
||||
|
||||
info_led_override = true;
|
||||
|
||||
// 赤点滅
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
|
||||
// 赤の点滅パターンも指定できる
|
||||
delay += 1;
|
||||
if( delay < 64 ) // フレームの保持時間稼ぎ
|
||||
{
|
||||
return;
|
||||
}
|
||||
delay = 0;
|
||||
|
||||
if( led_red_batt_empty.dats[ red_blink_poi / 8 ] & ( 1 << ( red_blink_poi % 8 )) )
|
||||
{
|
||||
LED_pow_red = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_pow_red = 0;
|
||||
}
|
||||
red_blink_poi += 1;
|
||||
if( red_blink_poi >= 32 )
|
||||
{
|
||||
red_blink_poi = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
140
trunk/loader.c
140
trunk/loader.c
@ -61,6 +61,9 @@ void FSL_Open( void );
|
||||
void FSL_Close( void );
|
||||
void hdwinit( void );
|
||||
static void hdwinit2( );
|
||||
static void chk_platform_type();
|
||||
static void chk_firm_broke();
|
||||
|
||||
|
||||
extern void main_loop( );
|
||||
|
||||
@ -110,70 +113,11 @@ void main( )
|
||||
hdwinit2( );
|
||||
|
||||
// ファームの整合性チェック //
|
||||
{
|
||||
u8 i;
|
||||
u8 comp = 0;
|
||||
|
||||
// ローダーと本体は同じバージョンか?
|
||||
/// 次へのアップデートの途中で終わってないか?
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
comp += ( *( u8 * )( MGC_HEAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
}
|
||||
|
||||
if( *( u8 * )( MGC_FOOT +2 ) != ':' ) // 消去済のまま
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
// ファームリストアを試みる
|
||||
firm_restore( );
|
||||
// 帰ってこない。リセットをかける。
|
||||
}
|
||||
}
|
||||
chk_firm_broke();
|
||||
|
||||
// 試遊台判定
|
||||
// デバッガつないでると上手に判定できないことがあります。
|
||||
// P40,41
|
||||
// HH 実機
|
||||
// HL NBD試遊台
|
||||
// LH スタンドアロン試遊台
|
||||
// LL ISデバッガ
|
||||
if( !DIPSW_0 && !DIPSW_1 )
|
||||
{
|
||||
system_status.is_dev = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifndef _FORCE_TAIKENDAI_
|
||||
if( !DIPSW_0 )
|
||||
#else
|
||||
if(1)
|
||||
#endif
|
||||
{
|
||||
system_status.taikendai = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
system_status.taikendai = 0;
|
||||
}
|
||||
chk_platform_type();
|
||||
|
||||
#ifndef _FORCE_TAIKENDAI_NBD_
|
||||
if( !DIPSW_1 )
|
||||
#else
|
||||
if(1)
|
||||
#endif
|
||||
{
|
||||
system_status.taikendai_nbd = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
system_status.taikendai_nbd = 0;
|
||||
}
|
||||
}
|
||||
// 通常運転
|
||||
main_loop( );
|
||||
}
|
||||
@ -181,6 +125,80 @@ void main( )
|
||||
|
||||
|
||||
|
||||
void chk_firm_broke()
|
||||
{
|
||||
u8 i;
|
||||
u8 comp = 0;
|
||||
|
||||
// ローダーと本体は同じバージョンか?
|
||||
/// 次へのアップデートの途中で終わってないか?
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
comp += ( *( u8 * )( MGC_HEAD + i ) == *( u8 * )( MGC_FOOT + i ) ) ? 0 : 1;
|
||||
}
|
||||
|
||||
if( *( u8 * )( MGC_FOOT +2 ) != ':' ) // 消去済のまま
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
// ファームリストアを試みる
|
||||
firm_restore( );
|
||||
// 帰ってこない。リセットをかける。
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* ========================================================
|
||||
デバッガつないでると上手に判定できないことがあります。
|
||||
●CTRファミリ
|
||||
DEV_DET(P12.[2:1])
|
||||
|
||||
●CTR&その開発機材
|
||||
P40,41 !注意! デバッグ有効でP40がLだとMCUが起動しません!
|
||||
HH 実機
|
||||
HL NBD試遊台
|
||||
LH スタンドアロン試遊台
|
||||
LL ISデバッガ
|
||||
======================================================== */
|
||||
void chk_platform_type()
|
||||
{
|
||||
// ●CTRファミリ //
|
||||
system_status.family = (enum _family)( DEV_DET >> 1 ); /// あぁ...
|
||||
|
||||
// ●CTR&その開発機材 //
|
||||
// 一応初期化
|
||||
system_status.is_dev = 0;
|
||||
system_status.taikendai = 0;
|
||||
system_status.taikendai_nbd = 0;
|
||||
|
||||
switch( DIPSW )
|
||||
{
|
||||
case DIPSW_TAIKENDAI:
|
||||
system_status.taikendai = 1;
|
||||
break;
|
||||
|
||||
case DIPSW_TAIKENDAI_NBD:
|
||||
system_status.taikendai_nbd = 1;
|
||||
break;
|
||||
|
||||
case DIPSW_ISDEV:
|
||||
system_status.is_dev = 1;
|
||||
break;
|
||||
}
|
||||
#ifdef _FORCE_TAIKENDAI_
|
||||
system_status.taikendai = 1;
|
||||
#endif
|
||||
|
||||
#ifdef _FORCE_TAIKENDAI_NBD_
|
||||
system_status.taikendai_nbd = 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
|
||||
21
trunk/pm.c
21
trunk/pm.c
@ -796,6 +796,11 @@ err PM_LCD_on( )
|
||||
|
||||
PM_VDDLCD_on( );
|
||||
|
||||
if( system_status.family == FAMILY_SPFL )
|
||||
{
|
||||
SPFL_LCD_AMOL_HV_CONT = 1;
|
||||
}
|
||||
|
||||
wait_ms( DELAY_PM_TSS_50B_AND_TCOM );
|
||||
|
||||
PM_TCOM_on( );
|
||||
@ -822,7 +827,7 @@ err PM_LCD_on( )
|
||||
// BSR //
|
||||
void PM_LCD_off()
|
||||
{
|
||||
// BLついてたら消す
|
||||
// BLついてたら消す。// チェックするのは割り込みの関係
|
||||
if( ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL ) & 0x03 ) != 0 )
|
||||
{
|
||||
u8 tot;
|
||||
@ -841,9 +846,19 @@ void PM_LCD_off()
|
||||
vreg_ctr[VREG_C_COMMAND2] &= ~( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF );
|
||||
}
|
||||
|
||||
|
||||
// 液晶電源切る //
|
||||
SPFL_LCD_AMOL_HV_CONT = 0; // 他のファミリでも弊害ないし
|
||||
|
||||
// 50msとか待つし、確認しましょうかね…
|
||||
if( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD ) != 0 )
|
||||
{
|
||||
PM_TCOM_off();
|
||||
if( system_status.family == FAMILY_SPFL )
|
||||
{
|
||||
wait_ms( 10 ); // アモルファス15Vを切ったときのウェイト。数字は暫定
|
||||
}
|
||||
|
||||
PM_TCOM_off();
|
||||
wait_ms( 1 );
|
||||
PM_TCOM_VCS_off( );
|
||||
wait_ms( DELAY_PM_LCD_OFF );
|
||||
@ -852,7 +867,7 @@ void PM_LCD_off()
|
||||
vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW;
|
||||
}
|
||||
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF );
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF ); // 無条件に発生。マスク無ければ。
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -288,7 +288,7 @@ u8 extinfo_read()
|
||||
infos[5] = (u8)( _dbg_rcomp & 0xFF );
|
||||
infos[6] = raw_adc_temperature;
|
||||
infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) );
|
||||
infos[8] = system_status.info_fullcolor;
|
||||
infos[8] = 1; // system_status.info_fullcolor;
|
||||
|
||||
iic_burst_state++;
|
||||
return( infos[ iic_burst_state -1 ] );
|
||||
|
||||
@ -75,6 +75,13 @@
|
||||
|
||||
#define SLP_REQ P12.0
|
||||
|
||||
// CTR,SPFL,まだ見ぬ派生機識別
|
||||
#define DEV_DET ( P12 & 0x00000110 )
|
||||
#define DEV_CTR ( 0b00 << 1 )
|
||||
#define DEV_SPFL ( 0b01 << 1 )
|
||||
#define DEV_SHRIMP ( 0b10 << 1 )
|
||||
#define DEV_RSV2 ( 0b11 << 1 )
|
||||
|
||||
// FCRAM
|
||||
#ifdef _MODEL_TEG2_
|
||||
#define FCRAM_RST P14.0
|
||||
@ -114,11 +121,15 @@
|
||||
#define BT_TEMP_P P1.7
|
||||
|
||||
|
||||
// SPFLのアモルファスLCDで必要な±15Vの電源。
|
||||
#define SPFL_LCD_AMOL_HV_CONT P20.2
|
||||
|
||||
|
||||
// 充電せよ(out)
|
||||
// 負論理です。注意。
|
||||
#define BT_CHG_ENABLE() ( P4.3 = 0 )
|
||||
#define BT_CHG_DISABLE() ( P4.3 = 1 )
|
||||
#define BT_CHG_Ena_n P4.3
|
||||
#define BT_CHG_Ena_n ( P4.3 )
|
||||
|
||||
// 充電中(in)
|
||||
#define BT_IN_CHG_n P5.1
|
||||
@ -194,8 +205,13 @@
|
||||
//#define 32k_I1 P12.3 // XT1
|
||||
//#define 32k_I2 P12.4 // XT2
|
||||
|
||||
#define DIPSW_0 P4.0 // mini cube ソフトウェアディップスイッチ TOOL0、L禁止!
|
||||
#define DIPSW_1 P4.1 // mini cube ソフトウェアディップスイッチ TOOL1
|
||||
// 実機、開発機、試遊台判別。
|
||||
#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
|
||||
|
||||
|
||||
#ifndef _MODEL_WM0_
|
||||
#define SHELL_OPEN P7.1 // INTP5 ふた開閉 (閉じるとL)
|
||||
@ -235,11 +251,6 @@
|
||||
#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
|
||||
|
||||
@ -220,30 +220,6 @@ LT=8
|
||||
Z=0
|
||||
CommandFile=0
|
||||
RA_OPT=
|
||||
[SrcFile]
|
||||
Source1=loader.c
|
||||
Source2=pm.c
|
||||
Source3=i2c_ctr.c
|
||||
Source4=main.c
|
||||
Source5=magic.c
|
||||
Source6=WDT.c
|
||||
Source7=i2c_mcu.c
|
||||
Source8=i2c_twl.c
|
||||
Source9=led.c
|
||||
Source10=rtc.c
|
||||
Source11=vreg_ctr.c
|
||||
Source12=vreg_twl.c
|
||||
Source13=adc.c
|
||||
Source14=renge\renge.c
|
||||
Source15=accero.c
|
||||
Source16=self_flash.c
|
||||
Source17=sw.c
|
||||
Source18=task_debug.c
|
||||
Source19=task_misc.c
|
||||
Source20=task_sys.c
|
||||
Source21=pedo_alg_thre_det2.c
|
||||
Source22=ini_VECT.c
|
||||
Source23=task_status.c
|
||||
[BuildBefore-AfterCmd]
|
||||
Before1=c:\cygwin\bin\touch magic.c
|
||||
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
@ -720,42 +696,6 @@ Tool1=CC78K0R|W2.13
|
||||
Tool2=RA78K0R|W1.33
|
||||
Tool3=SK78K0R|V3.10
|
||||
Tool4=ID78K0R-QB|V3.61
|
||||
[IncFile]
|
||||
Include1=incs_loader.h
|
||||
Include2=jhl_defs.h
|
||||
Include3=config.h
|
||||
Include4=user_define.h
|
||||
Include5=bsr_system.h
|
||||
Include6=renge\renge.h
|
||||
Include7=renge\renge_defs.h
|
||||
Include8=renge\renge_task_immediate.h
|
||||
Include9=vreg_ctr.h
|
||||
Include10=vreg_twl.h
|
||||
Include11=loader.h
|
||||
Include12=i2c_mcu.h
|
||||
Include13=WDT.h
|
||||
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
|
||||
Include15=fsl_user.h
|
||||
Include16=i2c_ctr.h
|
||||
Include17=pm.h
|
||||
Include18=rtc.h
|
||||
Include19=reboot.h
|
||||
Include20=magic.h
|
||||
Include21=incs.h
|
||||
Include22=i2c_twl.h
|
||||
Include23=accero.h
|
||||
Include24=pedometer.h
|
||||
Include25=sw.h
|
||||
Include26=adc.h
|
||||
Include27=led.h
|
||||
Include28=batt_params.h
|
||||
Include29=pool.h
|
||||
Include30=i2c_twl_defs.h
|
||||
Include31=voltable.h
|
||||
Include32=renge\renge_task_intval.h
|
||||
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
|
||||
Include34=self_flash.h
|
||||
Include35=pedo_lpf_coeff.h
|
||||
[Options.LK78K0R 0]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
@ -1049,3 +989,65 @@ DefaultMode2=1
|
||||
DefaultMode3=1
|
||||
DefaultMode4=1
|
||||
DefaultMode5=1
|
||||
[SrcFile]
|
||||
Source1=loader.c
|
||||
Source2=pm.c
|
||||
Source3=i2c_ctr.c
|
||||
Source4=main.c
|
||||
Source5=magic.c
|
||||
Source6=WDT.c
|
||||
Source7=i2c_mcu.c
|
||||
Source8=i2c_twl.c
|
||||
Source9=led.c
|
||||
Source10=rtc.c
|
||||
Source11=vreg_ctr.c
|
||||
Source12=vreg_twl.c
|
||||
Source13=adc.c
|
||||
Source14=renge\renge.c
|
||||
Source15=accero.c
|
||||
Source16=self_flash.c
|
||||
Source17=sw.c
|
||||
Source18=task_debug.c
|
||||
Source19=task_misc.c
|
||||
Source20=task_sys.c
|
||||
Source21=pedo_alg_thre_det2.c
|
||||
Source22=ini_VECT.c
|
||||
Source23=task_status.c
|
||||
Source24=led_cam.c
|
||||
Source25=led_pow.c
|
||||
[IncFile]
|
||||
Include1=incs_loader.h
|
||||
Include2=jhl_defs.h
|
||||
Include3=config.h
|
||||
Include4=user_define.h
|
||||
Include5=bsr_system.h
|
||||
Include6=renge\renge.h
|
||||
Include7=renge\renge_defs.h
|
||||
Include8=renge\renge_task_immediate.h
|
||||
Include9=vreg_ctr.h
|
||||
Include10=vreg_twl.h
|
||||
Include11=loader.h
|
||||
Include12=i2c_mcu.h
|
||||
Include13=WDT.h
|
||||
Include14=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h
|
||||
Include15=fsl_user.h
|
||||
Include16=i2c_ctr.h
|
||||
Include17=pm.h
|
||||
Include18=rtc.h
|
||||
Include19=reboot.h
|
||||
Include20=magic.h
|
||||
Include21=incs.h
|
||||
Include22=i2c_twl.h
|
||||
Include23=accero.h
|
||||
Include24=pedometer.h
|
||||
Include25=sw.h
|
||||
Include26=adc.h
|
||||
Include27=led.h
|
||||
Include28=batt_params.h
|
||||
Include29=pool.h
|
||||
Include30=i2c_twl_defs.h
|
||||
Include31=voltable.h
|
||||
Include32=renge\renge_task_intval.h
|
||||
Include33=..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h
|
||||
Include34=self_flash.h
|
||||
Include35=pedo_lpf_coeff.h
|
||||
|
||||
Loading…
Reference in New Issue
Block a user