mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-10-31 13:51:10 -04:00
お知らせLEDを修正する前にバックアップを兼ね
修正:CTRCでヘッドホンから音が出ない 追加:白箱からの強制OFF 修正・追加:互換アプリのプレイ時間記録のためのフリーレジスタ お知らせLEDの仕様追加の件もあるので自己書き換え部分も含め RAM関係修正 修正:自己アップデートとWDTリセットの区別が付くようになった 修正:電池挿入直後が、普通に電源OFF時よりも消費電力が大きい ポートの初期値設定忘れ(TWL PMIC向けに書いていたときの名残) 無駄にstaticで確保してあるのを適切に エラーコードが不適切だった物を修正 レジスタの初期値間違い フリーレジスタを増やして歩数計を減らしたのでいろいろ修正 CTRCででポップ解除を忘れていた(イヤホンから音でない) git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@126 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
ca9bdc8a67
commit
a159bca802
@ -65,17 +65,10 @@ task_status tsk_soft_int( );
|
||||
task_status_immed tsk_cbk_accero( )
|
||||
{ // (疑似)isrから登録されます
|
||||
|
||||
/*
|
||||
if(( system_status.pwr_state == OFF ) || ( system_status.pwr_state == BT_CHARGE ) )
|
||||
{
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
else
|
||||
{
|
||||
*/
|
||||
// 加速度センサデータレジスタへの反映
|
||||
if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] )
|
||||
!= ERR_SUCCESS )
|
||||
|
||||
// 加速度センサデータレジスタへの反映
|
||||
if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] )
|
||||
!= ERR_SUCCESS )
|
||||
{
|
||||
// 加速度センサが異常になったので止める
|
||||
vreg_ctr[VREG_C_ACC_CONFIG] &= ~( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ );
|
||||
@ -84,7 +77,7 @@ task_status_immed tsk_cbk_accero( )
|
||||
return ( ERR_SUCCESS ); // タスクの削除は必要
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// 正常時パス //
|
||||
// 加速度更新&割り込み
|
||||
if( (( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_ACQ ) != 0 ) &&
|
||||
@ -104,9 +97,9 @@ task_status_immed tsk_cbk_accero( )
|
||||
( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 )
|
||||
)
|
||||
{
|
||||
DBG_LED_WIFI_2_on;
|
||||
pedometer(); // 歩数計
|
||||
DBG_LED_WIFI_2_off;
|
||||
DBG_LED_WIFI_2_on;
|
||||
pedometer(); // 歩数計
|
||||
DBG_LED_WIFI_2_off;
|
||||
}
|
||||
}
|
||||
return ( ERR_SUCCESS );
|
||||
|
||||
29
trunk/adc.c
29
trunk/adc.c
@ -40,23 +40,9 @@ extern void nop8();
|
||||
・8tics毎に呼ばれ、3チャンネル分取り込むとADCを停止します。
|
||||
タスク起動時、レジスタには前回の取り込み値が入っています。
|
||||
======================================================== */
|
||||
/*
|
||||
// max -4db
|
||||
static const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 125, 124, 123, 121, 120, 119, 117,
|
||||
116, 115, 113, 112, 111, 109, 108, 107,
|
||||
105, 104, 103, 101, 100, 99, 98, 96,
|
||||
95, 94, 92, 91, 90, 88, 87, 86,
|
||||
84, 83, 82, 80, 79, 78, 76, 75,
|
||||
74, 72, 71, 70, 69, 67, 66, 65,
|
||||
63, 62, 61, 59, 58, 57, 55, 54,
|
||||
53, 51, 50, 49, 47, 46, 45, 44
|
||||
};
|
||||
*/
|
||||
|
||||
// max -10db
|
||||
static const u8 slider_to_codec[64] =
|
||||
// max -15db
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 126, 125, 124, 123, 122, 121, 120,
|
||||
119, 118, 117, 116, 115, 114, 113, 112,
|
||||
@ -325,14 +311,9 @@ u8 get_adc( u8 ch )
|
||||
|
||||
ADPC = 0x06; // ADCポートのセレクト
|
||||
ADS = ch;
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
|
||||
nop8();
|
||||
|
||||
ADCS = 1; // AD開始。 /// ここまで↑ に、1us以上開ける
|
||||
|
||||
while( ADIF == 0 ){;}
|
||||
|
||||
@ -47,7 +47,6 @@ typedef struct
|
||||
system_status_;
|
||||
|
||||
|
||||
|
||||
extern system_status_ system_status;
|
||||
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
|
||||
#define MCU_VER_MAJOR 0x00
|
||||
#define MCU_VER_MINOR 0x10
|
||||
#define MCU_VER_MINOR 0x12
|
||||
|
||||
#define _OVERCLOCK_
|
||||
|
||||
|
||||
@ -81,39 +81,52 @@ void nop8()
|
||||
}
|
||||
|
||||
|
||||
static u8 iic_mcu_is_ready()
|
||||
static err iic_mcu_is_ready()
|
||||
{
|
||||
if( iic_mcu_initialized == 0 )
|
||||
{
|
||||
#ifdef _debug_
|
||||
iic_mcu_start( );
|
||||
#else
|
||||
return( ERR_ERR );
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
while( iic_mcu_busy )
|
||||
{
|
||||
NOP( );
|
||||
}
|
||||
iic_mcu_busy = 1;
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブからの 『1文字』 リード
|
||||
返値がデータそのものです。
|
||||
エラー判定ができません。
|
||||
======================================================== */
|
||||
u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
|
||||
{
|
||||
u8 dat;
|
||||
|
||||
iic_mcu_is_ready();
|
||||
#if 1
|
||||
// ラッパー
|
||||
if( iic_mcu_read( SLA, adrs, 1, &dat ) == ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_bus_status = ERR_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
iic_mcu_bus_status = ERR_NOSLAVE;
|
||||
}
|
||||
return ( dat );
|
||||
|
||||
iic_mcu_bus_status = ERR_OK;
|
||||
#else
|
||||
iic_mcu_is_ready();
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
|
||||
if( iic_mcu_call_slave( SLA ) != 0 )
|
||||
@ -149,6 +162,7 @@ u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
|
||||
IICIF10 = 0; // 後を濁さないこと
|
||||
iic_mcu_busy = 0;
|
||||
return ( dat );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@ -167,7 +181,11 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
|
||||
{
|
||||
|
||||
#if 1
|
||||
iic_mcu_is_ready();
|
||||
if( iic_mcu_is_ready() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
;
|
||||
#else
|
||||
// 使用中なら帰る
|
||||
if( iic_mcu_initialized == 0 ){
|
||||
@ -234,12 +252,19 @@ err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
|
||||
err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
|
||||
{
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
// ラッパー
|
||||
static u8 temp; // 書きっぱなしで終了を見ずに関数を抜ける(可能性が高い)のでstatic
|
||||
|
||||
// これをしないと、立て続けに書いたときに前のデータを破壊してしまう
|
||||
while( iic_mcu_busy )
|
||||
{
|
||||
NOP( );
|
||||
}
|
||||
|
||||
temp = dat;
|
||||
iic_mcu_wo_dma = 1;
|
||||
return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
|
||||
}
|
||||
#else
|
||||
// 1文字の時はDMAとか起動しないでさっさと終わらせる
|
||||
iic_mcu_is_ready();
|
||||
@ -279,8 +304,10 @@ err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
|
||||
err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
|
||||
{
|
||||
|
||||
iic_mcu_is_ready();
|
||||
|
||||
if( iic_mcu_is_ready() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
#if 0
|
||||
// 使用中なら帰る
|
||||
if( iic_mcu_initialized == 0 ){
|
||||
@ -331,9 +358,9 @@ err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
|
||||
// DMAを使用しない //
|
||||
|
||||
// レジスタアドレスの送信
|
||||
IICMK10 = 0;
|
||||
SIO10 = adrs;
|
||||
|
||||
IICMK10 = 0;
|
||||
iic_send_wo_dma_len = len;
|
||||
p_iic_send_wo_dma_dat = src;
|
||||
// 残りは割り込みルーチン内で
|
||||
|
||||
104
trunk/led.c
104
trunk/led.c
@ -31,9 +31,25 @@ static void led_pow_hotaru( );
|
||||
|
||||
|
||||
// ========================================================
|
||||
static const char MSG_MAIL[] = { 0b11110110, 0b11011010, 0b01101110, 0b10010100 };
|
||||
#define MSG_SPD 60
|
||||
// ↑255/3以下であること!
|
||||
// お知らせLEDのパターンを流し込んでもらう
|
||||
typedef struct{
|
||||
unsigned char red:3;
|
||||
unsigned char grn:3;
|
||||
unsigned char blu:2;
|
||||
}st_info_LED_ptn;
|
||||
|
||||
st_info_LED_ptn info_LED_ptn[32];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
|
||||
|
||||
// ========================================================
|
||||
void LED_init( )
|
||||
@ -412,7 +428,6 @@ void tsk_led_notify( )
|
||||
|
||||
switch ( vreg_ctr[VREG_C_LED_NOTIFY] )
|
||||
{
|
||||
case ( NOTIFY_LED_OFF ):
|
||||
default:
|
||||
LED_duty_NOTIFY = 0;
|
||||
state_notify_led = 0;
|
||||
@ -424,87 +439,6 @@ void tsk_led_notify( )
|
||||
state_notify_led = 0;
|
||||
flg_char_space = 0;
|
||||
break;
|
||||
|
||||
case ( NOTIFY_LED_PTN0 ):
|
||||
// ゆっくりバースト
|
||||
switch ( state_notify_led )
|
||||
{
|
||||
case ( 1 ):
|
||||
case ( 3 ):
|
||||
case ( 5 ):
|
||||
LED_duty_NOTIFY = vreg_ctr[VREG_C_LED_BRIGHT];
|
||||
break;
|
||||
default:
|
||||
LED_duty_NOTIFY = 0;
|
||||
}
|
||||
state_notify_led++;
|
||||
if( state_notify_led == 16 )
|
||||
{
|
||||
state_notify_led = 0;
|
||||
}
|
||||
task_interval = 50;
|
||||
return;
|
||||
|
||||
case ( NOTIFY_LED_PTN1 ):
|
||||
// データテーブルに従って点滅
|
||||
{
|
||||
u8 dat;
|
||||
|
||||
task_interval = MSG_SPD; // 共通のため。場合によって上書き
|
||||
|
||||
if( flg_char_space != 0 )
|
||||
{
|
||||
LED_duty_NOTIFY = 0;
|
||||
flg_char_space = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
// データバッファの見る位置の更新
|
||||
dat = ( MSG_MAIL[state_notify_led / 4] << ( ( state_notify_led % 4 ) * 2 ) ) & 0xC0;
|
||||
if( dat == 0 )
|
||||
{
|
||||
state_notify_led = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
state_notify_led += 1;
|
||||
}
|
||||
|
||||
flg_char_space = 1;
|
||||
if(( dat & 0b10000000 ) != 0 )
|
||||
{
|
||||
// 点灯はさせる
|
||||
LED_duty_NOTIFY = vreg_ctr[VREG_C_LED_BRIGHT];
|
||||
if(( dat & 0b01000000 ) == 0 )
|
||||
{
|
||||
// 短
|
||||
// nothing to do
|
||||
}
|
||||
else
|
||||
{
|
||||
// 長
|
||||
task_interval = ( MSG_SPD * 3 );
|
||||
}
|
||||
// 次は単語間休み、とかの判定をさせたかったが
|
||||
/// 1バイトに2ビットずつデータが並んでおり、次のバイトに
|
||||
/// またがるようなときが面倒なのでやめる
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(( dat & 0b01000000 ) == 0 )
|
||||
{
|
||||
// 一文終了
|
||||
task_interval = ( MSG_SPD * 3 );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 単語間
|
||||
// nothing to do
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -85,6 +85,6 @@ enum
|
||||
void LED_init( );
|
||||
void LED_stop( );
|
||||
|
||||
|
||||
extern void tsk_led_cam();
|
||||
|
||||
#endif
|
||||
|
||||
@ -243,16 +243,16 @@ void hdwinit2( )
|
||||
|
||||
PM5 = 0b11110011;
|
||||
PM6 = 0b11111100; // I2CのラインがL出力になってしまうが、システムがOFFなのでかまわない
|
||||
#ifdef _PMIC_CTR_
|
||||
PM7 = 0b01011111;
|
||||
#else
|
||||
PM7 = 0b00011111;
|
||||
#endif
|
||||
PM12 = 0b11111111; // 32kHzクロックのピン設定はどっちでもよい
|
||||
PM15 = 0b11111111;
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
#ifdef _MODEL_CTR_
|
||||
PM20 = 0b11111101;
|
||||
#else
|
||||
PM20 = 0b11111100;
|
||||
#endif
|
||||
#else
|
||||
PM8 = 0b11111111;
|
||||
#endif
|
||||
|
||||
@ -7,14 +7,13 @@
|
||||
|
||||
// V0.5 (ニセ0.1改)
|
||||
#pragma section @@CNSTL MGC_LOAD AT 0x0FF6
|
||||
__far static const unsigned char MGC_LOAD[] = __TIME__;
|
||||
__far const unsigned char MGC_LOAD[] = __TIME__;
|
||||
|
||||
#pragma section @@CNST MGC_MIMI AT 0x2100
|
||||
static const unsigned char MGC_HEAD[] = __TIME__;
|
||||
const unsigned char MGC_HEAD[] = __TIME__;
|
||||
|
||||
#pragma section @@CNST MGC_TAIL AT 0x4FF6
|
||||
static const unsigned char MGC_TAIL[] = __TIME__;
|
||||
//static const unsigned char MGC_TAIL[] = "fuga_";
|
||||
const unsigned char MGC_TAIL[] = __TIME__;
|
||||
|
||||
|
||||
// 0Dまでこれを使用
|
||||
|
||||
@ -15,16 +15,18 @@
|
||||
#include "led.h"
|
||||
#include "adc.h"
|
||||
|
||||
#include "pool.h"
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void read_dipsw( );
|
||||
|
||||
|
||||
// ========================================================
|
||||
system_status_ system_status;
|
||||
bit update;
|
||||
uni_pool pool;
|
||||
|
||||
|
||||
u16 pool[256]; // アップデート時のワークエリア 兼 歩数計データ
|
||||
/* ========================================================
|
||||
本当のエントリ関数は loader.c にあります
|
||||
======================================================== */
|
||||
|
||||
@ -13,13 +13,17 @@
|
||||
#include "accero.h"
|
||||
#include "pedometer.h"
|
||||
|
||||
#include "pedo_lpf_coeff.h"
|
||||
#include "pool.h"
|
||||
|
||||
// ========================================================
|
||||
static void hosu_increment();
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
u16 get_long_hour();
|
||||
|
||||
|
||||
|
||||
extern u16 pool[];
|
||||
extern uni_pool pool;
|
||||
|
||||
|
||||
|
||||
@ -243,13 +247,13 @@ static void hosu_increment()
|
||||
last_hour_fny = now_hour;
|
||||
|
||||
// 実際にインクリメント
|
||||
if( pool[ p_record ] == HOSU_NODATA )
|
||||
if( pool.vreg_c_ext.pedo_log[ p_record ] == HOSU_NODATA )
|
||||
{
|
||||
pool[ p_record ] = 1;
|
||||
pool.vreg_c_ext.pedo_log[ p_record ] = 1;
|
||||
}
|
||||
else if( pool[ p_record ] != HOSU_MAX )
|
||||
else if( pool.vreg_c_ext.pedo_log[ p_record ] != HOSU_MAX )
|
||||
{
|
||||
pool[ p_record ] += 1;
|
||||
pool.vreg_c_ext.pedo_log[ p_record ] += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -262,16 +266,16 @@ static void hosu_increment()
|
||||
======================================================== */
|
||||
void fill_hosu_hist_hours( u16 hours )
|
||||
{
|
||||
if( hours > 255 )
|
||||
if( hours > PEDOMETER_LOG_SIZE )
|
||||
{
|
||||
hours = 0;
|
||||
hours = PEDOMETER_LOG_SIZE;
|
||||
}
|
||||
|
||||
// 空白の数時間の設定
|
||||
do
|
||||
{
|
||||
p_record += 1;
|
||||
pool[ p_record ] = 0;
|
||||
pool.vreg_c_ext.pedo_log[ p_record ] = 0;
|
||||
hours -= 1;
|
||||
}
|
||||
while( hours != 0 );
|
||||
@ -285,12 +289,11 @@ void fill_hosu_hist_hours( u16 hours )
|
||||
======================================================== */
|
||||
void clear_hosu_hist()
|
||||
{
|
||||
u8 hours = 0;
|
||||
// 空白の数時間の設定
|
||||
u8 hours = PEDOMETER_LOG_SIZE;
|
||||
do
|
||||
{
|
||||
pool[ hours ] = 0xFFFF;
|
||||
hours -= 1;
|
||||
pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF;
|
||||
}
|
||||
while( hours != 0 );
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0;
|
||||
@ -349,7 +352,7 @@ u8 hosu_read( )
|
||||
return( 0xAA ); // reserved. dummy
|
||||
|
||||
default:
|
||||
temp = pool[ p_record_buffer ];
|
||||
temp = pool.vreg_c_ext.pedo_log[ p_record_buffer ];
|
||||
if( record_read_msb_lsb == 0 )
|
||||
{
|
||||
dat = (u8)( temp & 0x00FF );
|
||||
@ -357,7 +360,14 @@ u8 hosu_read( )
|
||||
else
|
||||
{
|
||||
dat = (u8)(( temp >> 8 ) & 0x00FF );
|
||||
p_record_buffer -= 1;
|
||||
if( p_record_buffer == 0 )
|
||||
{
|
||||
p_record_buffer = PEDOMETER_LOG_SIZE-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
p_record_buffer -= 1;
|
||||
}
|
||||
}
|
||||
record_read_msb_lsb += 1;
|
||||
return( dat );
|
||||
@ -371,7 +381,7 @@ u8 hosu_read( )
|
||||
引数 無し
|
||||
返値 u16 long_hour
|
||||
======================================================== */
|
||||
static const u16 DAYS_FROM_HNY[] = {
|
||||
const u16 DAYS_FROM_HNY[] = {
|
||||
0,
|
||||
0, 31, 31+28, 59+31, 90+30,
|
||||
120+31, 151+30, 181+31, 212+31, 243+30,
|
||||
|
||||
@ -2,98 +2,21 @@
|
||||
#define _pedo_
|
||||
|
||||
|
||||
// =========================================================
|
||||
void hosu_read_end( );
|
||||
u8 hosu_read( );
|
||||
void fill_hosu_hist_hours( u16 );
|
||||
void clear_hosu_hist();
|
||||
|
||||
|
||||
// =========================================================
|
||||
#define TAP 64
|
||||
#define FIL_COEFF_QUANT 10
|
||||
static const s8 lpf_coeff[]={
|
||||
/*
|
||||
Window Function Algorithm LPF
|
||||
Sampling Frequency = 100.0
|
||||
cutoff1 = 6.0000000
|
||||
Tap Count =64
|
||||
Kaiser Constant = 7.000000
|
||||
Quantized by 11 [bits]
|
||||
*/
|
||||
/* 0,// [0]
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
*/
|
||||
1,// 8
|
||||
2,
|
||||
2,
|
||||
3,
|
||||
3,
|
||||
2,
|
||||
0,
|
||||
-2,
|
||||
-5,// 16
|
||||
-9,
|
||||
-13,
|
||||
-16,
|
||||
-16,
|
||||
-13,
|
||||
-6,
|
||||
4,
|
||||
18,// 24
|
||||
37,
|
||||
56,
|
||||
77,
|
||||
95,
|
||||
110,
|
||||
119,
|
||||
122,
|
||||
119,// 32
|
||||
110,
|
||||
95,
|
||||
77,
|
||||
56,
|
||||
37,
|
||||
18,
|
||||
4,
|
||||
-6,// 40
|
||||
-13,
|
||||
-16,
|
||||
-16,
|
||||
-13,
|
||||
-9,
|
||||
-5,
|
||||
-2,
|
||||
0,// 48
|
||||
2,
|
||||
3,
|
||||
3,
|
||||
2,
|
||||
2,
|
||||
1,
|
||||
/*
|
||||
0,
|
||||
0,// 56
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0
|
||||
*/
|
||||
};
|
||||
// */
|
||||
|
||||
// =========================================================
|
||||
|
||||
void pedometer();
|
||||
static void hosu_increment();
|
||||
|
||||
|
||||
|
||||
// =========================================================
|
||||
#define PEDOMETER_LOG_SIZE ( 24 * 7 )
|
||||
|
||||
|
||||
|
||||
// =========================================================
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
48
trunk/pm.c
48
trunk/pm.c
@ -16,7 +16,8 @@
|
||||
|
||||
#include <fsl.h>
|
||||
#include "fsl_user.h"
|
||||
extern u16 pool[];
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
|
||||
@ -71,7 +72,7 @@ err PM_LCD_on( )
|
||||
vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW;
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_ON );
|
||||
|
||||
SND_DEPOP_DEACT; // 1でミュート
|
||||
SND_DEPOP_SND_ENABLE;
|
||||
}
|
||||
|
||||
#ifdef _PMIC_TWL_
|
||||
@ -84,7 +85,7 @@ err PM_LCD_on( )
|
||||
// BSR //
|
||||
void PM_LCD_off()
|
||||
{
|
||||
SND_DEPOP_ACT;
|
||||
SND_DEPOP_SND_MUTE;
|
||||
|
||||
// BLついてたら消す
|
||||
#ifdef _PMIC_TWL_
|
||||
@ -230,14 +231,14 @@ err PM_LCD_on( )
|
||||
{
|
||||
vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW;
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_ON );
|
||||
SND_DEPOP_DEACT; // 1でミュート
|
||||
SND_DEPOP_SND_ENABLE; // 1でミュート
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
void PM_LCD_off( )
|
||||
{
|
||||
SND_DEPOP_ACT;
|
||||
SND_DEPOP_SND_MUTE;
|
||||
vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW;
|
||||
set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF );
|
||||
}
|
||||
@ -559,7 +560,7 @@ task_status_immed ntr_pmic_comm( )
|
||||
// CODECバグ回避
|
||||
// リセット単品でなかったら無視
|
||||
// codec 修正済↓
|
||||
// if( ( reg1_old ^ reg_shadow ) == REG_BIT_TWL_REQ_RST_REQ )
|
||||
if( ( reg1_old ^ reg_shadow ) == REG_BIT_TWL_REQ_RST_REQ )
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ );
|
||||
}
|
||||
@ -634,7 +635,7 @@ task_status_immed tski_PM_BL_set()
|
||||
void tsk_batt( )
|
||||
{
|
||||
static u8 task_interval = 0;
|
||||
static u8 charge_hys = 0; // ヒステリシスで上限下限を拡張するとき1
|
||||
static u8 temp_area = 0; // 温度で充電停止する時にヒステリシスを付けるため
|
||||
static bit pm_extdc_old;
|
||||
|
||||
if( task_interval-- != 0 )
|
||||
@ -666,25 +667,26 @@ void tsk_batt( )
|
||||
|
||||
// 充電 ///////////////////////////
|
||||
// 温度付きヒステリシス
|
||||
if( vreg_ctr[VREG_C_BT_TEMP] < 0x36 )
|
||||
if(( 86 < vreg_ctr[VREG_C_BT_TEMP] )
|
||||
&& ( vreg_ctr[VREG_C_BT_TEMP] < 185 ))
|
||||
{
|
||||
charge_hys = 1;
|
||||
temp_area = 1; // 充電許可
|
||||
}
|
||||
else if(( vreg_ctr[VREG_C_BT_TEMP] < 70 )
|
||||
|| ( 189 < vreg_ctr[VREG_C_BT_TEMP] ))
|
||||
{
|
||||
temp_area = 0; // 充電禁止
|
||||
}
|
||||
else
|
||||
{
|
||||
// temp_area そのまま
|
||||
}
|
||||
|
||||
if( ( 1 < vreg_ctr[VREG_C_BT_TEMP] )
|
||||
&& ( vreg_ctr[VREG_C_BT_TEMP] < 0x2C ) )
|
||||
{
|
||||
charge_hys = 0;
|
||||
}
|
||||
|
||||
if( ( ( charge_hys == 1 )
|
||||
&& ( 1 < vreg_ctr[VREG_C_BT_TEMP] )
|
||||
&& ( vreg_ctr[VREG_C_BT_TEMP] < 0x2C ) )
|
||||
||
|
||||
( ( charge_hys == 0 )
|
||||
&& ( vreg_ctr[VREG_C_BT_TEMP] < 0x36 ) ) )
|
||||
if(( temp_area == 1 )
|
||||
&& ( battery_manufacturer <= BT_VENDER_6 ))
|
||||
{
|
||||
#ifndef _MODEL_WM0_
|
||||
// CHG_ENABLEピンは /WL_RST に配線されているので
|
||||
BT_CHG_ENABLE(); // 温度範囲OKで充電再開
|
||||
}
|
||||
else
|
||||
@ -692,16 +694,12 @@ void tsk_batt( )
|
||||
BT_CHG_DISABLE(); // 温度危険! 充電停止
|
||||
#endif
|
||||
}
|
||||
#ifdef _MODEL_WM0_
|
||||
// CHG_ENABLEピンは /WL_RST に配線されているので
|
||||
#endif
|
||||
|
||||
// 充電 //
|
||||
// →割り込み。miscの中でよろしくやってくれている。
|
||||
set_bit( !BT_CHG_n, vreg_ctr[VREG_C_STATUS], REG_BIT_BATT_CHARGE );
|
||||
LED_CHARGE = !BT_CHG_n ? 1 : 0;
|
||||
|
||||
|
||||
// 電池残量 //
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
|
||||
@ -29,7 +29,8 @@ typedef unsigned char err;
|
||||
// ************************************
|
||||
typedef enum{
|
||||
ERR_SUCCESS = 0,
|
||||
ERR_ERR
|
||||
ERR_ERR,
|
||||
ERR_SYSTEM_OFF
|
||||
}ERR;
|
||||
|
||||
|
||||
|
||||
@ -1,10 +1,11 @@
|
||||
/*スクリプトによる自動生成です。手動で書き換えない方がよいです*/
|
||||
|
||||
#include "renge_defs.h"
|
||||
|
||||
|
||||
#ifndef __renge_task__
|
||||
#define __renge_task__
|
||||
|
||||
#include "renge_defs.h"
|
||||
|
||||
enum {
|
||||
TSK_SW, TSK_ADC, TSK_BATT, TSK_LED_POW, TSK_LED_WIFI, TSK_LED_NOTIFY, TSK_LED_CAM, TSK_MISC_STAT, TSK_DEBUG, TSK_DEBUG2, TSK_SYS, TSK_LAST
|
||||
};
|
||||
@ -21,7 +22,8 @@ extern void tsk_debug();
|
||||
extern void tsk_debug2();
|
||||
extern void tsk_sys();
|
||||
|
||||
static const task_status ( *tasks[ TSK_LAST ] )() = {
|
||||
|
||||
const void ( *tasks[ TSK_LAST ] )() = {
|
||||
tsk_sw,
|
||||
tsk_adc,
|
||||
tsk_batt,
|
||||
@ -35,5 +37,6 @@ static const task_status ( *tasks[ TSK_LAST ] )() = {
|
||||
tsk_sys,
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
#include "fsl_user.h"
|
||||
#include "i2c_ctr.h"
|
||||
|
||||
#include "pool.h"
|
||||
|
||||
|
||||
// ========================================================
|
||||
@ -24,6 +25,7 @@ const u8 fsl_low_voltage_u08 = 1;
|
||||
|
||||
// 自己フラッシュパラメータ
|
||||
#define SAM_BLOCK_SIZE 1024
|
||||
// ↓256バイト以上はまとめてかけません。
|
||||
#define SELF_UPDATE_BUFF_SIZE 256
|
||||
#define SELF_UPDATE_SPLIT_WRITE_NUM ( SAM_BLOCK_SIZE / SELF_UPDATE_BUFF_SIZE )
|
||||
#define SAM_WORD_SIZE 4
|
||||
@ -36,8 +38,6 @@ const u8 fsl_low_voltage_u08 = 1;
|
||||
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
|
||||
|
||||
#define ACKD ACKD1
|
||||
#define ACKE ACKE1
|
||||
#define COI COI1
|
||||
@ -72,12 +72,12 @@ static void FSL_Close( void );
|
||||
void firm_restore( );
|
||||
|
||||
static err my_FSL_Init();
|
||||
static err firm_duplicate( __far u8 * p_rom, u8 block_dest );
|
||||
static err firm_duplicate( u8 block_src, u8 block_dest );
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
extern u16 pool[];
|
||||
extern uni_pool pool;
|
||||
|
||||
|
||||
// 0.D以降 新アップデータ向け
|
||||
@ -102,11 +102,12 @@ void firm_update( )
|
||||
my_FSL_Init();
|
||||
|
||||
/* ファームのバックアップ
|
||||
開始アドレス、書き込み先の先頭”ブロック番号” (サイズは FIRM_SIZE)
|
||||
0x2000 - 0x4FFF を
|
||||
0x5000 - 0x7FFF (ブロック 20 - 31) にコピー
|
||||
*/
|
||||
firm_duplicate( ( __far u8 * ) 0x2000,
|
||||
( 0x5000 / 0x0400 ) );
|
||||
firm_duplicate( FIRM_TOP,
|
||||
UPDATE_BLOCK_LAST +1 );
|
||||
|
||||
// 全ブロック削除 /////////////////////////////////////
|
||||
// 電源断を判定するため、最初に全クラスタ消去する
|
||||
@ -134,36 +135,37 @@ void firm_update( )
|
||||
&& ( !SPD ) );
|
||||
split_write_count += 1 )
|
||||
{
|
||||
u8* p_buffer = pool;
|
||||
u8 buffer_fill = 0;
|
||||
u8* p_buffer = &pool.self_update_work[0];
|
||||
u16 buff_written_size = 0;
|
||||
|
||||
WDT_Restart( );
|
||||
|
||||
// I2Cから書き込みデータをバッファにためる
|
||||
do
|
||||
{
|
||||
while( !IICAIF && !SPD ){;}
|
||||
while( !IICAIF && !SPD )
|
||||
{
|
||||
WDT_Restart( );
|
||||
}
|
||||
IICAIF = 0;
|
||||
*p_buffer = IICA;
|
||||
WREL = 1;
|
||||
p_buffer += 1;
|
||||
buffer_fill += 1;
|
||||
buff_written_size += 1;
|
||||
}
|
||||
while( ( buffer_fill != ( u8 ) SELF_UPDATE_BUFF_SIZE ) && !SPD );
|
||||
while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE )
|
||||
&& !SPD );
|
||||
|
||||
// 書き込み
|
||||
// 最後だと、ゴミをパディングするが別にかまわない
|
||||
if( FSL_Write( ( fsl_u32 ) ( target_block * SAM_BLOCK_SIZE
|
||||
+
|
||||
split_write_count *
|
||||
SELF_UPDATE_BUFF_SIZE ),
|
||||
( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) )
|
||||
+ split_write_count * SELF_UPDATE_BUFF_SIZE ),
|
||||
( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) )
|
||||
|
||||
!= FSL_OK )
|
||||
{
|
||||
// 書き込み後のチェックエラー
|
||||
// リストア
|
||||
firm_duplicate( ( __far u8 * ) 0x5000,
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1,
|
||||
FIRM_TOP );
|
||||
FSL_ForceReset();
|
||||
// 戻ってこない //
|
||||
@ -173,7 +175,11 @@ void firm_update( )
|
||||
// 1ブロック書き込み完了。内部ベリファイを行う
|
||||
if( FSL_IVerify( target_block ) != FSL_OK ){
|
||||
// todo 再度消去→書き込み ベリファイを繰り返すだけじゃダメでした...
|
||||
NOP();
|
||||
// リストア
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1,
|
||||
FIRM_TOP );
|
||||
FSL_ForceReset();
|
||||
// 戻ってこない //
|
||||
}
|
||||
|
||||
if( SPD )
|
||||
@ -205,7 +211,7 @@ void firm_update( )
|
||||
{
|
||||
// データ(マジックナンバーしか見てない)エラー
|
||||
// リストア
|
||||
firm_duplicate( ( __far u8 * ) 0x5000,
|
||||
firm_duplicate( UPDATE_BLOCK_LAST,
|
||||
FIRM_TOP );
|
||||
FSL_ForceReset(); // リセット
|
||||
// 戻ってこない //
|
||||
@ -230,7 +236,7 @@ void firm_restore( )
|
||||
0x4800 - 0x7FFF (ブロック 18 - 27) から
|
||||
0x2000 - 0x47FF (ブロック 8 - 17) へコピー
|
||||
*/
|
||||
firm_duplicate( ( __far u8 * ) 0x5000,
|
||||
firm_duplicate( UPDATE_BLOCK_LAST +1,
|
||||
FIRM_TOP );
|
||||
// todo
|
||||
// リストア失敗したら、LEDちかちかとかさせて、サービス送りにしてもらう
|
||||
@ -304,11 +310,14 @@ static void FSL_Close( void )
|
||||
|
||||
コピー先に書けるようにmy_FSL_Initをあらかじめ実行する必要があります。
|
||||
======================================================== */
|
||||
static err firm_duplicate( __far u8 * p_rom,
|
||||
u8 block_dest )
|
||||
//static err firm_duplicate( __far u8 * p_rom,
|
||||
// u8 block_dest )
|
||||
static err firm_duplicate( u8 block_src,
|
||||
u8 block_dest )
|
||||
{
|
||||
u8 target_block;
|
||||
u8 split_write_count; // ブロックへちまちま書き込むカウンタ
|
||||
__far u8* p_src = ( __far u8* )( block_src * 0x400 );
|
||||
|
||||
// 書き込み先ブロックの数だけ繰り返す
|
||||
for( target_block = block_dest;
|
||||
@ -327,29 +336,28 @@ static err firm_duplicate( __far u8 * p_rom,
|
||||
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
|
||||
split_write_count += 1 )
|
||||
{
|
||||
u8 buffer_fill;
|
||||
u16 buff_written_size;
|
||||
u8* p_buff;
|
||||
|
||||
// 書き込みデータをバッファにためる
|
||||
buffer_fill = 0;
|
||||
p_buff = pool;
|
||||
buff_written_size = 0;
|
||||
p_buff = &pool.self_update_work[0];
|
||||
do
|
||||
{
|
||||
*p_buff = *p_rom;
|
||||
p_rom += 1;
|
||||
*p_buff = *p_src;
|
||||
p_src += 1;
|
||||
p_buff += 1;
|
||||
buffer_fill +=1;
|
||||
buff_written_size +=1;
|
||||
}
|
||||
while( buffer_fill != ( u8 ) SELF_UPDATE_BUFF_SIZE );
|
||||
while( buff_written_size != SELF_UPDATE_BUFF_SIZE );
|
||||
|
||||
// 書き込み
|
||||
if( FSL_Write( ( fsl_u32 ) ( target_block * SAM_BLOCK_SIZE
|
||||
+
|
||||
split_write_count *
|
||||
SELF_UPDATE_BUFF_SIZE ),
|
||||
( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) )
|
||||
+ split_write_count * SELF_UPDATE_BUFF_SIZE ),
|
||||
( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) )
|
||||
!= FSL_OK )
|
||||
{
|
||||
// todo リカバリ? //
|
||||
FSL_Close( );
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
@ -377,7 +385,7 @@ static err my_FSL_Init()
|
||||
DI( );
|
||||
FSL_Open( ); // 割り込み禁止など
|
||||
|
||||
FSL_Init( pool ); // ライブラリ初期化。割り込み中断考慮せず
|
||||
FSL_Init( &pool.self_update_work[0] ); // ライブラリ初期化。割り込み中断考慮せず
|
||||
FSL_ModeCheck( ); // ライトプロテクトチェック。失敗することを考慮せず
|
||||
|
||||
return( ERR_SUCCESS );
|
||||
@ -386,12 +394,11 @@ static err my_FSL_Init()
|
||||
|
||||
task_status_immed tski_mcu_reset()
|
||||
{
|
||||
WDT_Restart( );
|
||||
// 普通に再起動
|
||||
my_FSL_Init();
|
||||
FSL_SwapBootCluster();
|
||||
|
||||
// FSL_ForceReset(); // リセット
|
||||
FSL_ForceReset(); // リセット
|
||||
FSL_Close( );
|
||||
|
||||
// 保険? //
|
||||
|
||||
@ -90,7 +90,7 @@ void tsk_sys( )
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// 残量チェック
|
||||
BT_get_left(); // 先に、BT_init()が実行されている必要があります。(大丈夫)
|
||||
if( vreg_ctr[VREG_C_BT_REMAIN] < 5 )
|
||||
@ -265,6 +265,9 @@ void tsk_sys( )
|
||||
}
|
||||
|
||||
PM_sys_pow_off( );
|
||||
while( iic_mcu_busy )
|
||||
{;
|
||||
}
|
||||
|
||||
KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい
|
||||
// intp20系は後ほど
|
||||
@ -354,21 +357,59 @@ void tsk_sys( )
|
||||
**********************************************************/
|
||||
static void chk_emergencyExit(){
|
||||
#ifndef _PARRADIUM_
|
||||
if( !RESET1_n )
|
||||
static u8 shirobako_power_control;
|
||||
|
||||
if( shirobako_power_control == 0 ) // PM_chk_LDSW() はI2C_mを使用し、高コスト
|
||||
{
|
||||
if( PM_chk_LDSW( ) == 0 )
|
||||
if( !RESET1_n )
|
||||
{
|
||||
// PMICが異常終了判断をした
|
||||
// リセットが下がってる
|
||||
if( PM_chk_LDSW( ) == 0 )
|
||||
{
|
||||
// PMICが異常終了判断をした
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
renge_task_interval_run_force = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 白箱の仕業
|
||||
shirobako_power_control = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( shirobako_power_control == 240 )
|
||||
// デバッガが何かした。reset1を解除するまでは無視
|
||||
{
|
||||
if( RESET1_n )
|
||||
{
|
||||
shirobako_power_control = 0;
|
||||
}
|
||||
}else if( shirobako_power_control == 200 )
|
||||
// デバッガが何かしたいらしい
|
||||
{
|
||||
// 白箱は電源を切りたいらしい
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
renge_task_interval_run_force = 1;
|
||||
shirobako_power_control = 240;
|
||||
}
|
||||
else
|
||||
{
|
||||
// デバッガなりがリセットをかけた
|
||||
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, 0 );
|
||||
vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & 0b10011111 );
|
||||
vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ;
|
||||
renge_task_immed_add( do_command0 );
|
||||
if( !RESET1_n )
|
||||
{
|
||||
shirobako_power_control += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// リセットをかけたらしい
|
||||
iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, 0 );
|
||||
vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & 0b10011111 );
|
||||
vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ;
|
||||
renge_task_immed_add( do_command0 );
|
||||
shirobako_power_control = 240;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -118,11 +118,11 @@
|
||||
// INTP6
|
||||
|
||||
#ifndef _MODEL_CTR_
|
||||
#define SND_DEPOP_ACT P7.6 = 1
|
||||
#define SND_DEPOP_DEACT P7.6 = 0
|
||||
#define SND_DEPOP_SND_MUTE P7.7 = 1
|
||||
#define SND_DEPOP_SND_ENABLE P7.7 = 0
|
||||
#else
|
||||
#define SND_DEPOP_ACT ;
|
||||
#define SND_DEPOP_DEACT ;
|
||||
#define SND_DEPOP_SND_MUTE ;
|
||||
#define SND_DEPOP_SND_ENABLE ;
|
||||
#endif
|
||||
|
||||
// PM
|
||||
@ -194,8 +194,10 @@
|
||||
#endif
|
||||
|
||||
#ifdef _MODEL_CTR_
|
||||
#define I2C_PU_on() { PM14 |= 0x03; P5 |= 0x09; P14 |= 0x03; PM14 &= ~0x03; }
|
||||
#define I2C_PU_off() { PM14 |= 0x03; P5 &= 0x09; }
|
||||
// P5.0 に加え、P5.5, P140 P141
|
||||
// P140が出力専用なので...
|
||||
#define I2C_PU_on() { PM5 |= 0x09; P14 |= 0x03; P5 |= 0x09; PM5 &= ~0x09; }
|
||||
#define I2C_PU_off() { PM5 |= 0x09; P14 &= ~0x03; }
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@ -19,12 +19,8 @@ extern u8 mcu_info_read(); // task_misc.c
|
||||
|
||||
// ********************************************************
|
||||
u8 vreg_ctr[VREG_C_ENDMARK_];
|
||||
|
||||
bit irq_readed; // AAA型のため。
|
||||
|
||||
extern bit update;
|
||||
extern u16 pool[];
|
||||
|
||||
|
||||
// ********************************************************
|
||||
extern task_status_immed tski_firm_update();
|
||||
|
||||
@ -5,10 +5,11 @@ TWL
|
||||
======================================================== */
|
||||
#include "incs.h"
|
||||
#include "jhl_defs.h"
|
||||
#include "led.h"
|
||||
|
||||
#include "vreg_twl.h"
|
||||
|
||||
#include "vreg_ctr.h"
|
||||
#include "renge\renge_task_intval.h"
|
||||
|
||||
// ========================================================
|
||||
#define TWL_REG_VER_INFO 0x35
|
||||
|
||||
@ -116,7 +116,7 @@ void vreg_twl_write( u8 adrs, u8 data );
|
||||
u8 adrs_table_twl_ext2int( u8 img );
|
||||
u8 vreg_twl_read( u8 phy_adrs );
|
||||
|
||||
task_status_immed command_from_twl( );
|
||||
extern task_status_immed command_from_twl( );
|
||||
|
||||
|
||||
// 読んだらクリアなどの処理
|
||||
|
||||
@ -36,9 +36,6 @@ TargetFile=0
|
||||
[BuildMode5]
|
||||
BuildModeName=BSR_WM0
|
||||
TargetFile=0
|
||||
[BuildBefore-AfterCmd]
|
||||
Before1=touch magic.c
|
||||
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
[Options.OC78K0R 0]
|
||||
Version=100
|
||||
O0=.\bsr.hex
|
||||
@ -254,30 +251,6 @@ Version=100
|
||||
LCNV_GO=0
|
||||
E=0
|
||||
CommandFile=0
|
||||
[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=ini_VECT.c
|
||||
Source10=led.c
|
||||
Source11=rtc.c
|
||||
Source12=vreg_ctr.c
|
||||
Source13=vreg_twl.c
|
||||
Source14=adc.c
|
||||
Source15=renge\renge.c
|
||||
Source16=accero.c
|
||||
Source17=self_flash.c
|
||||
Source18=reboot.c
|
||||
Source19=sw.c
|
||||
Source20=task_debug.c
|
||||
Source21=task_misc.c
|
||||
Source22=task_sys.c
|
||||
Source23=pedo_alg_thre_det2.c
|
||||
[Options.LK78K0R 0]
|
||||
Version=100
|
||||
O0=bsr_k0r.lmf
|
||||
@ -539,44 +512,6 @@ DefaultMode2=1
|
||||
DefaultMode3=1
|
||||
DefaultMode4=1
|
||||
DefaultMode5=1
|
||||
[ToolSet]
|
||||
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
|
||||
Tool1=CC78K0R|W2.10
|
||||
Tool2=RA78K0R|W1.31
|
||||
Tool3=ID78K0R-QB|V3.60
|
||||
[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=fsl.h
|
||||
Include15=fsl_user.h
|
||||
Include16=i2c_ctr.h
|
||||
Include17=pm.h
|
||||
Include18=rtc.h
|
||||
Include19=reboot.h
|
||||
Include20=incs.h
|
||||
Include21=accero.h
|
||||
Include22=pedometer.h
|
||||
Include23=adc.h
|
||||
Include24=led.h
|
||||
Include25=batt_params.h
|
||||
Include26=..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
Include27=i2c_twl_defs.h
|
||||
Include28=renge\renge_task_intval.h
|
||||
Include29=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
|
||||
Include30=i2c_twl.h
|
||||
Include31=sw.h
|
||||
Include32=self_flash.h
|
||||
[Options.CC78K0R 0]
|
||||
Version=210
|
||||
Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r
|
||||
@ -1043,3 +978,69 @@ VfiFileBoot0=
|
||||
VfiFileBoot1=boot.vfi
|
||||
VF78K0Rchk=0
|
||||
VF78K0Rvs=
|
||||
[ToolSet]
|
||||
ToolSetName=(•Ï<E280A2>X)78K0R Software Package V1.10
|
||||
Tool1=CC78K0R|W2.10
|
||||
Tool2=RA78K0R|W1.31
|
||||
Tool3=ID78K0R-QB|V3.60
|
||||
[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=ini_VECT.c
|
||||
Source10=led.c
|
||||
Source11=rtc.c
|
||||
Source12=vreg_ctr.c
|
||||
Source13=vreg_twl.c
|
||||
Source14=adc.c
|
||||
Source15=renge\renge.c
|
||||
Source16=accero.c
|
||||
Source17=self_flash.c
|
||||
Source18=sw.c
|
||||
Source19=task_debug.c
|
||||
Source20=task_misc.c
|
||||
Source21=task_sys.c
|
||||
Source22=pedo_alg_thre_det2.c
|
||||
[BuildBefore-AfterCmd]
|
||||
Before1=touch magic.c
|
||||
After1=ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
[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=fsl.h
|
||||
Include15=fsl_user.h
|
||||
Include16=i2c_ctr.h
|
||||
Include17=pm.h
|
||||
Include18=rtc.h
|
||||
Include19=reboot.h
|
||||
Include20=incs.h
|
||||
Include21=accero.h
|
||||
Include22=pedometer.h
|
||||
Include23=adc.h
|
||||
Include24=led.h
|
||||
Include25=batt_params.h
|
||||
Include26=..\..\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
Include27=i2c_twl_defs.h
|
||||
Include28=renge\renge_task_intval.h
|
||||
Include29=..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10\inc78k0r\math.h
|
||||
Include30=i2c_twl.h
|
||||
Include31=sw.h
|
||||
Include32=self_flash.h
|
||||
Include33=pool.h
|
||||
Include34=pedo_lpf_coeff.h
|
||||
|
||||
Loading…
Reference in New Issue
Block a user