mirror of
https://github.com/rvtr/ctr_mcu.git
synced 2025-06-18 16:45:33 -04:00
2.35 のコピー元を間違えた(/trunk(for ctr)から作成してしまった)ので削除。切り直し。
git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@588 013db118-44a6-b54f-8bf7-843cb86687b1
This commit is contained in:
parent
086a98e57f
commit
c3a2dd2624
@ -1,5 +0,0 @@
|
||||
#pragma sfr
|
||||
|
||||
|
||||
#include "incs_loader.h"
|
||||
|
@ -1,20 +0,0 @@
|
||||
#ifndef _WDT_
|
||||
#define _WDT_
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
#define WDT_RESTART_MAGIC 0xAC
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
// ウォッチドッグタイマのリスタート
|
||||
// void WDT_Restart( void );
|
||||
#define WDT_Restart() WDTE = WDT_RESTART_MAGIC
|
||||
|
||||
// 規定値以外を書くと例外でリセットがかかる
|
||||
#define mcu_wdt_reset WDTE = 0x0
|
||||
|
||||
|
||||
#endif
|
@ -1,246 +0,0 @@
|
||||
/* ========================================================
|
||||
加速度センサ関係
|
||||
・データ更新完了でデータを吸い上げ手レジスタを更新、CPUに割り込み
|
||||
・フラグが立っていれば歩数カウント
|
||||
・加速度センサ割り込みからタスクを登録して下さい。(I2Cの競合回避などがあるので)
|
||||
|
||||
======================================================== */
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
#pragma ROT
|
||||
// rorb, rolb, rorw, rolw
|
||||
#pragma MUL
|
||||
#pragma BCD
|
||||
|
||||
|
||||
|
||||
#include "config.h"
|
||||
#ifdef _MCU_BSR_
|
||||
#pragma interrupt INTP23 intp23_ACC_ready RB3 // 加速度センサ、データ準備完了
|
||||
#endif
|
||||
|
||||
|
||||
#include "incs.h"
|
||||
|
||||
#include <math.h>
|
||||
|
||||
// ========================================================
|
||||
// レジスタ名
|
||||
#define ACC_REG_WHOAMI 0x0F
|
||||
#define ACC_REG_CTRL1 0x20
|
||||
#define ACC_REG_CTRL5 0x24
|
||||
#define ACC_REG_X 0x28
|
||||
|
||||
// ビット位置
|
||||
#define ACC_bP_PM0 5
|
||||
#define ACC_bP_DR0 3
|
||||
|
||||
// ビット設定値
|
||||
#define ACC_BITS_PM_PDN 0
|
||||
#define ACC_BITS_PM_NORM 1
|
||||
#define ACC_BITS_PM_LP0R5 2
|
||||
#define ACC_BITS_PM_LP1 3
|
||||
#define ACC_BITS_PM_LP2 4
|
||||
#define ACC_BITS_PM_LP5 5
|
||||
#define ACC_BITS_PM_LP10 6
|
||||
|
||||
#define ACC_BITS_DR_50Hz 0
|
||||
#define ACC_BITS_DR_100Hz 1
|
||||
#define ACC_BITS_DR_400Hz 2
|
||||
#define ACC_BITS_DR_1000Hz 3
|
||||
|
||||
#define ACC_BITS_ALL_AXIS_ON 7
|
||||
|
||||
|
||||
#define VREG_BITMASK_ACC_CONF_ACQ ( 1 << 0 )
|
||||
#define VREG_BITMASK_ACC_CONF_HOSU ( 1 << 1 )
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
task_status tsk_soft_int( );
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
・割り込みを確認してデータを吸い上げ、レジスタに書き出します
|
||||
・本当であればコールバック関数を登録しておけばいいじゃんとなるのですが、
|
||||
I2Cが使用中だったら?とか考えると私ではそこまでできないのです。
|
||||
・自動歩数計とかでも結局
|
||||
======================================================== */
|
||||
task_status_immed tski_cbk_accero( )
|
||||
{ // (疑似)isrから登録されます
|
||||
static u8 err_count;
|
||||
|
||||
// 加速度センサデータレジスタへの反映
|
||||
if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, &vreg_ctr[VREG_C_ACC_XL] )
|
||||
!= ERR_SUCCESS )
|
||||
{
|
||||
err_count += 1;
|
||||
if( err_count < 8 )
|
||||
{
|
||||
// リトライ
|
||||
return( ERR_CONTINUE );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 加速度センサが異常になったので止める
|
||||
vreg_ctr[ VREG_C_ACC_CONFIG ] &= ~( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ );
|
||||
tski_acc_hosu_set();
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_ACCERO_ERR;
|
||||
return ( ERR_FINISED ); // タスクの削除は必要
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
err_count = 0;
|
||||
// 正常時パス //
|
||||
// 加速度更新&割り込み
|
||||
if( (( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_ACQ ) != 0 ) &&
|
||||
( system_status.pwr_state == ON )
|
||||
)
|
||||
{
|
||||
set_irq( VREG_C_IRQ1, REG_BIT_ACC_DAT_RDY );
|
||||
// ゴミデータのカラ読み
|
||||
if( ACC_VALID )
|
||||
{
|
||||
u8 temp[6];
|
||||
iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, temp );
|
||||
}
|
||||
}
|
||||
if(( system_status.pwr_state != OFF )
|
||||
&&( system_status.pwr_state != BT_CHARGE )
|
||||
#ifndef _DBG_PEDO_AUTO_ENABLE_
|
||||
&&( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 )
|
||||
#endif
|
||||
)
|
||||
{
|
||||
pedometer(); // 歩数計
|
||||
}
|
||||
}
|
||||
return ( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*=======================================================
|
||||
加速度センサ透過アクセス リード
|
||||
========================================================*/
|
||||
task_status_immed tski_acc_read( )
|
||||
{
|
||||
vreg_ctr[VREG_C_ACC_W_BUF] = iic_mcu_read_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_R_ADRS] );
|
||||
// vreg_ctr[ VREG_C_ACC_R_BUF ] = iic_mcu_read_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_R_ADRS] );
|
||||
vreg_ctr[VREG_C_IRQ1] |= REG_BIT_ACC_ACK;
|
||||
if( ( vreg_ctr[VREG_C_IRQ_MASK1] & REG_BIT_ACC_ACK ) == 0 )
|
||||
{
|
||||
IRQ0_ast;
|
||||
}
|
||||
return ( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*=========================================================
|
||||
加速度センサ透過アクセス ライト
|
||||
========================================================*/
|
||||
task_status_immed tski_acc_write( )
|
||||
{
|
||||
iic_mcu_write_a_byte( IIC_SLA_ACCEL, vreg_ctr[VREG_C_ACC_W_ADRS], vreg_ctr[VREG_C_ACC_W_BUF] );
|
||||
vreg_ctr[VREG_C_IRQ1] |= REG_BIT_ACC_ACK;
|
||||
if( ( vreg_ctr[VREG_C_IRQ_MASK1] & REG_BIT_ACC_ACK ) == 0 )
|
||||
{
|
||||
IRQ0_ast;
|
||||
}
|
||||
return ( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*=========================================================
|
||||
加速度センサの設定
|
||||
========================================================*/
|
||||
task_status_immed tski_acc_hosu_set( )
|
||||
{
|
||||
u8 str_send_buf[4];
|
||||
|
||||
iic_mcu_read_a_byte( IIC_SLA_ACCEL, ACC_REG_WHOAMI );
|
||||
if( iic_mcu_result == ERR_NOSLAVE )
|
||||
{
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_ACCERO_ERR;
|
||||
return ( ERR_FINISED ); // とりあえず、タスクは削除しなくてはならない
|
||||
}else{
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_ACCERO_ERR;
|
||||
}
|
||||
|
||||
str_send_buf[1] = 0x00; // ctrl2 HPF:normal, filterd, HPF for IRQ : dis/dis, HPF coeff:norm
|
||||
/*
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
// TS Final SoC
|
||||
str_send_buf[2] = 0x02; // 3 IRQ pol :Active HI, Drive:Pushpull,
|
||||
}
|
||||
else
|
||||
{
|
||||
// 実機&派生種、白箱
|
||||
str_send_buf[2] = 0x10; // 3 IRQ pol :Active HI, Drive:Pushpull,
|
||||
}
|
||||
*/
|
||||
str_send_buf[2] = 0b00010010; // 面倒なので両方...。
|
||||
str_send_buf[3] = 0x80; // ctrl3 block update:enable, MSB first, scale: +-2G(default), selftest: dis
|
||||
|
||||
if( ( vreg_ctr[VREG_C_ACC_CONFIG] &
|
||||
( VREG_BITMASK_ACC_CONF_HOSU | VREG_BITMASK_ACC_CONF_ACQ ) ) == 0 )
|
||||
{
|
||||
PMK23 = 1;
|
||||
// 完全停止
|
||||
str_send_buf[0] =
|
||||
( ACC_BITS_PM_PDN << ACC_bP_PM0 | 0 << ACC_bP_DR0 | ACC_BITS_ALL_AXIS_ON );
|
||||
}
|
||||
else
|
||||
{
|
||||
PMK23 = 0;
|
||||
// 100Hz 自動取り込み
|
||||
str_send_buf[0] =
|
||||
( ACC_BITS_PM_NORM << ACC_bP_PM0
|
||||
| ACC_BITS_DR_100Hz << ACC_bP_DR0
|
||||
| ACC_BITS_ALL_AXIS_ON );
|
||||
}
|
||||
iic_mcu_write( IIC_SLA_ACCEL, ( ACC_REG_CTRL1 | 0x80 ), 4, str_send_buf );
|
||||
|
||||
// カラ読み
|
||||
if( ACC_VALID )
|
||||
{
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
u8 temp[6];
|
||||
iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, temp );
|
||||
}
|
||||
}
|
||||
return ( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
加速度センサ割り込み
|
||||
I2Cが使用中かもしれないので、読み出しタスクの登録を行うのみ
|
||||
======================================================== */
|
||||
__interrupt void intp23_ACC_ready( )
|
||||
{
|
||||
EI();
|
||||
if( ( vreg_ctr[VREG_C_ACC_CONFIG] & 0x03 ) != 0x00 )
|
||||
{
|
||||
if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) )
|
||||
{
|
||||
if( ACC_VALID )
|
||||
{
|
||||
renge_task_immed_add( tski_cbk_accero );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
#ifndef _accero_
|
||||
#define _accero_
|
||||
|
||||
|
||||
#include "jhl_defs.h"
|
||||
#include "pedometer.h"
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
task_status_immed tski_cbk_accero( );
|
||||
task_status_immed tski_acc_hosu_set( );
|
||||
|
||||
|
||||
#endif
|
@ -1,591 +0,0 @@
|
||||
/* ========================================================
|
||||
藤田@開技
|
||||
nintendo
|
||||
'09 Apr
|
||||
======================================================== */
|
||||
#include "incs.h"
|
||||
#include "adc.h"
|
||||
#include "pm.h"
|
||||
|
||||
#include "led.h"
|
||||
|
||||
#include "vreg_twl.h"
|
||||
|
||||
#define _10db_
|
||||
#include "voltable.h"
|
||||
|
||||
|
||||
// ===================================================== //
|
||||
bit adc_updated;
|
||||
bit vol_changed_by_ctr;
|
||||
bit vol_changed_by_twl;
|
||||
u8 vol_old;
|
||||
|
||||
|
||||
u8 adc_raw_vol;
|
||||
u8 adc_raw_dep;
|
||||
|
||||
u8 vol_polling;
|
||||
|
||||
|
||||
|
||||
typedef struct filter_work
|
||||
{
|
||||
u8* value_used;
|
||||
s8 diffs; // KIKAN中の偏り具合
|
||||
s8 kikan;
|
||||
u8 large_diff_count;
|
||||
}filter_work;
|
||||
|
||||
|
||||
filter_work work_vr_3d = {
|
||||
&vreg_ctr[ VREG_C_TUNE ]
|
||||
};
|
||||
|
||||
|
||||
u8 vol_data_ctr;
|
||||
u8 vol_data_ctr_tmp;
|
||||
filter_work work_vr_vol = {
|
||||
&vol_data_ctr_tmp
|
||||
};
|
||||
|
||||
|
||||
// twl の8段階volのリニア値からの境界
|
||||
/*
|
||||
twl内の32 -> 8 テーブル
|
||||
0~1,~4,~8,~13,~18,~23,~28,31
|
||||
*/
|
||||
const u8 TWL_VOL_BOUNDARY[] = {
|
||||
1, 4, 8, 13, 18, 23, 28, 31
|
||||
};
|
||||
|
||||
// ===================================================== //
|
||||
extern void nop8();
|
||||
static void adc_filter( u8 new_val, filter_work* work );
|
||||
static u8 adc_scaling( u8 );
|
||||
|
||||
|
||||
|
||||
// ===================================================== //
|
||||
#define INTERVAL_TSK_ADC 15
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ADC設定と、開始
|
||||
|
||||
以下のピンは主にここで操作・監視されます。
|
||||
・BT_TEMP,_P
|
||||
・ADIN1
|
||||
・VOL
|
||||
|
||||
関係ありそうですが別のところで管理しています
|
||||
・PM_BT_DET,_P BT_chk
|
||||
======================================================== */
|
||||
void tsk_adc( )
|
||||
{
|
||||
static u8 old_tune;
|
||||
static u8 sndvol_codec;
|
||||
static u8 bt_temp_old;
|
||||
|
||||
if( adc_updated )
|
||||
{
|
||||
adc_updated = false;
|
||||
|
||||
// 3D /////////////////////////////////////////
|
||||
vreg_ctr[ VREG_C_TUNE ] = adc_raw_dep; // 生値
|
||||
|
||||
// Volume /////////////////////////////////////
|
||||
{
|
||||
vreg_ctr[ VREG_C_VOL_ADC_RAW ] = adc_raw_vol;
|
||||
|
||||
adc_filter( adc_scaling( adc_raw_vol ), &work_vr_vol ); // 結果は*work_vr_volから指されるvol_data_ctr 読みにくい...
|
||||
vol_data_ctr = vol_data_ctr_tmp / 4;
|
||||
|
||||
if( vol_old != vol_data_ctr )
|
||||
{
|
||||
vol_changed_by_ctr = true;
|
||||
vol_old = vol_data_ctr;
|
||||
vol_polling = 3;
|
||||
// renge_task_immed_add( tski_vol_update ); ↓で登録
|
||||
}
|
||||
}
|
||||
|
||||
// バッテリ識別 ///////////////////////////
|
||||
/* 呼ばれません */
|
||||
}
|
||||
|
||||
// 書き忘れがあるといやなのでポーリング orz
|
||||
if( vol_polling < 5 )
|
||||
{
|
||||
renge_task_immed_add( tski_vol_update );
|
||||
vol_polling = 200 / SYS_INTERVAL_TICK + 5; // 5回/sec
|
||||
}
|
||||
vol_polling -= 1;
|
||||
|
||||
|
||||
ADCEN = 1;
|
||||
ADM = 0b00001011; // セレクトモード、昇圧、fCLK/6 ///ここから ↓
|
||||
|
||||
ADPC = 0x06; // ADCポートのセレクト
|
||||
ADS = ADC_SEL_TUNE;
|
||||
nop8();
|
||||
ADCS = 1; // AD開始。 /// ここまで ↑ までに1us=8clk以上開ける
|
||||
|
||||
ADIF = 0;
|
||||
ADMK = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void vol_reset()
|
||||
{
|
||||
vol_old = vol_data_ctr;
|
||||
vreg_ctr[ VREG_C_SND_VOL ] = vol_data_ctr; // 64段
|
||||
}
|
||||
|
||||
|
||||
/* ========================================================
|
||||
Volを更新します。
|
||||
こんな時に登録されます。
|
||||
・ユーザーがVolスライダを動かした
|
||||
・Horizonに強制更新を指示された (codecリセット時)
|
||||
・TWLアプリがVolをいじった
|
||||
======================================================== */
|
||||
task_status_immed tski_vol_update()
|
||||
{
|
||||
static u8 sent_index, sent_index_slider, sent_index_twl;
|
||||
static u8 sent_data;
|
||||
static bit last_modifyer_is_twl; // 0 = ctr
|
||||
|
||||
if( !( system_status.pwr_state == ON ) ||
|
||||
( system_status.pwr_state == SLEEP )){
|
||||
return( ERR_FINISED );
|
||||
}
|
||||
|
||||
// どの音量にするの? //
|
||||
if( vreg_ctr[ VREG_C_VOL_OPTION ] & ( REG_BIT_VOL_UPDATE_TO_SLIDER ) )
|
||||
{
|
||||
// 最優先 スライダに上書き
|
||||
sent_index = vol_data_ctr;
|
||||
vreg_ctr[ VREG_C_VOL_OPTION ] &= ~REG_BIT_VOL_UPDATE_TO_SLIDER;
|
||||
}
|
||||
else if( vol_changed_by_ctr )
|
||||
{
|
||||
// スライダ
|
||||
vol_changed_by_ctr = false;
|
||||
last_modifyer_is_twl = false;
|
||||
if( vreg_ctr[ VREG_C_VOL_OPTION ] & REG_BIT_VOL_FORCE_REG )
|
||||
{
|
||||
// レジスタから強制セット
|
||||
sent_index_slider = vreg_ctr[ VREG_C_VOL_DIGITAL ];
|
||||
}
|
||||
else
|
||||
{
|
||||
sent_index_slider = vol_data_ctr; // CTRスライダ
|
||||
}
|
||||
sent_index = sent_index_slider;
|
||||
}
|
||||
else if( vol_changed_by_twl )
|
||||
{
|
||||
// TWLアプリ
|
||||
vol_changed_by_twl = false;
|
||||
last_modifyer_is_twl = true;
|
||||
if( vreg_twl[ REG_TWL_INT_ADRS_VOL ] == 0 )
|
||||
{
|
||||
sent_index_twl = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
sent_index_twl = vreg_twl[ REG_TWL_INT_ADRS_VOL ] *2 +1;
|
||||
}
|
||||
sent_index = sent_index_twl;
|
||||
}
|
||||
else
|
||||
{
|
||||
// force_sliderを0にしたとき & 書きまくるとき
|
||||
// スライダかTWLの最後にセットした方をセット
|
||||
if( last_modifyer_is_twl )
|
||||
{
|
||||
sent_index = sent_index_twl;
|
||||
}
|
||||
else
|
||||
{
|
||||
sent_index = sent_index_slider;
|
||||
}
|
||||
}
|
||||
|
||||
// レジスタの更新 //
|
||||
vreg_ctr[ VREG_C_SND_VOL ] = sent_index;
|
||||
// スケーリング
|
||||
// if( sent_index == 1 )
|
||||
if( sent_index == 0 )
|
||||
{
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 0;
|
||||
}
|
||||
else if( sent_index <= 4 )
|
||||
{
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = sent_index/2 ;
|
||||
}
|
||||
|
||||
// 8段階のレベル化。 割り込みを入れるのに必要
|
||||
{
|
||||
static u8 vol_twl_old;
|
||||
|
||||
if( vol_twl_old != vreg_twl[ REG_TWL_INT_ADRS_VOL ] )
|
||||
{
|
||||
// 8段レベルに変換
|
||||
u8 new_level = 31;
|
||||
u8 i;
|
||||
|
||||
vol_twl_old = vreg_twl[ REG_TWL_INT_ADRS_VOL ];
|
||||
|
||||
for( i=0; i<=7; i++ )
|
||||
{
|
||||
if( vreg_twl[ REG_TWL_INT_ADRS_VOL ] <= TWL_VOL_BOUNDARY[ i ] )
|
||||
{
|
||||
new_level = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
vol_level_twl = new_level;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// CODECに書きに行く?
|
||||
if( vreg_ctr[ VREG_C_VOL_OPTION ] & REG_BIT_VOL_BY_SPI )
|
||||
{
|
||||
return( ERR_FINISED );
|
||||
// by SPI ならここまででおしまい //
|
||||
}
|
||||
|
||||
// codecに伝える
|
||||
/// 同値でも書く
|
||||
iic_mcu_write_a_byte_codec( CODEC_REG_VOL, slider_to_codec[ sent_index ] );
|
||||
|
||||
// set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 割り込み廃止
|
||||
return( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
過去3つのminでもMAXでもない値を返す
|
||||
突発的なノイズを除く。
|
||||
運が悪いと振動するよ
|
||||
======================================================== */
|
||||
static u8 getmean3( u8 * hist )
|
||||
{
|
||||
if( *hist > *( hist + 1 ) )
|
||||
{
|
||||
if( *hist > *( hist + 2 ) )
|
||||
{
|
||||
return( ( *( hist + 1 ) > *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
return( *hist );
|
||||
}
|
||||
}else{
|
||||
if( *hist > *( hist + 2 ) )
|
||||
{
|
||||
return( *hist );
|
||||
}
|
||||
else
|
||||
{
|
||||
return( ( *( hist + 1 ) < *( hist + 2 ) ) ? *( hist + 1 ) : *( hist + 2 ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
自前で次のチャンネル
|
||||
一通り終わったら止める
|
||||
======================================================== */
|
||||
__interrupt void int_adc( )
|
||||
{
|
||||
static u8 hist_tune[3];
|
||||
static u8 hist_snd_vol[3];
|
||||
static u8 hist_bt_temp[3];
|
||||
static u8 index;
|
||||
|
||||
volatile u8 adc_data;
|
||||
|
||||
adc_data = ADCRH;
|
||||
|
||||
switch ( ADS )
|
||||
{
|
||||
/*
|
||||
case ( ADC_SEL_AMB_BRIT ): // 環境明るさ
|
||||
vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data;
|
||||
break;
|
||||
*/
|
||||
|
||||
case ( ADC_SEL_TUNE ):
|
||||
EI();
|
||||
adc_raw_dep = adc_data;
|
||||
break;
|
||||
|
||||
case ( ADC_SEL_VOL ):
|
||||
EI();
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
adc_raw_vol = adc_data;
|
||||
}
|
||||
else
|
||||
{
|
||||
adc_raw_vol = 255 - adc_data;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ( ADC_SEL_BATT_TEMP ):
|
||||
EI();
|
||||
raw_adc_temperature = adc_data;
|
||||
#ifdef _DEBUG_BT_TEMP_
|
||||
if( vreg_ctr[ VREG_C_COMMAND3 ] == 't' )
|
||||
{
|
||||
raw_adc_temperature = vreg_ctr[ VREG_C_DBG01 ];
|
||||
}
|
||||
#endif
|
||||
|
||||
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
|
||||
(( system_status.pwr_state == ON ) ||
|
||||
( system_status.pwr_state == SLEEP )
|
||||
)
|
||||
)
|
||||
{
|
||||
renge_task_immed_add( tski_BT_temp_update );
|
||||
}
|
||||
break;
|
||||
|
||||
/* 呼ばれません
|
||||
case ( ADC_SEL_BATT_DET ):
|
||||
break;
|
||||
*/
|
||||
}
|
||||
|
||||
// もっとまともな書き方がありそうだ
|
||||
if( ADS < ADC_SEL_BATT_DET )
|
||||
{
|
||||
ADS += 1; // 次のチャンネル
|
||||
}
|
||||
else
|
||||
{
|
||||
ADCEN = 0; // 止めてしまう
|
||||
adc_updated = true;
|
||||
index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス
|
||||
}
|
||||
ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
tsk_adcと競合することを考慮していません。
|
||||
======================================================== */
|
||||
u8 get_adc( u8 ch )
|
||||
{
|
||||
u8 temp;
|
||||
|
||||
ADMK = 1;
|
||||
ADIF = 0;
|
||||
|
||||
ADCEN = 1;
|
||||
ADM = 0b00001011; // セレクトモード、昇圧、fCLK/6 ///ここから↓
|
||||
|
||||
ADPC = 0x06; // ADCポートのセレクト
|
||||
ADS = ch;
|
||||
|
||||
nop8();
|
||||
|
||||
ADCS = 1; // AD開始。 /// ここまで↑ に、1us以上開ける
|
||||
|
||||
ADIF = 0;
|
||||
while( ADIF == 0 ){;}
|
||||
temp = ADCRH;
|
||||
ADCEN = 0;
|
||||
|
||||
ADMK = 0;
|
||||
return ( temp );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
VRの可動範囲を考えてスケーリング
|
||||
|
||||
音量Vol専用 使い回すならそのときどうにかする
|
||||
======================================================== */
|
||||
static u8 adc_scaling( u8 orig_val )
|
||||
{
|
||||
u16 temp;
|
||||
|
||||
if( orig_val <= vreg_ctr[ VREG_C_VOL_CAL_MIN ] )
|
||||
{
|
||||
return( 0 );
|
||||
}
|
||||
if( orig_val >= vreg_ctr[ VREG_C_VOL_CAL_MAX ] )
|
||||
{
|
||||
return( 255 );
|
||||
}
|
||||
|
||||
temp = (u16)(( orig_val - vreg_ctr[ VREG_C_VOL_CAL_MIN ] ) * 256 ) / ( vreg_ctr[ VREG_C_VOL_CAL_MAX ] - vreg_ctr[ VREG_C_VOL_CAL_MIN ] );
|
||||
if( temp > 255 )
|
||||
{
|
||||
temp = 255;
|
||||
}
|
||||
|
||||
return( (u8)( temp & 0xFF ) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
似非ヒステリシス V2
|
||||
四捨五入的な動きします
|
||||
======================================================== */
|
||||
#define KIKAN 16
|
||||
static void adc_filter( u8 new_val, filter_work *work )
|
||||
{
|
||||
u8 temp;
|
||||
if( abs( new_val - *( work -> value_used )) > 2 )
|
||||
{
|
||||
// 大きく離れた
|
||||
work -> large_diff_count += 1;
|
||||
if( work -> large_diff_count > 16 )
|
||||
{
|
||||
*( work -> value_used ) = new_val;
|
||||
work -> diffs = 0;
|
||||
work -> kikan = KIKAN;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
work -> large_diff_count = 0;
|
||||
// 近所の値でも、ある期間でいっぱい偏っていたらそっちに寄せる
|
||||
if( *( work -> value_used ) < new_val )
|
||||
{
|
||||
work -> diffs += 1;
|
||||
}
|
||||
else if( *( work -> value_used ) > new_val )
|
||||
{
|
||||
work -> diffs -= 1;
|
||||
}
|
||||
|
||||
if( --( work -> kikan ) == 0 )
|
||||
{
|
||||
if( ( work -> diffs ) == KIKAN )
|
||||
// if( ( work -> diffs ) > (s8)( KIKAN * 0.8 ) )
|
||||
{
|
||||
*( work -> value_used ) = *( work -> value_used ) + 1;
|
||||
}
|
||||
else if( ( work -> diffs ) == ( -1 * KIKAN ) )
|
||||
// else if( ( work -> diffs ) < (s8)( -1 * KIKAN * 0.8 ) )
|
||||
{
|
||||
*( work -> value_used ) = *( work -> value_used ) - 1;
|
||||
}
|
||||
work -> diffs = 0;
|
||||
work -> kikan = KIKAN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
// getmean使用 //
|
||||
__interrupt void int_adc( )
|
||||
{
|
||||
static u8 hist_tune[3];
|
||||
static u8 hist_snd_vol[3];
|
||||
static u8 hist_bt_temp[3];
|
||||
static u8 index;
|
||||
|
||||
volatile u8 adc_data;
|
||||
|
||||
adc_data = ADCRH;
|
||||
|
||||
switch ( ADS )
|
||||
{
|
||||
/*
|
||||
case ( ADC_SEL_AMB_BRIT ): // 環境明るさ
|
||||
vreg_ctr[ VREG_C_AMBIENT_BRIGHTNESS ] = adc_data;
|
||||
break;
|
||||
*/
|
||||
|
||||
case ( ADC_SEL_TUNE ):
|
||||
hist_tune[index] = adc_data;
|
||||
EI();
|
||||
#ifdef _MODEL_WM0_
|
||||
adc_raw_dep = 255 - getmean3( hist_tune );
|
||||
#else
|
||||
adc_raw_dep = getmean3( hist_tune );
|
||||
#endif
|
||||
break;
|
||||
|
||||
case ( ADC_SEL_VOL ):
|
||||
hist_snd_vol[index] = adc_data;
|
||||
EI();
|
||||
#ifdef _MODEL_CTR_
|
||||
if( system_status.model == MODEL_TS_BOARD )
|
||||
{
|
||||
adc_raw_vol = getmean3( hist_snd_vol );
|
||||
}
|
||||
else
|
||||
{
|
||||
adc_raw_vol = ( 255 - getmean3( hist_snd_vol ));
|
||||
}
|
||||
#else
|
||||
adc_raw_vol = getmean3( hist_snd_vol );
|
||||
#endif
|
||||
|
||||
break;
|
||||
|
||||
case ( ADC_SEL_BATT_TEMP ):
|
||||
hist_bt_temp[index] = adc_data;
|
||||
EI();
|
||||
raw_adc_temperature = getmean3( hist_bt_temp );
|
||||
if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_GASGAUGE_ERR ) == 0 ) &&
|
||||
(( system_status.pwr_state == ON ) ||
|
||||
( system_status.pwr_state == SLEEP )
|
||||
)
|
||||
)
|
||||
{
|
||||
renge_task_immed_add( tski_BT_temp_update );
|
||||
}
|
||||
break;
|
||||
/* 呼ばれません
|
||||
case ( ADC_SEL_BATT_DET ):
|
||||
break;
|
||||
*/
|
||||
}
|
||||
|
||||
// もっとまともな書き方がありそうだ
|
||||
if( ADS < ADC_SEL_BATT_DET )
|
||||
{
|
||||
ADS += 1; // 次のチャンネル
|
||||
ADIF = 0; // ←これをしないと、いっこ前のチャンネルのデータの完了で直後に割り込む可能性がある
|
||||
}
|
||||
else
|
||||
{
|
||||
ADCEN = 0; // 止めてしまう
|
||||
adc_updated = true;
|
||||
index = ( index == 2 ) ? 0 : ( index + 1 ); // ノイズ取りの配列インデックス
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -1,47 +0,0 @@
|
||||
#ifndef __adc__
|
||||
#define __adc__
|
||||
|
||||
#include "jhl_defs.h"
|
||||
|
||||
///////////////////////////////////////
|
||||
// ANI2 P22
|
||||
#define ADC_SEL_AMB_BRIT 0x02
|
||||
|
||||
/*
|
||||
// ANI3 P23
|
||||
#define ADC_SEL_GYRO_YAW 0x03
|
||||
// ANI4 P24
|
||||
#define ADC_SEL_GYRO_PITCH 0x04
|
||||
// ANI5 P25
|
||||
#define ADC_SEL_GYRO_ROLL 0x05
|
||||
*/
|
||||
|
||||
// ANI6 P26
|
||||
#define ADC_SEL_TUNE 0x06
|
||||
// ANI7 P27
|
||||
#define ADC_SEL_VOL 0x07
|
||||
|
||||
// ANI8 P150
|
||||
#define ADC_SEL_BATT_TEMP 0x08
|
||||
// ANI9 P151
|
||||
#define ADC_SEL_BATT_DET 0x09
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////
|
||||
#define CODEC_REG_VOL 0x13
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////
|
||||
extern u8 vol_polling;
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////
|
||||
u8 get_adc( u8 ch );
|
||||
void vol_reset();
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -1,129 +0,0 @@
|
||||
#ifndef _bt_params_h_
|
||||
#define _bt_params_h_
|
||||
|
||||
/* ========================================================
|
||||
各社バッテリーパラメータ
|
||||
======================================================== */
|
||||
const u8 BT_PARAM[][64] = {
|
||||
// ID = 0 GND マクセル
|
||||
{
|
||||
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
|
||||
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
|
||||
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
|
||||
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
|
||||
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
|
||||
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
|
||||
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
|
||||
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
|
||||
},
|
||||
{ // ID = 1 120 ohm (ダミーでマクセル)
|
||||
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
|
||||
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
|
||||
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
|
||||
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
|
||||
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
|
||||
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
|
||||
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
|
||||
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
|
||||
},
|
||||
{ // ID = 2 360 hom (ダミーでマクセル)
|
||||
0xAE, 0xF0, 0xB4, 0x30, 0xB7, 0x40, 0xBA, 0x30,
|
||||
0xBB, 0x50, 0xBB, 0xB0, 0xBC, 0x50, 0xBD, 0x10,
|
||||
0xBD, 0x60, 0xBD, 0xB0, 0xBF, 0xE0, 0xC2, 0xB0,
|
||||
0xC4, 0x20, 0xC7, 0xB0, 0xCA, 0xE0, 0xCE, 0x10,
|
||||
0x01, 0xF0, 0x14, 0x10, 0x14, 0x20, 0x06, 0x30,
|
||||
0x63, 0x90, 0x49, 0x00, 0x6E, 0x00, 0x77, 0x70,
|
||||
0x7B, 0x00, 0x19, 0x00, 0x19, 0x00, 0x17, 0xF0,
|
||||
0x1C, 0x60, 0x12, 0x00, 0x12, 0x00, 0x12, 0x00
|
||||
},
|
||||
{ // ID = 3 750 ohm (ダミーでパナ)
|
||||
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
|
||||
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
|
||||
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
|
||||
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
|
||||
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
|
||||
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
|
||||
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
|
||||
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
|
||||
},
|
||||
{ // ID = 4 1.3kohm (ダミーでパナ)
|
||||
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
|
||||
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
|
||||
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
|
||||
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
|
||||
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
|
||||
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
|
||||
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
|
||||
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
|
||||
},
|
||||
{ // ID = 5 2.7kohm パナ
|
||||
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
|
||||
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
|
||||
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
|
||||
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
|
||||
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
|
||||
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
|
||||
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
|
||||
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
|
||||
},
|
||||
{ // ID = 6 8.2kohm (ダミーでパナ)
|
||||
0x8C, 0x30, 0x9C, 0x10, 0xA5, 0xE0, 0xB0, 0x40,
|
||||
0xB1, 0xC0, 0xB2, 0x00, 0xB2, 0x50, 0xB3, 0x10,
|
||||
0xB4, 0x90, 0xB6, 0x20, 0xB8, 0x60, 0xBA, 0x50,
|
||||
0xBF, 0xA0, 0xC6, 0xB0, 0xCE, 0x90, 0xD0, 0x20,
|
||||
0x00, 0x20, 0x00, 0x20, 0x00, 0x20, 0x00, 0x20,
|
||||
0x7B, 0x30, 0x68, 0x60, 0x20, 0x00, 0x17, 0x00,
|
||||
0x17, 0x30, 0x12, 0xF0, 0x0D, 0xE0, 0x07, 0xF0,
|
||||
0x07, 0x00, 0x09, 0x30, 0x01, 0xC0, 0x01, 0xC0
|
||||
}
|
||||
// ID = 7 白箱
|
||||
/// パラメータ無し
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct _st_bt_comp
|
||||
{
|
||||
unsigned char rcomp;
|
||||
signed short temp_co_up; // 256倍したものを入れとく
|
||||
signed short temp_co_dn; // 〃
|
||||
} st_bt_comp;
|
||||
|
||||
|
||||
// 電池残量補正パラメータ
|
||||
const st_bt_comp BT_COMP[] = {
|
||||
// rcomp R_co_up R_co_down
|
||||
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // maxell
|
||||
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M )
|
||||
{ 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, // dummy(M )
|
||||
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
|
||||
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // dummy( P)
|
||||
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, // panasonic
|
||||
{ 171, (u8)(-256* 1.00), (u8)(-256* 2.60) } // dummy( P)
|
||||
};
|
||||
|
||||
|
||||
const u16 BT_OCV[] = {
|
||||
{ 0xD800 }, { 0xD800 }, { 0xD800 }, // maxell, dummy, dummy,
|
||||
{ 0xDA20 }, { 0xDA20 }, { 0xDA20 }, { 0xDA20 } // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
const u8 BT_VERIFY_H[] = {
|
||||
0xEA, 0xEA, 0xEA, // maxell, dummy, dummy,
|
||||
0x69, 0x69, 0x69, 0x69 // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
const u8 BT_VERIFY_L[] = {
|
||||
0xE8, 0xE8, 0xE8, // maxell, dummy, dummy,
|
||||
0x67, 0x67, 0x67, 0x67 // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
const u8 BT_RCOMP_SCALE[] = {
|
||||
2, 2, 2, // maxell, dummy, dummy,
|
||||
1, 1, 1, 1 // dummy, dummy, panaso, dummy
|
||||
};
|
||||
|
||||
|
||||
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,654 +0,0 @@
|
||||
|
||||
|
||||
|
||||
78K0R Linker W1.31 Date:18 Nov 2010 Page: 1
|
||||
|
||||
Command: -yC:\Program Files\NEC Electronics Tools\DEV -_msgoff -obsr.l
|
||||
mf ..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.10
|
||||
\lib78k0r\s0rm.rel -gi1B339499E033F240BFAAh -pbsr_k0r.map -nk
|
||||
d -gb7EFBFFh -bC:\Program Files\NEC Electronics Tools\FSL78K0
|
||||
R_Type02ES\V1.20\lib78k0r\fsl.lib -bcl0rdm.lib -bcl0rm.lib -b
|
||||
cl0rmf.lib -iC:\Program Files\NEC Electronics Tools\CC78K0R\W
|
||||
2.10\lib78k0r -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.r
|
||||
el main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel
|
||||
rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.r
|
||||
el self_flash.rel sw.rel task_debug.rel task_misc.rel task_sy
|
||||
s.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel
|
||||
Para-file:
|
||||
Out-file: bsr.lmf
|
||||
Map-file: bsr_k0r.map
|
||||
Direc-file:bsr_mcu.dr
|
||||
|
||||
|
||||
*** Link information ***
|
||||
|
||||
64 output segment(s)
|
||||
3EC7H byte(s) real data
|
||||
5418 symbol(s) defined
|
||||
|
||||
|
||||
*** Memory map ***
|
||||
|
||||
|
||||
SPACE=REGULAR
|
||||
|
||||
MEMORY=BCL0
|
||||
BASE ADDRESS=00000H SIZE=01000H
|
||||
OUTPUT INPUT INPUT BASE SIZE
|
||||
SEGMENT SEGMENT MODULE ADDRESS
|
||||
@@VECT00 00000H 00002H CSEG AT
|
||||
@@VECT00 @cstart 00000H 00002H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL loader 00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL main 00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL WDT 00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL i2c_mcu 00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL self_flash
|
||||
00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL task_debug
|
||||
00002H 00000H
|
||||
LDR_CNSL 00002H 00000H CSEG PAGE64KP
|
||||
LDR_CNSL task_status
|
||||
00002H 00000H
|
||||
* gap * 00002H 0000EH
|
||||
@@VECT10 00010H 00004H CSEG AT
|
||||
@@VECT10 ini_VECT 00010H 00004H
|
||||
* gap * 00014H 00008H
|
||||
@@VECT1C 0001CH 00002H CSEG AT
|
||||
@@VECT1C ini_VECT 0001CH 00002H
|
||||
* gap * 0001EH 00006H
|
||||
@@VECT24 00024H 00002H CSEG AT
|
||||
@@VECT24 ini_VECT 00024H 00002H
|
||||
* gap * 00026H 00004H
|
||||
@@VECT2A 0002AH 00002H CSEG AT
|
||||
@@VECT2A i2c_twl 0002AH 00002H
|
||||
* gap * 0002CH 00008H
|
||||
@@VECT34 00034H 00008H CSEG AT
|
||||
@@VECT34 ini_VECT 00034H 00008H
|
||||
* gap * 0003CH 0000EH
|
||||
@@VECT4A 0004AH 00002H CSEG AT
|
||||
@@VECT4A ini_VECT 0004AH 00002H
|
||||
* gap * 0004CH 0000EH
|
||||
@@VECT5A 0005AH 00002H CSEG AT
|
||||
@@VECT5A i2c_ctr 0005AH 00002H
|
||||
* gap * 0005CH 00006H
|
||||
@@VECT62 00062H 00002H CSEG AT
|
||||
@@VECT62 accero 00062H 00002H
|
||||
* gap * 00064H 0005CH
|
||||
?CSEGOB0 000C0H 00004H CSEG OPT_BYTE
|
||||
@@CODE 000C4H 00000H CSEG BASE
|
||||
@@CODE magic 000C4H 00000H
|
||||
@@CODE ini_VECT 000C4H 00000H
|
||||
LDR_CODL 000C4H 00000H CSEG
|
||||
LDR_CODL loader 000C4H 00000H
|
||||
LDR_CODL main 000C4H 00000H
|
||||
LDR_CODL WDT 000C4H 00000H
|
||||
LDR_CODL i2c_mcu 000C4H 00000H
|
||||
LDR_CODL self_flash
|
||||
000C4H 00000H
|
||||
LDR_CODL task_debug
|
||||
000C4H 00000H
|
||||
LDR_CODL task_status
|
||||
000C4H 00000H
|
||||
?CSEGSI 000C4H 0000AH CSEG
|
||||
LDR_CODE 000CEH 00936H CSEG
|
||||
LDR_CODE loader 000CEH 001F9H
|
||||
LDR_CODE main 002C7H 00046H
|
||||
LDR_CODE WDT 0030DH 00000H
|
||||
LDR_CODE i2c_mcu 0030DH 002F0H
|
||||
LDR_CODE self_flash
|
||||
005FDH 0037FH
|
||||
LDR_CODE task_debug
|
||||
0097CH 00000H
|
||||
LDR_CODE task_status
|
||||
0097CH 00088H
|
||||
FSL_CODE 00A04H 00322H CSEG
|
||||
FSL_CODE fsl_block_cmd
|
||||
00A04H 0002BH
|
||||
FSL_CODE fsl_block_check
|
||||
00A2FH 00013H
|
||||
FSL_CODE fsl_common
|
||||
00A42H 0014FH
|
||||
FSL_CODE fsl_reset
|
||||
00B91H 00001H
|
||||
FSL_CODE fsl_si_ibf
|
||||
00B92H 00064H
|
||||
FSL_CODE fsl_phySwap
|
||||
00BF6H 0004DH
|
||||
FSL_CODE fsl_si_common
|
||||
00C43H 00061H
|
||||
FSL_CODE fsl_swap 00CA4H 00030H
|
||||
FSL_CODE fsl_write
|
||||
00CD4H 00052H
|
||||
@@LCODE 00D26H 0029BH CSEG
|
||||
@@LCODE @cstart 00D26H 0006DH
|
||||
@@LCODE @imul 00D93H 00011H
|
||||
@@LCODE @lumul 00DA4H 0002BH
|
||||
@@LCODE @isdiv 00DCFH 00022H
|
||||
@@LCODE @iudiv 00DF1H 0002DH
|
||||
@@LCODE @isrem 00E1EH 00021H
|
||||
@@LCODE @iurem 00E3FH 0002FH
|
||||
@@LCODE @lsdiv 00E6EH 00039H
|
||||
@@LCODE @ludiv 00EA7H 0003FH
|
||||
@@LCODE @divuw 00EE6H 00034H
|
||||
@@LCODE @ladd 00F1AH 0000FH
|
||||
@@LCODE @llsh 00F29H 0001BH
|
||||
@@LCODE @lursh 00F44H 0001FH
|
||||
@@LCODE @iscmp 00F63H 0000CH
|
||||
@@LCODE @lband 00F6FH 00014H
|
||||
@@LCODE @bcdtob 00F83H 0001AH
|
||||
@@LCODE @bbcd 00F9DH 00024H
|
||||
* gap * 00FC1H 00035H
|
||||
MGC_LOAD 00FF6H 0000AH CSEG AT
|
||||
MGC_LOAD magic 00FF6H 0000AH
|
||||
|
||||
MEMORY=ROM
|
||||
BASE ADDRESS=02000H SIZE=03000H
|
||||
OUTPUT INPUT INPUT BASE SIZE
|
||||
SEGMENT SEGMENT MODULE ADDRESS
|
||||
MGC_MIMI 02000H 0000AH CSEG AT
|
||||
MGC_MIMI magic 02000H 0000AH
|
||||
@@CNST 0200AH 002CEH CSEG
|
||||
@@CNST @cstart 0200AH 00000H
|
||||
@@CNST loader 0200AH 00000H
|
||||
@@CNST pm 0200AH 0021AH
|
||||
@@CNST i2c_ctr 02224H 00000H
|
||||
@@CNST main 02224H 00000H
|
||||
@@CNST magic 02224H 00000H
|
||||
@@CNST WDT 02224H 00000H
|
||||
@@CNST i2c_mcu 02224H 00000H
|
||||
@@CNST i2c_twl 02224H 00000H
|
||||
@@CNST led 02224H 00020H
|
||||
@@CNST rtc 02244H 00000H
|
||||
@@CNST vreg_ctr 02244H 00000H
|
||||
@@CNST vreg_twl 02244H 00000H
|
||||
@@CNST adc 02244H 00048H
|
||||
@@CNST renge 0228CH 00000H
|
||||
@@CNST accero 0228CH 00000H
|
||||
@@CNST self_flash
|
||||
0228CH 00002H
|
||||
@@CNST sw 0228EH 00000H
|
||||
@@CNST task_debug
|
||||
0228EH 00000H
|
||||
@@CNST task_misc
|
||||
0228EH 00000H
|
||||
@@CNST task_sys 0228EH 00000H
|
||||
@@CNST pedo_alg_thre_det2
|
||||
0228EH 0004AH
|
||||
@@CNST ini_VECT 022D8H 00000H
|
||||
@@CNST task_status
|
||||
022D8H 00000H
|
||||
ROM_CODE 022D8H 02756H CSEG
|
||||
ROM_CODE pm 022D8H 00A32H
|
||||
ROM_CODE i2c_ctr 02D0AH 00060H
|
||||
ROM_CODE i2c_twl 02D6AH 0005EH
|
||||
ROM_CODE led 02DC8H 0051AH
|
||||
ROM_CODE rtc 032E2H 000E0H
|
||||
ROM_CODE vreg_ctr 033C2H 00475H
|
||||
ROM_CODE vreg_twl 03837H 0010AH
|
||||
ROM_CODE adc 03941H 002E6H
|
||||
ROM_CODE renge 03C27H 00190H
|
||||
ROM_CODE accero 03DB7H 0013DH
|
||||
ROM_CODE sw 03EF4H 00112H
|
||||
ROM_CODE task_misc
|
||||
04006H 001B7H
|
||||
ROM_CODE task_sys 041BDH 0037FH
|
||||
ROM_CODE pedo_alg_thre_det2
|
||||
0453CH 004F2H
|
||||
@@BASE 04A2EH 0050EH CSEG BASE
|
||||
@@BASE loader 04A2EH 00000H
|
||||
@@BASE pm 04A2EH 0003FH
|
||||
@@BASE i2c_ctr 04A6DH 00198H
|
||||
@@BASE main 04C05H 00000H
|
||||
@@BASE magic 04C05H 00000H
|
||||
@@BASE WDT 04C05H 00000H
|
||||
@@BASE i2c_mcu 04C05H 000D9H
|
||||
@@BASE i2c_twl 04CDEH 000CBH
|
||||
@@BASE led 04DA9H 00000H
|
||||
@@BASE rtc 04DA9H 0005EH
|
||||
@@BASE vreg_ctr 04E07H 00000H
|
||||
@@BASE vreg_twl 04E07H 00000H
|
||||
@@BASE adc 04E07H 000B3H
|
||||
@@BASE renge 04EBAH 00000H
|
||||
@@BASE accero 04EBAH 0004AH
|
||||
@@BASE self_flash
|
||||
04F04H 00000H
|
||||
@@BASE sw 04F04H 00000H
|
||||
@@BASE task_debug
|
||||
04F04H 00000H
|
||||
@@BASE task_misc
|
||||
04F04H 00000H
|
||||
@@BASE task_sys 04F04H 00000H
|
||||
@@BASE pedo_alg_thre_det2
|
||||
04F04H 00000H
|
||||
@@BASE ini_VECT 04F04H 00038H
|
||||
@@BASE task_status
|
||||
04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL @cstart 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL pm 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL i2c_ctr 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL i2c_twl 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL led 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL rtc 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL vreg_ctr 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL vreg_twl 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL adc 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL renge 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL accero 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL sw 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL task_misc
|
||||
04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL task_sys 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL pedo_alg_thre_det2
|
||||
04F3CH 00000H
|
||||
@@CNSTL 04F3CH 00000H CSEG PAGE64KP
|
||||
@@CNSTL ini_VECT 04F3CH 00000H
|
||||
@@CNSTL 04F3CH 0000AH CSEG PAGE64KP
|
||||
@@CNSTL @bcdtob 04F3CH 0000AH
|
||||
@@CNSTL 04F46H 00010H CSEG PAGE64KP
|
||||
@@CNSTL @bbcd 04F46H 00010H
|
||||
@@R_INIT 04F56H 0003AH CSEG UNIT64KP
|
||||
@@R_INIT @cstart 04F56H 00000H
|
||||
@@R_INIT loader 04F56H 00000H
|
||||
@@R_INIT pm 04F56H 00002H
|
||||
@@R_INIT i2c_ctr 04F58H 00002H
|
||||
@@R_INIT main 04F5AH 00000H
|
||||
@@R_INIT magic 04F5AH 00000H
|
||||
@@R_INIT WDT 04F5AH 00000H
|
||||
@@R_INIT i2c_mcu 04F5AH 00000H
|
||||
@@R_INIT i2c_twl 04F5AH 00000H
|
||||
@@R_INIT led 04F5AH 00006H
|
||||
@@R_INIT rtc 04F60H 00000H
|
||||
@@R_INIT vreg_ctr 04F60H 00000H
|
||||
@@R_INIT vreg_twl 04F60H 00000H
|
||||
@@R_INIT adc 04F60H 0000CH
|
||||
@@R_INIT renge 04F6CH 00014H
|
||||
@@R_INIT accero 04F80H 00000H
|
||||
@@R_INIT self_flash
|
||||
04F80H 00000H
|
||||
@@R_INIT sw 04F80H 00002H
|
||||
@@R_INIT task_debug
|
||||
04F82H 00000H
|
||||
@@R_INIT task_misc
|
||||
04F82H 00000H
|
||||
@@R_INIT task_sys 04F82H 00002H
|
||||
@@R_INIT pedo_alg_thre_det2
|
||||
04F84H 0000AH
|
||||
@@R_INIT ini_VECT 04F8EH 00000H
|
||||
@@R_INIT task_status
|
||||
04F8EH 00002H
|
||||
@@R_INIT @rom 04F90H 00000H
|
||||
@@R_INIS 04F90H 00000H CSEG UNIT64KP
|
||||
@@R_INIS @cstart 04F90H 00000H
|
||||
@@R_INIS loader 04F90H 00000H
|
||||
@@R_INIS pm 04F90H 00000H
|
||||
@@R_INIS i2c_ctr 04F90H 00000H
|
||||
@@R_INIS main 04F90H 00000H
|
||||
@@R_INIS magic 04F90H 00000H
|
||||
@@R_INIS WDT 04F90H 00000H
|
||||
@@R_INIS i2c_mcu 04F90H 00000H
|
||||
@@R_INIS i2c_twl 04F90H 00000H
|
||||
@@R_INIS led 04F90H 00000H
|
||||
@@R_INIS rtc 04F90H 00000H
|
||||
@@R_INIS vreg_ctr 04F90H 00000H
|
||||
@@R_INIS vreg_twl 04F90H 00000H
|
||||
@@R_INIS adc 04F90H 00000H
|
||||
@@R_INIS renge 04F90H 00000H
|
||||
@@R_INIS accero 04F90H 00000H
|
||||
@@R_INIS self_flash
|
||||
04F90H 00000H
|
||||
@@R_INIS sw 04F90H 00000H
|
||||
@@R_INIS task_debug
|
||||
04F90H 00000H
|
||||
@@R_INIS task_misc
|
||||
04F90H 00000H
|
||||
@@R_INIS task_sys 04F90H 00000H
|
||||
@@R_INIS pedo_alg_thre_det2
|
||||
04F90H 00000H
|
||||
@@R_INIS ini_VECT 04F90H 00000H
|
||||
@@R_INIS task_status
|
||||
04F90H 00000H
|
||||
@@R_INIS @rom 04F90H 00000H
|
||||
@@CALT 04F90H 00000H CSEG
|
||||
@@CALT @cstart 04F90H 00000H
|
||||
@@CALT loader 04F90H 00000H
|
||||
@@CALT pm 04F90H 00000H
|
||||
@@CALT i2c_ctr 04F90H 00000H
|
||||
@@CALT main 04F90H 00000H
|
||||
@@CALT magic 04F90H 00000H
|
||||
@@CALT WDT 04F90H 00000H
|
||||
@@CALT i2c_mcu 04F90H 00000H
|
||||
@@CALT i2c_twl 04F90H 00000H
|
||||
@@CALT led 04F90H 00000H
|
||||
@@CALT rtc 04F90H 00000H
|
||||
@@CALT vreg_ctr 04F90H 00000H
|
||||
@@CALT vreg_twl 04F90H 00000H
|
||||
@@CALT adc 04F90H 00000H
|
||||
@@CALT renge 04F90H 00000H
|
||||
@@CALT accero 04F90H 00000H
|
||||
@@CALT self_flash
|
||||
04F90H 00000H
|
||||
@@CALT sw 04F90H 00000H
|
||||
@@CALT task_debug
|
||||
04F90H 00000H
|
||||
@@CALT task_misc
|
||||
04F90H 00000H
|
||||
@@CALT task_sys 04F90H 00000H
|
||||
@@CALT pedo_alg_thre_det2
|
||||
04F90H 00000H
|
||||
@@CALT ini_VECT 04F90H 00000H
|
||||
@@CALT task_status
|
||||
04F90H 00000H
|
||||
@@RLINIT 04F90H 00000H CSEG UNIT64KP
|
||||
@@RLINIT loader 04F90H 00000H
|
||||
@@RLINIT pm 04F90H 00000H
|
||||
@@RLINIT i2c_ctr 04F90H 00000H
|
||||
@@RLINIT main 04F90H 00000H
|
||||
@@RLINIT magic 04F90H 00000H
|
||||
@@RLINIT WDT 04F90H 00000H
|
||||
@@RLINIT i2c_mcu 04F90H 00000H
|
||||
@@RLINIT i2c_twl 04F90H 00000H
|
||||
@@RLINIT led 04F90H 00000H
|
||||
@@RLINIT rtc 04F90H 00000H
|
||||
@@RLINIT vreg_ctr 04F90H 00000H
|
||||
@@RLINIT vreg_twl 04F90H 00000H
|
||||
@@RLINIT adc 04F90H 00000H
|
||||
@@RLINIT renge 04F90H 00000H
|
||||
@@RLINIT accero 04F90H 00000H
|
||||
@@RLINIT self_flash
|
||||
04F90H 00000H
|
||||
@@RLINIT sw 04F90H 00000H
|
||||
@@RLINIT task_debug
|
||||
04F90H 00000H
|
||||
@@RLINIT task_misc
|
||||
04F90H 00000H
|
||||
@@RLINIT task_sys 04F90H 00000H
|
||||
@@RLINIT pedo_alg_thre_det2
|
||||
04F90H 00000H
|
||||
@@RLINIT ini_VECT 04F90H 00000H
|
||||
@@RLINIT task_status
|
||||
04F90H 00000H
|
||||
@@RLINIT @rom 04F90H 00000H
|
||||
@@CODEL 04F90H 00000H CSEG
|
||||
@@CODEL pm 04F90H 00000H
|
||||
@@CODEL i2c_ctr 04F90H 00000H
|
||||
@@CODEL magic 04F90H 00000H
|
||||
@@CODEL i2c_twl 04F90H 00000H
|
||||
@@CODEL led 04F90H 00000H
|
||||
@@CODEL rtc 04F90H 00000H
|
||||
@@CODEL vreg_ctr 04F90H 00000H
|
||||
@@CODEL vreg_twl 04F90H 00000H
|
||||
@@CODEL adc 04F90H 00000H
|
||||
@@CODEL renge 04F90H 00000H
|
||||
@@CODEL accero 04F90H 00000H
|
||||
@@CODEL sw 04F90H 00000H
|
||||
@@CODEL task_misc
|
||||
04F90H 00000H
|
||||
@@CODEL task_sys 04F90H 00000H
|
||||
@@CODEL pedo_alg_thre_det2
|
||||
04F90H 00000H
|
||||
@@CODEL ini_VECT 04F90H 00000H
|
||||
@@LCODEL 04F90H 00008H CSEG
|
||||
@@LCODEL abs 04F90H 00008H
|
||||
* gap * 04F98H 0005EH
|
||||
MGC_TAIL 04FF6H 0000AH CSEG AT
|
||||
MGC_TAIL magic 04FF6H 0000AH
|
||||
|
||||
MEMORY=RAM
|
||||
BASE ADDRESS=FF900H SIZE=00500H
|
||||
OUTPUT INPUT INPUT BASE SIZE
|
||||
SEGMENT SEGMENT MODULE ADDRESS
|
||||
@@DATA FF900H 00432H DSEG BASEP
|
||||
@@DATA @cstart FF900H 00002H
|
||||
@@DATA loader FF902H 00000H
|
||||
@@DATA pm FF902H 00018H
|
||||
@@DATA i2c_ctr FF91AH 00006H
|
||||
@@DATA main FF920H 0021CH
|
||||
@@DATA magic FFB3CH 00000H
|
||||
@@DATA WDT FFB3CH 00000H
|
||||
@@DATA i2c_mcu FFB3CH 0000AH
|
||||
@@DATA i2c_twl FFB46H 00000H
|
||||
@@DATA led FFB46H 00088H
|
||||
@@DATA rtc FFBCEH 00008H
|
||||
@@DATA vreg_ctr FFBD6H 0005EH
|
||||
@@DATA vreg_twl FFC34H 00012H
|
||||
@@DATA adc FFC46H 00018H
|
||||
@@DATA renge FFC5EH 00022H
|
||||
@@DATA accero FFC80H 00002H
|
||||
@@DATA self_flash
|
||||
FFC82H 00002H
|
||||
@@DATA sw FFC84H 00006H
|
||||
@@DATA task_debug
|
||||
FFC8AH 00000H
|
||||
@@DATA task_misc
|
||||
FFC8AH 0000EH
|
||||
@@DATA task_sys FFC98H 00002H
|
||||
@@DATA pedo_alg_thre_det2
|
||||
FFC9AH 00096H
|
||||
@@DATA ini_VECT FFD30H 00000H
|
||||
@@DATA task_status
|
||||
FFD30H 00002H
|
||||
@@DATA @rom FFD32H 00000H
|
||||
@@INIT FFD32H 0003AH DSEG BASEP
|
||||
@@INIT @cstart FFD32H 00000H
|
||||
@@INIT loader FFD32H 00000H
|
||||
@@INIT pm FFD32H 00002H
|
||||
@@INIT i2c_ctr FFD34H 00002H
|
||||
@@INIT main FFD36H 00000H
|
||||
@@INIT magic FFD36H 00000H
|
||||
@@INIT WDT FFD36H 00000H
|
||||
@@INIT i2c_mcu FFD36H 00000H
|
||||
@@INIT i2c_twl FFD36H 00000H
|
||||
@@INIT led FFD36H 00006H
|
||||
@@INIT rtc FFD3CH 00000H
|
||||
@@INIT vreg_ctr FFD3CH 00000H
|
||||
@@INIT vreg_twl FFD3CH 00000H
|
||||
@@INIT adc FFD3CH 0000CH
|
||||
@@INIT renge FFD48H 00014H
|
||||
@@INIT accero FFD5CH 00000H
|
||||
@@INIT self_flash
|
||||
FFD5CH 00000H
|
||||
@@INIT sw FFD5CH 00002H
|
||||
@@INIT task_debug
|
||||
FFD5EH 00000H
|
||||
@@INIT task_misc
|
||||
FFD5EH 00000H
|
||||
@@INIT task_sys FFD5EH 00002H
|
||||
@@INIT pedo_alg_thre_det2
|
||||
FFD60H 0000AH
|
||||
@@INIT ini_VECT FFD6AH 00000H
|
||||
@@INIT task_status
|
||||
FFD6AH 00002H
|
||||
@@INIT @rom FFD6CH 00000H
|
||||
@@INIS FFD6CH 00000H DSEG UNITP
|
||||
@@INIS @cstart FFD6CH 00000H
|
||||
@@INIS loader FFD6CH 00000H
|
||||
@@INIS pm FFD6CH 00000H
|
||||
@@INIS i2c_ctr FFD6CH 00000H
|
||||
@@INIS main FFD6CH 00000H
|
||||
@@INIS magic FFD6CH 00000H
|
||||
@@INIS WDT FFD6CH 00000H
|
||||
@@INIS i2c_mcu FFD6CH 00000H
|
||||
@@INIS i2c_twl FFD6CH 00000H
|
||||
@@INIS led FFD6CH 00000H
|
||||
@@INIS rtc FFD6CH 00000H
|
||||
@@INIS vreg_ctr FFD6CH 00000H
|
||||
@@INIS vreg_twl FFD6CH 00000H
|
||||
@@INIS adc FFD6CH 00000H
|
||||
@@INIS renge FFD6CH 00000H
|
||||
@@INIS accero FFD6CH 00000H
|
||||
@@INIS self_flash
|
||||
FFD6CH 00000H
|
||||
@@INIS sw FFD6CH 00000H
|
||||
@@INIS task_debug
|
||||
FFD6CH 00000H
|
||||
@@INIS task_misc
|
||||
FFD6CH 00000H
|
||||
@@INIS task_sys FFD6CH 00000H
|
||||
@@INIS pedo_alg_thre_det2
|
||||
FFD6CH 00000H
|
||||
@@INIS ini_VECT FFD6CH 00000H
|
||||
@@INIS task_status
|
||||
FFD6CH 00000H
|
||||
@@INIS @rom FFD6CH 00000H
|
||||
@@DATS FFD6CH 00000H DSEG UNITP
|
||||
@@DATS @cstart FFD6CH 00000H
|
||||
@@DATS loader FFD6CH 00000H
|
||||
@@DATS pm FFD6CH 00000H
|
||||
@@DATS i2c_ctr FFD6CH 00000H
|
||||
@@DATS main FFD6CH 00000H
|
||||
@@DATS magic FFD6CH 00000H
|
||||
@@DATS WDT FFD6CH 00000H
|
||||
@@DATS i2c_mcu FFD6CH 00000H
|
||||
@@DATS i2c_twl FFD6CH 00000H
|
||||
@@DATS led FFD6CH 00000H
|
||||
@@DATS rtc FFD6CH 00000H
|
||||
@@DATS vreg_ctr FFD6CH 00000H
|
||||
@@DATS vreg_twl FFD6CH 00000H
|
||||
@@DATS adc FFD6CH 00000H
|
||||
@@DATS renge FFD6CH 00000H
|
||||
@@DATS accero FFD6CH 00000H
|
||||
@@DATS self_flash
|
||||
FFD6CH 00000H
|
||||
@@DATS sw FFD6CH 00000H
|
||||
@@DATS task_debug
|
||||
FFD6CH 00000H
|
||||
@@DATS task_misc
|
||||
FFD6CH 00000H
|
||||
@@DATS task_sys FFD6CH 00000H
|
||||
@@DATS pedo_alg_thre_det2
|
||||
FFD6CH 00000H
|
||||
@@DATS ini_VECT FFD6CH 00000H
|
||||
@@DATS task_status
|
||||
FFD6CH 00000H
|
||||
@@DATS @rom FFD6CH 00000H
|
||||
FSL_DATA FFD6CH 00010H DSEG UNITP
|
||||
FSL_DATA fsl_common
|
||||
FFD6CH 00010H
|
||||
@@INITL FFD7CH 00000H DSEG UNIT64KP
|
||||
@@INITL loader FFD7CH 00000H
|
||||
@@INITL pm FFD7CH 00000H
|
||||
@@INITL i2c_ctr FFD7CH 00000H
|
||||
@@INITL main FFD7CH 00000H
|
||||
@@INITL magic FFD7CH 00000H
|
||||
@@INITL WDT FFD7CH 00000H
|
||||
@@INITL i2c_mcu FFD7CH 00000H
|
||||
@@INITL i2c_twl FFD7CH 00000H
|
||||
@@INITL led FFD7CH 00000H
|
||||
@@INITL rtc FFD7CH 00000H
|
||||
@@INITL vreg_ctr FFD7CH 00000H
|
||||
@@INITL vreg_twl FFD7CH 00000H
|
||||
@@INITL adc FFD7CH 00000H
|
||||
@@INITL renge FFD7CH 00000H
|
||||
@@INITL accero FFD7CH 00000H
|
||||
@@INITL self_flash
|
||||
FFD7CH 00000H
|
||||
@@INITL sw FFD7CH 00000H
|
||||
@@INITL task_debug
|
||||
FFD7CH 00000H
|
||||
@@INITL task_misc
|
||||
FFD7CH 00000H
|
||||
@@INITL task_sys FFD7CH 00000H
|
||||
@@INITL pedo_alg_thre_det2
|
||||
FFD7CH 00000H
|
||||
@@INITL ini_VECT FFD7CH 00000H
|
||||
@@INITL task_status
|
||||
FFD7CH 00000H
|
||||
@@INITL @rom FFD7CH 00000H
|
||||
@@DATAL FFD7CH 00000H DSEG UNIT64KP
|
||||
@@DATAL loader FFD7CH 00000H
|
||||
@@DATAL pm FFD7CH 00000H
|
||||
@@DATAL i2c_ctr FFD7CH 00000H
|
||||
@@DATAL main FFD7CH 00000H
|
||||
@@DATAL magic FFD7CH 00000H
|
||||
@@DATAL WDT FFD7CH 00000H
|
||||
@@DATAL i2c_mcu FFD7CH 00000H
|
||||
@@DATAL i2c_twl FFD7CH 00000H
|
||||
@@DATAL led FFD7CH 00000H
|
||||
@@DATAL rtc FFD7CH 00000H
|
||||
@@DATAL vreg_ctr FFD7CH 00000H
|
||||
@@DATAL vreg_twl FFD7CH 00000H
|
||||
@@DATAL adc FFD7CH 00000H
|
||||
@@DATAL renge FFD7CH 00000H
|
||||
@@DATAL accero FFD7CH 00000H
|
||||
@@DATAL self_flash
|
||||
FFD7CH 00000H
|
||||
@@DATAL sw FFD7CH 00000H
|
||||
@@DATAL task_debug
|
||||
FFD7CH 00000H
|
||||
@@DATAL task_misc
|
||||
FFD7CH 00000H
|
||||
@@DATAL task_sys FFD7CH 00000H
|
||||
@@DATAL pedo_alg_thre_det2
|
||||
FFD7CH 00000H
|
||||
@@DATAL ini_VECT FFD7CH 00000H
|
||||
@@DATAL task_status
|
||||
FFD7CH 00000H
|
||||
@@DATAL @rom FFD7CH 00000H
|
||||
* gap * FFD7CH 00084H
|
||||
|
||||
MEMORY=RAM2
|
||||
BASE ADDRESS=FFE20H SIZE=000C0H
|
||||
OUTPUT INPUT INPUT BASE SIZE
|
||||
SEGMENT SEGMENT MODULE ADDRESS
|
||||
@@BITS FFE20H 00004H BSEG
|
||||
@@BITS @cstart FFE20H.0 00000H.0
|
||||
@@BITS loader FFE20H.0 00000H.0
|
||||
@@BITS pm FFE20H.0 00000H.7
|
||||
@@BITS i2c_ctr FFE20H.7 00000H.0
|
||||
@@BITS main FFE20H.7 00000H.0
|
||||
@@BITS magic FFE20H.7 00000H.0
|
||||
@@BITS WDT FFE20H.7 00000H.0
|
||||
@@BITS i2c_mcu FFE20H.7 00000H.3
|
||||
@@BITS i2c_twl FFE21H.2 00000H.0
|
||||
@@BITS led FFE21H.2 00000H.5
|
||||
@@BITS rtc FFE21H.7 00000H.3
|
||||
@@BITS vreg_ctr FFE22H.2 00000H.1
|
||||
@@BITS vreg_twl FFE22H.3 00000H.0
|
||||
@@BITS adc FFE22H.3 00000H.4
|
||||
@@BITS renge FFE22H.7 00000H.3
|
||||
@@BITS accero FFE23H.2 00000H.0
|
||||
@@BITS self_flash
|
||||
FFE23H.2 00000H.0
|
||||
@@BITS sw FFE23H.2 00000H.2
|
||||
@@BITS task_debug
|
||||
FFE23H.4 00000H.0
|
||||
@@BITS task_misc
|
||||
FFE23H.4 00000H.2
|
||||
@@BITS task_sys FFE23H.6 00000H.0
|
||||
@@BITS pedo_alg_thre_det2
|
||||
FFE23H.6 00000H.1
|
||||
@@BITS ini_VECT FFE23H.7 00000H.0
|
||||
@@BITS task_status
|
||||
FFE23H.7 00000H.0
|
||||
* gap * FFE24H 000B0H
|
||||
@@SEGREG FFED4H 00004H DSEG AT
|
||||
@@SEGREG @SEGREG FFED4H 00004H
|
||||
@@RTARG0 FFED8H 00008H DSEG AT
|
||||
@@RTARG0 @RTARG0 FFED8H 00008H
|
||||
|
||||
|
||||
Target chip : uPD79F0104
|
||||
Device file : E1.00b
|
||||
|
@ -1,48 +0,0 @@
|
||||
;;; 領域の定義
|
||||
;32kB = 0x7FFF
|
||||
MEMORY BCL0: (00000H, 01000H )
|
||||
;MEMORY BCL1: (01000H, 01000H ) ; バックアップ領域
|
||||
MEMORY ROM : (02000H, 03000H )
|
||||
;MEMORY ROM_BKUP:(05000H, 03000H ) ; バックアップ領域
|
||||
;MEMORY OCD :(0FC00H, 00400H ) ; OCDが使っているらしい
|
||||
|
||||
|
||||
;;; セグメントの割当先設定
|
||||
; ブートブロック0に割り当てる
|
||||
MERGE LDR_CODE : =BCL0
|
||||
MERGE LDR_CODL : =BCL0
|
||||
MERGE FSL_CODE : =BCL0 ; =FSL ; 謹製フラッシュライブラリ
|
||||
MERGE @@LCODE : =BCL0 ; スタートアップルーチン
|
||||
;MERGE @@LCODEL : =BCL0
|
||||
|
||||
;MERGE LDR_RINT:=BCL0
|
||||
;MERGE LDR_CNST:=BCL0
|
||||
MERGE LDR_CNSL:=BCL0
|
||||
|
||||
|
||||
|
||||
; 通常領域に置く
|
||||
MERGE ROM_CODE:=ROM
|
||||
MERGE @@CNST: =ROM
|
||||
MERGE @@R_INIT: =ROM ; ROM以外に置きたいならスタートアップルーチンを要修正
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; マジックナンバー
|
||||
;; magic.cの中で指定
|
||||
|
||||
|
||||
;--- RAM領域 -------------------------------------------------------
|
||||
;
|
||||
; RAM1,RAM2領域はユーザープログラムで使用しても良いですが、セルフプログラム時は
|
||||
; セルフプログラムのライブラリが使用するため、値は破壊されます。
|
||||
;
|
||||
memory RAM2 : (0FFE20H, 00C0H) ; セルフプログラム時、使用禁止領域
|
||||
;memory SLF_RAM : (0FFE00H, 0020H) ; Slef Program予約領域[使用禁止]
|
||||
memory RAM : (0FF900H, 0500H) ; ユーザーRAM領域
|
||||
;memory SLF_RAM : (0FF900H, 0020H) ; Slef Program予約領域[使用禁止]
|
||||
|
||||
|
@ -1,53 +0,0 @@
|
||||
#ifndef __bsr_system__
|
||||
#define __bsr_system__
|
||||
|
||||
// イベントループのステート
|
||||
enum pwr_state_
|
||||
{
|
||||
OFF_TRIG = 0,
|
||||
OFF,
|
||||
ON_TRIG,
|
||||
ON,
|
||||
// SLEEP_TRIG,
|
||||
SLEEP,
|
||||
// WAKE,
|
||||
BT_CHARGE,
|
||||
};
|
||||
|
||||
enum poweron_reason_
|
||||
{
|
||||
NONE = 0,
|
||||
PWSW
|
||||
};
|
||||
|
||||
|
||||
enum model_
|
||||
{
|
||||
MODEL_JIKKI,
|
||||
MODEL_TS_BOARD,
|
||||
MODEL_SHIROBAKO,
|
||||
MODEL_JIKKI_NOBATT,
|
||||
MODEL_CAPTURE_BOX,
|
||||
MODEL_RESERVED2,
|
||||
MODEL_RESERVED3,
|
||||
};
|
||||
|
||||
// タスクシステムの状態情報など
|
||||
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 force_off:1;
|
||||
unsigned char captureBox:1; // キャプチャ箱 SDKには実機と返す
|
||||
unsigned char taikendai:1;
|
||||
enum model_ model;
|
||||
}system_status_;
|
||||
|
||||
|
||||
extern system_status_ system_status;
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -1,57 +0,0 @@
|
||||
#ifndef __config__
|
||||
#define __config__
|
||||
|
||||
//#define _debug_led_
|
||||
//#define _ALLOW_NOBATT_
|
||||
//#define _DEBUG_BT_FUEL_
|
||||
//#define _DEBUG_BT_TEMP_
|
||||
//#define _DBG_PEDO_AUTO_ENABLE_
|
||||
//#define _DBG_LED_PRINT_
|
||||
//#define _DBG_FORCE_FULLCOLOR_
|
||||
//#define _PMIC_TEST_
|
||||
//#define _ENABLE_WDT_TEST_
|
||||
//#define _FORCE_TAIKENDAI_
|
||||
|
||||
#define MCU_VER_MAJOR 0x01
|
||||
#define MCU_VER_MINOR 0x0D
|
||||
|
||||
|
||||
#define _firm_format_v3_
|
||||
|
||||
//#define _MODEL_TEG2_
|
||||
// <20>ªTEG2 CPU <20>{ Type-T
|
||||
|
||||
//#define _MODEL_WM0_
|
||||
//#define _MODEL_WM0_TEG2_CTRC_
|
||||
|
||||
//#define _MODEL_TS0_
|
||||
// <20>ªTEG2 CPU <20>{ Type-C
|
||||
|
||||
#define _MODEL_CTR_
|
||||
// <20>ªTS board, WM1,1 TS-CTRC, ŽÀ‹@
|
||||
|
||||
// “ÁŽêŽd—l //
|
||||
//#define _SW_HOME_ENABLE_
|
||||
|
||||
// ---------------------------------- //
|
||||
#ifdef _MODEL_TEG2_
|
||||
unsupported!
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _MODEL_WM0_
|
||||
unsupported!
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _MODEL_TS0_
|
||||
unsupported!
|
||||
#endif
|
||||
|
||||
#ifdef _MODEL_CTR_
|
||||
#define _PMIC_CTR_
|
||||
#define _MCU_BSR_
|
||||
#define _SW_HOME_ENABLE_
|
||||
#endif
|
||||
|
||||
#endif
|
@ -1,362 +0,0 @@
|
||||
/*==============================================================================================*/
|
||||
/* Project = Selfprogramming library for 78K0R/Ix3/Kx3-L Single Voltage SST (MF2) Flash */
|
||||
/* Module = fsl.h */
|
||||
/* Version = V1.01 */
|
||||
/* Date = 28.03.2008 11:45:42 */
|
||||
/*==============================================================================================*/
|
||||
/* COPYRIGHT */
|
||||
/*==============================================================================================*/
|
||||
/* Copyright (c) 2007 by NEC Electronics (Europe) GmbH, */
|
||||
/* a company of the NEC Electronics Corporation */
|
||||
/*==============================================================================================*/
|
||||
/* Purpose: */
|
||||
/* constant, type and function prototype definitions used by the FSL */
|
||||
/* */
|
||||
/*==============================================================================================*/
|
||||
/* */
|
||||
/* Warranty Disclaimer */
|
||||
/* */
|
||||
/* Because the Product(s) is licensed free of charge, there is no warranty of any kind */
|
||||
/* whatsoever and expressly disclaimed and excluded by NEC, either expressed or implied, */
|
||||
/* including but not limited to those for non-infringement of intellectual property, */
|
||||
/* merchantability and/or fitness for the particular purpose. NEC shall not have any obligation */
|
||||
/* to maintain, service or provide bug fixes for the supplied Product(s) and/or the Application.*/
|
||||
/* */
|
||||
/* Each User is solely responsible for determining the appropriateness of using the Product(s) */
|
||||
/* and assumes all risks associated with its exercise of rights under this Agreement, */
|
||||
/* including, but not limited to the risks and costs of program errors, compliance with */
|
||||
/* applicable laws, damage to or loss of data, programs or equipment, and unavailability or */
|
||||
/* interruption of operations. */
|
||||
/* */
|
||||
/* Limitation of Liability */
|
||||
/* */
|
||||
/* In no event shall NEC be liable to the User for any incidental, consequential, indirect, */
|
||||
/* or punitive damage (including but not limited to lost profits) regardless of whether */
|
||||
/* such liability is based on breach of contract, tort, strict liability, breach of warranties, */
|
||||
/* failure of essential purpose or otherwise and even if advised of the possibility of */
|
||||
/* such damages. NEC shall not be liable for any services or products provided by third party */
|
||||
/* vendors, developers or consultants identified or referred to the User by NEC in connection */
|
||||
/* with the Product(s) and/or the Application. */
|
||||
/* */
|
||||
/*==============================================================================================*/
|
||||
/* Environment: PM plus (V6.30) */
|
||||
/* RA78K0(V1.20) */
|
||||
/* CC78K0(V2.00) */
|
||||
/*==============================================================================================*/
|
||||
|
||||
#ifndef __FSL_H_INCLUDED
|
||||
#define __FSL_H_INCLUDED
|
||||
|
||||
|
||||
/*==============================================================================================*/
|
||||
/* FSL type definitions */
|
||||
/*==============================================================================================*/
|
||||
typedef unsigned char fsl_u08;
|
||||
typedef unsigned int fsl_u16;
|
||||
typedef unsigned long int fsl_u32;
|
||||
|
||||
|
||||
/*==============================================================================================*/
|
||||
/* constant definitions */
|
||||
/*==============================================================================================*/
|
||||
|
||||
/*status code definitions returned by the FSL functions */
|
||||
#define FSL_OK 0x00
|
||||
#define FSL_ERR_FLMD0 0x01
|
||||
#define FSL_ERR_PARAMETER 0x05
|
||||
#define FSL_ERR_PROTECTION 0x10
|
||||
#define FSL_ERR_ERASE 0x1A
|
||||
#define FSL_ERR_BLANKCHECK 0x1B
|
||||
#define FSL_ERR_IVERIFY 0x1B
|
||||
#define FSL_ERR_WRITE 0x1C
|
||||
#define FSL_ERR_EEP_IVERIFY 0x1D
|
||||
#define FSL_ERR_EEP_BLANKCHECK 0x1E
|
||||
#define FSL_ERR_INTERRUPTION 0x1F
|
||||
|
||||
|
||||
/*==============================================================================================*/
|
||||
/* global function prototypes */
|
||||
/*==============================================================================================*/
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: initialization of selfprogramming environment */
|
||||
/* After initialization: */
|
||||
/* - the pointer to the data-buffer is stored */
|
||||
/* - all timing data are re-calculated according to the used system clock */
|
||||
/* */
|
||||
/* CAUTION: */
|
||||
/* The FSL_Init(&data_buffer) function is interruptible. Please use the */
|
||||
/* FSL_Init_cont(&data_buffer) to recall it as long return status is 0x1F. */
|
||||
/* */
|
||||
/* Input: data_buffer_pu08 - pointer to a data buffer of N...256 bytes */
|
||||
/* (used for data exchange between firmware and application) */
|
||||
/* Output: - */
|
||||
/* Returned: u08, status_code */
|
||||
/* = 0x00(FSL_OK), normal and means initialization OK */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), initialization interrupted by user interrupt*/
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_Init( fsl_u08 * data_buffer_pu08 );
|
||||
extern fsl_u08 FSL_Init_cont( fsl_u08 * data_buffer_pu08 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: checks the voltage level (high or low) at FLMD0 pin */
|
||||
/* Input: - */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status_code */
|
||||
/* = 0x00(FSL_OK), normal and means FLMD0=HIGH */
|
||||
/* = 0x01(FSL_ERR_FLMD0), error, FLMD0=LOW */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_ModeCheck( void );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: checks if specified block is blank */
|
||||
/* Input: block_u16 - block number has to be checked */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status_code */
|
||||
/* = 0x00(FSL_OK), normal and means "block is blank" */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x1B(FSL_ERR_BLANKCHECK), blank-check error, means "block not blank" */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), blank-check interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_BlankCheck( fsl_u16 block_u16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: erase specified block */
|
||||
/* Input: block_u16 - block number has to be erase */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status_code */
|
||||
/* = 0x00(FSL_OK), normal and means "block erased successfully" */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), tried to erase protected area */
|
||||
/* = 0x1A(FSL_ERR_ERASE), erase error, retry up to max. 255 times */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), erasing interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_Erase( fsl_u16 block_u16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: performs internal verify on specified block */
|
||||
/* Input: block_u16 - block number has to be verified */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status_code */
|
||||
/* = 0x00(FSL_OK), normal and means "block is verified" */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), verify interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_IVerify( fsl_u16 block_u16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: writes N words from the data buffer into flash */
|
||||
/* Input: s_address_u32 - starting flash address the data has to be written */
|
||||
/* See Condition 2) please. */
|
||||
/* my_wordcount_u08 - number of words (4 bytes) has to be written */
|
||||
/* Output: - */
|
||||
/* Condition: 1) (s_address_u32 MOD 4 == 0) */
|
||||
/* 2) most significant byte (MSB) of s_address_u32 has to be 0x00. */
|
||||
/* Means: 0x00abcdef 24 bit flash address allowed */
|
||||
/* 3) (word_count_u08 <= sizeof(data buffer)) NOT CHECKED BY LIBRARY !!!!! */
|
||||
/* Changed: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), protection error */
|
||||
/* = 0x1C(FSL_ERR_WRITE), write error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_Write( fsl_u32 s_address_u32, fsl_u08 word_count_u08 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: writes N words from the data buffer into flash */
|
||||
/* Before "writing" a N-word blankcheck is performed. */
|
||||
/* After "writing" a N-Word internal verify is performed. */
|
||||
/* Input: s_address_u32 - starting destination address has to be written */
|
||||
/* my_wordcount_u08 - number of words (4 bytes) has to be written */
|
||||
/* Output: - */
|
||||
/* Condition: 1) (s_address_u32 MOD 4 == 0) */
|
||||
/* 2) (word_count_u08 <= sizeof(data buffer)) NOT CHECKED BY FIRMWARE !!!!! */
|
||||
/* Changed: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), protection error */
|
||||
/* = 0x1C(FSL_ERR_WRITE), write error */
|
||||
/* = 0x1D(FSL_ERR_EEP_IVERIFY), verify error */
|
||||
/* = 0x1E(FSL_ERR_EEP_BLANKCHECK), blankcheck error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_EEPROMWrite( fsl_u32 s_address_u32,
|
||||
fsl_u08 word_count_u08 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: reads the security information */
|
||||
/* Input: destination_pu16 - destination address of the security info */
|
||||
/* The format of the security info is: "unsigned short int" */
|
||||
/* */
|
||||
/* Format of the security info: */
|
||||
/* bit_0 = 0 -> chip erase command disabled, otherwise enabled */
|
||||
/* bit_1 = 0 -> block erase command disabled, otherwise enabled */
|
||||
/* bit_2 = 0 -> write command disabled, otherwise enabled */
|
||||
/* bit_4 = 0 -> boot-area re-programming disabled, otherwise enabled */
|
||||
/* bit_8...bit_15 = 03H -> last block of the boot-area */
|
||||
/* other bits = 1 */
|
||||
/* Output: - */
|
||||
/* Changed: content of the data_buffer */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_GetSecurityFlags( fsl_u16 * destination_pu16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: read the boot flag i */
|
||||
/* Input: destination_pu08 - destination address of the bootflag info */
|
||||
/* The format of the boot-flag info is: "unsigned char" */
|
||||
/* The value of the boot info is 0x00 for cluster 0 and 0x01 for cluster 1. */
|
||||
/* Output: - */
|
||||
/* Changed: content of the data_buffer */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_GetActiveBootCluster( fsl_u08 * destination_pu08 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: puts the last address of the specified block into *destination_pu32 */
|
||||
/* Input: *destination_pu32 - destination where the last-block-address */
|
||||
/* should be stored */
|
||||
/* block_u16 - block number of the last address is needed */
|
||||
/* Changed: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_GetBlockEndAddr( fsl_u32 * destination_pu32,
|
||||
fsl_u16 block_u16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: puts the information about the protected flash area into the function parameter */
|
||||
/* Input: *start_block_pu16 - destination where the FSW start block should be stored */
|
||||
/* *end_block_pu16 - destination where the FSW end block should be stored */
|
||||
/* Changed: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_GetFlashShieldWindow( fsl_u16 * start_block_pu16,
|
||||
fsl_u16 * end_block_pu16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: defines a new Flash-Shield-Window area inside the flash memory */
|
||||
/* Input: start_block_u16 - starting block of the Flash-Shield-Window (FSW) */
|
||||
/* end_block_u16 - ending block of the flash-Shield-Window (FSW) */
|
||||
/* Changed: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), protection error */
|
||||
/* = 0x1A(FSL_ERR_ERASE), erase error */
|
||||
/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_SetFlashShieldWindow( fsl_u16 start_block_u16,
|
||||
fsl_u16 end_block_u16 );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: Swapping of bootcluster 0 and 1 */
|
||||
/* */
|
||||
/* CAUTION !!!! */
|
||||
/* After this function the boot cluster are immediately swapped */
|
||||
/* Input: - */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), protection error */
|
||||
/* = 0x1A(FSL_ERR_ERASE), erase error */
|
||||
/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_SwapBootCluster( void );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL command function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: sets specified security flag by dedicated command-function. */
|
||||
/* */
|
||||
/* There are following security levels: */
|
||||
/* a) chip-erase protection (cannot be reset by programmer !!!) */
|
||||
/* b) block-erase protection (can be reset by chip-erase on programmer) */
|
||||
/* c) write protection (can be reset by chip-erase on programmer) */
|
||||
/* d) boot-cluster protection (cannot be reset by programmer !!!) */
|
||||
/* */
|
||||
/* CAUTION !!!! */
|
||||
/* Each security flag can be written by the application only once */
|
||||
/* */
|
||||
/* Input: - */
|
||||
/* Output: - */
|
||||
/* Returned: fsl_u08, status code */
|
||||
/* = 0x00(FSL_OK), normal */
|
||||
/* = 0x05(FSL_ERR_PARAMETER), parameter error */
|
||||
/* = 0x10(FSL_ERR_PROTECTION), protection error */
|
||||
/* = 0x1A(FSL_ERR_ERASE), erase error */
|
||||
/* = 0x1B(FSL_ERR_IVERIFY), internal verify error */
|
||||
/* = 0x1F(FSL_ERR_INTERRUPTION), write interrupted by user interrupt */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern fsl_u08 FSL_SetChipEraseProtectFlag( void );
|
||||
extern fsl_u08 FSL_SetBlockEraseProtectFlag( void );
|
||||
extern fsl_u08 FSL_SetWriteProtectFlag( void );
|
||||
extern fsl_u08 FSL_SetBootClusterProtectFlag( void );
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Block type: FSL function */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* Purpose: defines the firmware operation method after interrupt service (ISR) execution. */
|
||||
/* Input: mode_u08 = 0x00, after RETI the firmware is continuing the interrupted command.*/
|
||||
/* = other, after RETI the firmware is interrupted with status 0x1F. */
|
||||
/* Changed: - */
|
||||
/* Returned: - */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
extern void FSL_SetInterruptMode( fsl_u08 mode_u08 );
|
||||
|
||||
#endif
|
@ -1,108 +0,0 @@
|
||||
/*==============================================================================================*/
|
||||
/* Project = Selfprogramming library for 78K0R/Ix3/Kx3-L Single Voltage SST (MF2) Flash */
|
||||
/* Module = fsl_user.h */
|
||||
/* Version = V1.01 */
|
||||
/* Date = 28.03.2008 11:45:55 */
|
||||
/*==============================================================================================*/
|
||||
/* COPYRIGHT */
|
||||
/*==============================================================================================*/
|
||||
/* Copyright (c) 2007 by NEC Electronics (Europe) GmbH, */
|
||||
/* a company of the NEC Electronics Corporation */
|
||||
/*==============================================================================================*/
|
||||
/* Purpose: */
|
||||
/* user configurable constant/macros of the selfprogramming library */
|
||||
/* */
|
||||
/*==============================================================================================*/
|
||||
/* */
|
||||
/* Warranty Disclaimer */
|
||||
/* */
|
||||
/* Because the Product(s) is licensed free of charge, there is no warranty of any kind */
|
||||
/* whatsoever and expressly disclaimed and excluded by NEC, either expressed or implied, */
|
||||
/* including but not limited to those for non-infringement of intellectual property, */
|
||||
/* merchantability and/or fitness for the particular purpose. NEC shall not have any obligation */
|
||||
/* to maintain, service or provide bug fixes for the supplied Product(s) and/or the Application.*/
|
||||
/* */
|
||||
/* Each User is solely responsible for determining the appropriateness of using the Product(s) */
|
||||
/* and assumes all risks associated with its exercise of rights under this Agreement, */
|
||||
/* including, but not limited to the risks and costs of program errors, compliance with */
|
||||
/* applicable laws, damage to or loss of data, programs or equipment, and unavailability or */
|
||||
/* interruption of operations. */
|
||||
/* */
|
||||
/* Limitation of Liability */
|
||||
/* */
|
||||
/* In no event shall NEC be liable to the User for any incidental, consequential, indirect, */
|
||||
/* or punitive damage (including but not limited to lost profits) regardless of whether */
|
||||
/* such liability is based on breach of contract, tort, strict liability, breach of warranties, */
|
||||
/* failure of essential purpose or otherwise and even if advised of the possibility of */
|
||||
/* such damages. NEC shall not be liable for any services or products provided by third party */
|
||||
/* vendors, developers or consultants identified or referred to the User by NEC in connection */
|
||||
/* with the Product(s) and/or the Application. */
|
||||
/* */
|
||||
/*==============================================================================================*/
|
||||
/* Environment: PM plus (V6.30) */
|
||||
/* RA78K0(V1.20) */
|
||||
/* CC78K0(V2.00) */
|
||||
/*==============================================================================================*/
|
||||
|
||||
|
||||
#ifndef __FSL_USER_H_INCLUDED
|
||||
#define __FSL_USER_H_INCLUDED
|
||||
|
||||
|
||||
/*==============================================================================================*/
|
||||
/* constant definitions */
|
||||
/*==============================================================================================*/
|
||||
|
||||
|
||||
/* specify the CPU frequency in [Hz], only 2MHz....20MHz allowed */
|
||||
#define FSL_SYSTEM_FREQUENCY 4000000
|
||||
|
||||
/* define whether low-voltage mode is used or not */
|
||||
/* #define FSL_LOW_VOLTAGE_MODE */
|
||||
|
||||
/* size of the common data buffer expressed in [bytes] */
|
||||
/* the data buffer is used for data-exchange between the firmware and the selflib. */
|
||||
//#define FSL_DATA_BUFFER_SIZE 256
|
||||
#define FSL_DATA_BUFFER_SIZE 0
|
||||
|
||||
|
||||
/* customizable interrupt controller configuration during selfprogramming period */
|
||||
/* Bit --7-------6-------5-------4-------3-------2-------1-------0---------------------- */
|
||||
/* MK0L: PMK5 PMK4 PMK3 PMK2 PMK1 PMK0 LVIMK WDTIMK */
|
||||
/* MK0H: SREMK0 SRMK0* STMK0* DMAMK1 DMAMK0 SREMK3 SRMK3 STMK3 */
|
||||
/* MK1L: TMMK03 TMMK02 TMMK01 TMMK00 IICMK0 SREMK1 SRMK1 STMK1* */
|
||||
/* MK1H: TMMK04 SREMK2 SRMK2 STMK2* KRMK RTCIMK RTCMK ADMK */
|
||||
/* MK2L: PMK10 PMK9 PMK8 PMK7 PMK6 TMMK07 TMMK06 TMMK05 */
|
||||
/* MK2H: 1 1 1 1 1 1 1 PMK11 */
|
||||
/*------------------------------------------------------------------------------------------ */
|
||||
/* */
|
||||
/* Examples: */
|
||||
/* ========= */
|
||||
/*#define FSL_MK0L_MASK 0xF7 -> allow INTP1 interrupt during selfprogramming */
|
||||
/*#define FSL_MK0H_MASK 0xEF -> allow DMA1 interrupt during selfprogramming */
|
||||
/*#define FSL_MK1L_MASK 0xBF -> allow TM02 interrupt during selfprogramming */
|
||||
/*#define FSL_MK1H_MASK 0xFF -> all interrupts disabled during selfprogramming */
|
||||
/*#define FSL_MK2L_MASK 0xF7 -> allow INTP6 interrupt during selfprogramming */
|
||||
/*#define FSL_MK2H_MASK 0xFF -> all interrupts disabled during selfprogramming */
|
||||
/*------------------------------------------------------------------------------------------ */
|
||||
#define FSL_MK0L_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
#define FSL_MK0H_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
#define FSL_MK1L_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
#define FSL_MK1H_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
#define FSL_MK2L_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
#define FSL_MK2H_MASK 0xFF /* all interrupts disabled during selfprogramming */
|
||||
|
||||
|
||||
/* FLMD0 control bit */
|
||||
#define FSL_FLMD0_HIGH {BECTL.7 = 1;}
|
||||
#define FSL_FLMD0_LOW {BECTL.7 = 0;}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* switch interrupt backu functionality ON/OFF using #define/#undef */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* #define FSL_INT_BACKUP */
|
||||
#undef FSL_INT_BACKUP
|
||||
|
||||
|
||||
#endif
|
@ -1,982 +0,0 @@
|
||||
:02000000C20438
|
||||
:02000200FFFFFE
|
||||
:0400100053475547B6
|
||||
:02001C00D948C1
|
||||
:0200240045494C
|
||||
:02002A009247FB
|
||||
:08003400724A2F4A6D4A4D4744
|
||||
:02004A00574716
|
||||
:0400C0007EFBFF853F
|
||||
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
|
||||
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
|
||||
:1000D800C7FDC902C736F00071F4C6DE06713018D4
|
||||
:1000E800F9EF2B51105FA8FFD1DD13713018F971AA
|
||||
:1000F8000300710B2071103EFBFD6201EF1036000A
|
||||
:1001080000868767D1DFFB66D1DFF6FD6201360026
|
||||
:1001180000664C09DE2317F104F60FC1317B9EFD02
|
||||
:10012800C411897217F104F64F14896142DF03F68E
|
||||
:10013800EF01E660610786EFD867D161E8FDDB0370
|
||||
:10014800FD5302EF8CC6D7717BFACEA016CEA180E4
|
||||
:10015800CEA408F5AAFFF5A9FFD78F18F931350AFB
|
||||
:10016800CD0003CD0306E40EEF07F400CD0306F43B
|
||||
:100178000EF520FFCE23F0CE2EFCF401F402F40499
|
||||
:10018800F405F406CD0740F40CF408F40FF521FF4C
|
||||
:10019800CE22E9CE24FBCE25F3CE26FCCE271FCED9
|
||||
:1001A8002CFFCE2FFFCE28FFF53000F53100F533B8
|
||||
:1001B80000F53400CF350003CF370019F53C00F5C2
|
||||
:1001C8003E00F54300F54700CF530006F55700F60B
|
||||
:1001D800BEE0BEE2F5D0FFCBE4FFFFCBE6FFFFCEEB
|
||||
:1001E800D4FFCEE8FFCEECFFCEE9FFCEEDFFCEEA9E
|
||||
:1001F800FFCEEEFECEEBFFCEEFFFCED8FFCEDCFF7C
|
||||
:10020800CE38B1CE3971F537FF7108F20090BFB41E
|
||||
:10021800017138F100F54002F54102F54302F5A5F8
|
||||
:10022800FFF5A6FF7158F000F530FF7128F0005077
|
||||
:1002380087BF1801BF1A01BF1C01BF1E017148F01A
|
||||
:1002480000F53002F5BCFFF5BDFFD7FD5B33FD4778
|
||||
:100258003BFD2A2F717AFAFD88268F18F931350A65
|
||||
:1002680031040009CF16F902EF03F516F9FD7934C8
|
||||
:10027800FDF737FDA402FD2C46713221712BE7FDF5
|
||||
:10028800C902FD4A3B31342105FD4A3BEFF7FDC960
|
||||
:1002980002FDCC3BD2DFFA61EDEFE4D73102040373
|
||||
:1002A800F6EF01E6603418F9718C89718999311279
|
||||
:1002B8000403F6EF01E6603418F9718C8971999995
|
||||
:1002C800D7CEABACD78C05318EED830C8C05318E37
|
||||
:1002D800FD870CD2D7BDD831FFBDDADADAADD8ED5B
|
||||
:1002E8004F0F8C05318E31AD128C04318E318D0358
|
||||
:1002F800D7C72006FBF8FFFD9404301400C1300076
|
||||
:1003080020F7FD0C04C0CC05048C054C14DE08FD58
|
||||
:10031800CD02615905EFF2CC05048C054C14DE6B57
|
||||
:10032800FDCD02CC04008C044C04DE4E3182514ACF
|
||||
:10033800301AF9BC02CC0100FDC90231B2E2063123
|
||||
:10034800825102EFF6713BE2AC02148E5099715063
|
||||
:1003580030026179026159018C01D161E83184511F
|
||||
:10036800DA304000C1FDEA02FDDD02C0D2DD06FD43
|
||||
:100378001F0FE7EF5A615904EFACFDD40261E800A2
|
||||
:1003880031845102EF05615905EF8F71603002CC5D
|
||||
:100398000200CC03008C034C09DE248C03318E123E
|
||||
:1003A80049F61F728C03318E04F64F14896142DFBF
|
||||
:1003B80003F6EF01E6600E029C02615903EFD68C4A
|
||||
:1003C80002D1DF08FD0D0EFD1F0FEF03FD1F0F10FB
|
||||
:1003D80006C6D7FD9404300800C1300050F7FD0C64
|
||||
:1003E80004C0FD1F0FF7D73184BD02EFFA717BBD42
|
||||
:1003F800CBE4FFFFCBE6FFFFCBD4FFFF717ABED77C
|
||||
:10040800717BBED7C7C3C12006FBF8FF8C109C05C3
|
||||
:100418008C10318E040C00128C05318EBDD813FD62
|
||||
:100428003106DE63FDC9028C05318EFD7F0CD2DDFD
|
||||
:1004380005FDCD02EFF1CC04008C044C04DE3ECC6B
|
||||
:100448000300301AF9BBAC06148C089EFD118972A2
|
||||
:10045800AB146299AC06A1BC066179006159038CA2
|
||||
:1004680003D1DFE2304000C1FDEA02FDDD02C0D267
|
||||
:10047800DD06FD0804E7EF10615904EFBCFDD40266
|
||||
:10048800DFFB615905EF89F7100AC6D7717B9D71AB
|
||||
:100498007BFAFDEF03301AF9FD320DFDBD0CF7D7DD
|
||||
:1004A800FD9404FD0804FD0C0ECEABAAF7D7CEFAD6
|
||||
:0A04B8000630D00061DDC161FCD701
|
||||
:1004C20061CF5100718C7109FECBF800FEFC4F0127
|
||||
:1004D20000F6BF00F953C0F693935820FEDFF941AE
|
||||
:1004E2000036744B3474FCEF05118B99A7A51744A1
|
||||
:1004F200BA4BDFF53602F93074FCEF04CC0000A7EA
|
||||
:1005020047DFF9410036FC2034BAFCEF05118B9924
|
||||
:10051200A7A51744FC20DFF536BAFC30BAFCEF047D
|
||||
:10052200CC0000A747DFF9FCD80000EFFEC361DD75
|
||||
:10053200717BFABEF0ADD8BEF200DBF6FFADDCBED9
|
||||
:10054200F000AEF6BDD8AEF40312ADDABEF200AEE4
|
||||
:10055200F661CD03BDDAC2D7C3F33174D90883C1C2
|
||||
:10056200F626D8BDD8C0317505C312F623C2FD7B6D
|
||||
:100572000593DF0312F623C2D7440000DD2761DDB5
|
||||
:10058200717BFACFE80080BEF6F6BEF4BEF2ADD8BB
|
||||
:10059200BEF0CFE800818FE8003103FAAFE000F54A
|
||||
:1005A200E80061CDD7ADD8D7C3F33174DB0F83C177
|
||||
:1005B200F626D8BDD861317026DABDDAC031750DA4
|
||||
:1005C20083C312F626DCBDDC61317023C2FDE30574
|
||||
:1005D20093DF0CF626D8BDD861317026DABDDAC2B7
|
||||
:1005E200D7C161686BDC6BDDC0DD2F61DD717BFA29
|
||||
:1005F200CFE80080BEF4ADDCBEF6ADD8BEF0ADDA19
|
||||
:10060200BEF2CFE800818FE8003103FAAEF0BDD828
|
||||
:10061200AEF2BDDAF5E80061CDD7F6BDD8BDDAD7C6
|
||||
:1006220006DABDDAADDC06D8BDD861D8A6DAD7467F
|
||||
:10063200D8DD0771FF7177D971C0D75BDB9DDB60B5
|
||||
:100642005BDA9DDAADDC5BD9085BD808BDD8D7C3CD
|
||||
:10065200C7F3728EFDC162314C4100360020116138
|
||||
:10066200A072C09EFD62C6C2D7C3C7F3728EFDC11F
|
||||
:10067200625C0F0C000FFE00314C4100360A201163
|
||||
:1006820061800FFE0073C09EFD63C6C2D7C5C3144E
|
||||
:10069200DADCC9DC0000ADDEC1CDDF00C7F4DEFA72
|
||||
:1006A200DC8DDA5C7F9DDD6BD96BD861F87112DE6F
|
||||
:1006B200645C7F9DDC616B616A61F87102DE150129
|
||||
:1006C200707177DB7171DE7174DA8DDB61DC4CFF86
|
||||
:1006D200DD05D1DF35EF293114DE097152DEEF2A53
|
||||
:1006E2003102DE06EDA408ED9F083162DEF9ED8CE1
|
||||
:1006F200087122DE813104DE193152DEEAED77081B
|
||||
:100702007132DE817114DE7161DE084CFFDDD1D100
|
||||
:10071200DDDF3152DED83162DEE36100F161DC24DB
|
||||
:100722007F00146370318C66728DDC3124DE0AB571
|
||||
:1007320001311C61D8A13175F671FABDDA1337D8CF
|
||||
:10074200D9E8D8F8DD618A3134DE0AB501311C619D
|
||||
:10075200D8A13175F671FA35BDD81765D6BDDC154D
|
||||
:1007620067D606DC377065D61C00BDDC138DDBD680
|
||||
:1007720007167101DE63D8DAD6071670F11C007114
|
||||
:1007820004DE1C0006DC570061D88733D8DBD603B1
|
||||
:100792001261D887158DDAD6031261D88765D8DA47
|
||||
:1007A200D6BDDC64D8DBD606DCBDDC65D8DBD61C66
|
||||
:1007B2000061A8DC6103671BDD1ADC0061008DDCCF
|
||||
:1007C2001C0031731201311C61D8A1146661DC6115
|
||||
:1007D200D8A3ADD8ED0B0814ADD8A1ED0B08EADA19
|
||||
:1007E20031730C94DD0901311C61D8A13175F435E6
|
||||
:1007F20060EF2344EAFFDC76609133311E35311E0F
|
||||
:100802003571F983DFF533EF0D71FCDCE644FF004F
|
||||
:100812006168DE72DDE33172DF21618A4C80618AB8
|
||||
:10082200DC19DF0633718C33DE1183DF0E3571FA8A
|
||||
:1008320004010035DE054CFEDD4C817174DE6C0076
|
||||
:1008420061FB618D71F9618C618B618A9DDCF4DEE3
|
||||
:1008520061F8A4DE7174DF61D8D7C6D4DE61E8FD29
|
||||
:10086200AF0815BDDA13BDD8C0BDDEC2C4D7510270
|
||||
:10087200EF047173DEF17174DE9DDEF6EF15F4DCC8
|
||||
:10088200EFD25104EF055103EF01F17174DE9DDEE9
|
||||
:100892003080FE61FB14F73172DFE3EFB7CDDE0586
|
||||
:1008A200EF02F4DE34FF7F3172DFD3EFA78EFC70EC
|
||||
:1008B2008EFDC1C5C3ADDE315E041A20320000C315
|
||||
:1008C200C1D8DEF1C1AEF8FCD90800C0C0C0C2C4B4
|
||||
:1008D200C09EFD609EFCD71489728A049EFDAA0206
|
||||
:1008E2001411894C40DD0E624C0430020061C830A4
|
||||
:1008F2000100BF00F9D77C80C5C314DADCC9DC0073
|
||||
:1009020000ADDEC1CDDF03ED1B09C5C314DADCC9BE
|
||||
:10091200DC0000ADDEC1CDDF02C7F4DEFADC8DDA29
|
||||
:100922005C7F9DDD6BD96BD861F87112DE645C7FF0
|
||||
:100932009DDC616B616A61F87102DE15017171DE25
|
||||
:10094200707174DA8DDB61DC7177DE7161DE4CFF10
|
||||
:10095200DD08D1DD407172DDEF423114DE097152E2
|
||||
:10096200DEEF393102DE03EDA4083154DE1F3164BB
|
||||
:10097200DE1BED9F08813104DE313142DE07EADA07
|
||||
:10098200DAD867EF093164DE04517F6155669DDC78
|
||||
:10099200F4DEED5608817114DE7141DE084CFFDD94
|
||||
:1009A200C23152DED9D1DDCD7172DC3142DEDE617F
|
||||
:1009B20028DD13DE0B4CE1DCC57CFF817180EF0684
|
||||
:1009C2004C20DEC96100BDDAADD8EADC37618A337A
|
||||
:1009D200618E37618CDC12DD1E37311E35311E35DA
|
||||
:1009E20071F9B4DBDFF437EF0E33311E33311E33CE
|
||||
:1009F20071F9B4DBDFF433353164DE2845DF0537C6
|
||||
:100A02004337DD1ADE0A352533273361D8B1EF0BC0
|
||||
:100A12007ADE80253723121761D8B1EDE007ED7435
|
||||
:100A220008ED880833073308611C08611DDEEC4AB3
|
||||
:100A3200DAFEDDEDA4DA33311E33311E71FA337181
|
||||
:100A4200F933EFD7C5C314DADCC9DC0000ADDEC16F
|
||||
:100A5200CDDF01C7F4DEFADC645C7F9DDC616B6193
|
||||
:100A62006A61F87112DE8DDA5C7F9DDD6BD96BD81D
|
||||
:100A720061F87102DE1501707177DB7171DE7174DC
|
||||
:100A8200DA8DDB61DC4CFFDD05D1DF3CEF30310478
|
||||
:100A9200DE097142DEEF313112DE06EDA408ED9F70
|
||||
:100AA200083142DEF9ED77083162DE0C7132DE8107
|
||||
:100AB2003114DE1C3162DEE6ED8408ED8C08712211
|
||||
:100AC200DE817104DE7161DE084CFFDDCAD1DDDC3E
|
||||
:100AD2003142DEE73162DECD6120F13C00047F006D
|
||||
:100AE200146370318C66728DDC3134DE0AA50131FB
|
||||
:100AF2001C61D8A13175F671FABDDAADD80833BDE3
|
||||
:100B0200D867618A708DDD3124DE0AB501311C613E
|
||||
:100B1200D8A13175F671FA35BDDC3000013600001E
|
||||
:100B22003546DA35DF043346D833DE04B6DCEF125D
|
||||
:100B3200510361D831050B3526DA353326D83361B6
|
||||
:100B4200D8B5311C350861DC0861DC35DC0C354672
|
||||
:100B5200DA35DF043346D83371C061DC0861DC0862
|
||||
:100B6200370861DC0861DC37DECA08121714ADDC15
|
||||
:100B7200ED0B087ADB80D7C5C3C18DDA71FA73F841
|
||||
:100B8200D9ADDA01F04C9FDE622C7FDC5E2C10DEE8
|
||||
:100B92001F8133DD05311E83DFFB3174DB0914F65F
|
||||
:100BA2002312F62561D8B3BDD813BDDAC0C2C4D7AB
|
||||
:100BB2002C08DE163383F8D8DD0B311E618A61FB07
|
||||
:100BC200618A83DFF5618A08EFD02C07758DD8DD45
|
||||
:100BD2000D311E33311E3371F985DFF5EFBC3174EF
|
||||
:100BE200DB09311C03DC045380DDBCF7F6EFB8C52A
|
||||
:100BF200C3C18DDA71FA73F8D9ADDA01F0DC144CA5
|
||||
:100C02009E61D8ED8B0BDF0B8DD8BDD813BDDAC03A
|
||||
:100C1200C2C4D7F6BDDABDD8EFF5C5C3C1ADDADAC5
|
||||
:100C2200D831750914F62312F661D8B125ED3B0CC3
|
||||
:100C3200C5C3C1ADDADAD8F4DB0361C8DD3B2355A5
|
||||
:100C42009E31730A9501311C61D8A13175F6618A12
|
||||
:100C52004C80618ADC11DF0633718C33DE0983DF5D
|
||||
:100C62000604010061D8857174DB3561FB9DDB658B
|
||||
:0D0C720071F99DDA637064BDD8C0C2C4D7AB
|
||||
:100C7F005208EF065203EF025206FEE600FE1B007B
|
||||
:100C8F00DC16089F03088F0408089F040862FE24DF
|
||||
:100C9F0000089F0408EEBF00EEBA00C1C514410E54
|
||||
:100CAF0011D9D0FF118FD1FF312E45C4C0D7F231EA
|
||||
:100CBF00A2C401E2D79DE261DD4C09DF12717BFA1C
|
||||
:100CCF00C18F06089FC9FCC0CF060800EE27003170
|
||||
:100CDF00F2FA04CF0608004C00DF05D50008DD1638
|
||||
:100CEF0061DD717BFAD50608DD0ACDE31F61CD61A9
|
||||
:100CFF00CDEE160061CDFED40061FFFE9A00FCF828
|
||||
:100D0F00FF0EFEB20061CDFED5004C09DF0EC18F84
|
||||
:100D1F0006086FC9FC9F0608C0EE0400CF06080046
|
||||
:100D2F00F8E3D75200EF025202FE3700CFC8FC00A3
|
||||
:100D3F00CF060800BF0408C716629F0008410011C4
|
||||
:100D4F008F26259B4100118F27259F0108C6510033
|
||||
:100D5F00FE62FFEF025205CF060800C1510CFE0ADA
|
||||
:100D6F0000C0D7C1511DFE0200C0D761DD717BFAF3
|
||||
:100D7F0070CEC0A59EC47CFF9EC4609EC461CDD7BB
|
||||
:100D8F0061DD717BFAC18EC45C1BFED6FFCF0608F6
|
||||
:100D9F0001FED7FFC061CDD731F2FA1AC1AEE4BF61
|
||||
:100DAF00BAFCAEE6BFBCFCAED4BFBEFC30FFFFBE8C
|
||||
:100DBF00E4BEE6BED4C0D731F2FA11C1AFBAFCBE61
|
||||
:100DCF00E4AFBCFCBEE6AFBEFCBED4C0D7C1BFC053
|
||||
:100DDF00FC13BFC2FC15BFC4FC17BFC6FCC0D7AF06
|
||||
:100DEF00C0FCDBC2FCEBC4FCFBC6FCD7534B305240
|
||||
:100DFF005430324E323030475631323000FFC1500E
|
||||
:100E0F00FEFEAB0061DD717BFACF060800FE0A0023
|
||||
:100E1F00FEA4FF61CDF8E3EECF00C7FB0408BFBA15
|
||||
:100E2F00FC8FC0009C05C5C337040600BFBCFC3552
|
||||
:100E3F0036710E300000522BFE6600C2C4C6301F42
|
||||
:100E4F000EB800300000B8022004AFBCFCB8003070
|
||||
:100E5F000F00B802AFBAFC61FF520AFE3AFFECF87E
|
||||
:100E6F00FF0E717BFAC1C7FB04088C05C65C80FEC0
|
||||
:100E7F000200C0D761DD717BFA70CFC0FFA59FC0A4
|
||||
:100E8F00007CFF9FC000609FC00061CDD7618BFECB
|
||||
:100E9F00E2FF717BBE410011FB000017CEFC006129
|
||||
:100EAF00CB089EFDF31161C999A58392DFF7D7FE99
|
||||
:100EBF00B1FED5C8FCDF23C1CF0308035109FEF4EF
|
||||
:100ECF00FDC0D2DF37FE3800A20408CF0308075158
|
||||
:100EDF0009FEE1FDD2B20408DF22C7FB040831830B
|
||||
:100EEF0002C6D7C6510AFECCFD624C1FDF06CFC823
|
||||
:100EFF00FC01EF04CFC8FC00C0EE5BFEC0EE55FE58
|
||||
:100F0F00C7C1FB04088B31196C0161589BC0C6D750
|
||||
:100F1F00717BFAFE4DFEAF0408040600C114368340
|
||||
:100F2F000E300000522DF3FE77FF8FC000FE2BFE18
|
||||
:100F3F0061CF5C807C8073C0041900CEFC0F61CB45
|
||||
:100F4F00C55404EF03C55417FE18FEC7360008BB7F
|
||||
:100F5F00629C0288089C03D1DD334C41DE2F70F177
|
||||
:100F6F00312DB161090033081C000851FF612A417E
|
||||
:100F7F000E118FD0FF613B118FD1FF6138DC0E8BCB
|
||||
:100F8F005C03DF0964C6C4FE2BFDEECAFDC6C4EECA
|
||||
:020F9F00C3FD90
|
||||
:0A0FF60031363A30383A3139000044
|
||||
:0A20000000060C12181E242A3036C8
|
||||
:10200A00001632486480961228446076920824406A
|
||||
:10201A004040666D756C0000404066646976000059
|
||||
:10202A004040666164640000404066737562000067
|
||||
:10203A00404066636D70000061636F7300000000CA
|
||||
:10204A006173696E000000006174616E0000000037
|
||||
:10205A006174616E32000000636F7300000000005B
|
||||
:10206A0073696E000000000074616E0000000000D9
|
||||
:10207A00636F73680000000073696E6800000000F7
|
||||
:10208A0074616E680000000065787000000000004E
|
||||
:10209A0066726578700000006C64657870000000F4
|
||||
:1020AA006C6F6700000000006C6F67313000000041
|
||||
:1020BA006D6F646600000000706F7700000000001A
|
||||
:1020CA0073717274000000006365696C000000009F
|
||||
:0E20DA00666C6F6F72000000666D6F64000030
|
||||
:1020E8007B5DCFBFA8D6E43FDCEF1AA192C031D008
|
||||
:0420F80021409705E7
|
||||
:0A21000031363A30383A3139000028
|
||||
:10210A0001020203030200FEFBF7F3F0F0F3FA0404
|
||||
:10211A001225384D5F6E777A776E5F4D3825120437
|
||||
:10212A00FAF3F0F0F3F7FBFE0002030302020100E8
|
||||
:10213A000000000000000000000000000000000095
|
||||
:10214A000000000000000000000000000000000085
|
||||
:10215A000000000000000000000000000000000075
|
||||
:10216A000000000000000000000000000000000065
|
||||
:10217A000000000000000000000000000000000055
|
||||
:10218A000000000000000000000000000000000045
|
||||
:10219A000000000000000000000000000000000035
|
||||
:1021AA000000000000000000000000000000000025
|
||||
:1021BA000000000000000000000000000000000015
|
||||
:1021CA000000000000000000000000000000000005
|
||||
:1021DA0000000000000000000000000000000000F5
|
||||
:1021EA0000000000000000000000000000000000E5
|
||||
:1021FA0000000000000000000000000000000000D5
|
||||
:10220A0000000000000000000000000000000000C4
|
||||
:10221A0000000000000000000000000000000000B4
|
||||
:10222A00000000000000000000000000000000ADF7
|
||||
:10223A0030AE70B000B300B470B5A0B780BA00BBBE
|
||||
:10224A0090BD00BE00BFF0C300C5C0C800CAC0042C
|
||||
:10225A000012000C10240010D01BF00AF008E00C49
|
||||
:10226A00F008C008B007F00B0005D0020009000012
|
||||
:10227A000000000000000000000000000000000054
|
||||
:10228A000000000000000000000000000000000044
|
||||
:10229A000000000000000000000000000000000034
|
||||
:1022AA00000000000000000000000000000000AD77
|
||||
:1022BA0030AE70B000B300B470B5A0B780BA00BB3E
|
||||
:1022CA0090BD00BE00BFF0C300C5C0C800CAC004AC
|
||||
:1022DA000012000C10240010D01BF00AF008E00CC9
|
||||
:1022EA00F008C008B007F00B0005D002000900870B
|
||||
:1022FA009A99993E0000003F01020203030200FE80
|
||||
:10230A00FBF7F3F0F0F3FA041225384D5F6E777A93
|
||||
:10231A00776E5F4D38251204FAF3F0F0F3F7FBFEFF
|
||||
:10232A00000203030202010001020203030200FE8B
|
||||
:10233A00FBF7F3F0F0F3FA041225384D5F6E777A63
|
||||
:10234A00776E5F4D38251204FAF3F0F0F3F7FBFECF
|
||||
:10235A00000203030202010001020203030200FE5B
|
||||
:10236A00FBF7F3F0F0F3FA041225384D5F6E777A33
|
||||
:10237A00776E5F4D38251204FAF3F0F0F3F7FBFE9F
|
||||
:10238A00000203030202010001020203030200FE2B
|
||||
:10239A00FBF7F3F0F0F3FA041225384D5F6E777A03
|
||||
:1023AA00776E5F4D38251204FAF3F0F0F3F7FBFE6F
|
||||
:1023BA00000203030202010001020203030200FEFB
|
||||
:1023CA00FBF7F3F0F0F3FA041225384D5F6E777AD3
|
||||
:1023DA00776E5F4D38251204FAF3F0F0F3F7FBFE3F
|
||||
:1023EA0000020303020201F6DA6E940001020203FC
|
||||
:1023FA00030200FEFBF7F3F0F0F3FA041225384D5E
|
||||
:10240A005F6E777A776E5F4D38251204FAF3F0F033
|
||||
:10241A00F3F7FBFE000203030202010001020203BA
|
||||
:10242A00030200FEFBF7F3F0F0F3FA041225384D2D
|
||||
:10243A005F6E777A776E5F4D38251204FAF3F0F003
|
||||
:10244A00F3F7FBFE0002030302020100010202038A
|
||||
:10245A00030200FEFBF7F3F0F0F3FA041225384DFD
|
||||
:10246A005F6E777A776E5F4D38251204FAF3F0F0D3
|
||||
:10247A00F3F7FBFE0002030302020100010202035A
|
||||
:10248A00030200FEFBF7F3F0F0F3FA041225384DCD
|
||||
:10249A005F6E777A776E5F4D38251204FAF3F0F0A3
|
||||
:1024AA00F3F7FBFE000203030202017F7E7D7C7BC1
|
||||
:1024BA007A797877767574737271706F6E6D6D6CE8
|
||||
:1024CA006B6A696867666564636261605F5E5D5CCA
|
||||
:1024DA005B5A59585756555453525151504F4E4DB5
|
||||
:1024EA004C4B4A49484746454443420001020203CD
|
||||
:1024FA00030200FEFBF7F3F0F0F3FA041225384D5D
|
||||
:10250A005F6E777A776E5F4D38251204FAF3F0F032
|
||||
:10251A00F3F7FBFE000203030202010008010102B5
|
||||
:10252A000203030200FEFBF7F3F0F0F3FA041225AC
|
||||
:10253A00384D5F6E777A776E5F4D38251204FAF35D
|
||||
:10254A00F0F0F3F7FBFE00020303020201000102AE
|
||||
:10255A000203030200FEFBF7F3F0F0F3FA0412257C
|
||||
:10256A00384D5F6E777A776E5F4D38251204FAF32D
|
||||
:10257A00F0F0F3F7FBFE000203030202010001027E
|
||||
:10258A000203030200FEFBF7F3F0F0F3FA0412254C
|
||||
:10259A00384D5F6E777A776E5F4D38251204FAF3FD
|
||||
:1025AA00F0F0F3F7FBFE000203030202010001024E
|
||||
:1025BA000203030200FEFBF7F3F0F0F3FA0412251C
|
||||
:1025CA00384D5F6E777A776E5F4D38251204FAF3CD
|
||||
:1025DA00F0F0F3F7FBFE000203030202010001021E
|
||||
:1025EA000203030200FEFBF7F3F0F0F3FA041225EC
|
||||
:1025FA00384D5F6E777A776E5F4D38251204FAF39D
|
||||
:10260A00F0F0F3F7FBFE00020303020201000000F0
|
||||
:10261A0000001F003B005A0078009700B500D40064
|
||||
:08262A00F300110130014E0123
|
||||
:10263200506CED032E710300710B20D771130071E2
|
||||
:102642001B20D730FA00ED213DC1506CFDED2CC0AE
|
||||
:1026520062D772344FFB89616A99D7C1E6A1C15032
|
||||
:1026620084FDCB2D1004D7AF0EF92414001231FFD4
|
||||
:1026720033BDD813BDDAD7300700C1E6A1C15084FB
|
||||
:10268200FDCB2D1004D7C72008FBF8FFF519F93050
|
||||
:102692009600FD213D305400BB17C1E6A1C150FE9A
|
||||
:1026A200C1FD32261006304000BB17C1E6A1C15061
|
||||
:1026B20006C1FD32261006D2DD0A71004AFBE51979
|
||||
:1026C200F9EDC027304057BB17C1E6A1C1503EC14A
|
||||
:1026D200FD3226100617040300C1300400C1500C5D
|
||||
:1026E200C1506CFD5C2D100630D4C0BB17C1E6A1F1
|
||||
:1026F200C1500EC1FD32261006F690BB17C1E6A1ED
|
||||
:10270200C1500CC1FD32261006716201300900FD74
|
||||
:10271200EC3A6231DEB1609C077163013134200210
|
||||
:10272200EFFA7122208C07318EF723DD0A24030091
|
||||
:10273200DD0B240400EF06CF19F902EF2E34392104
|
||||
:10274200C5304000C1C1FD322610068FF9229F0319
|
||||
:10275200F9DBFC22AFFA22BF04F933BF06F9DB0032
|
||||
:1027620023AFFE22BF08F933BF0AF930C800FD21AA
|
||||
:102772003D30D4C0BB17C1E6A1C1500EC1FD322607
|
||||
:10278200100630C800FD213D300400FD4B269C0799
|
||||
:102792004C6DDD0A8C074C6EDD048C074C6F170400
|
||||
:1027A2000300C1300400C1500CC1FD32261006F6F0
|
||||
:1027B200BB17C1E6A1C1503EC1FD3226100671729F
|
||||
:1027C20001300800FDEC3A629F02F930D727FD8AFA
|
||||
:1027D2003B1008C6D7C7C1FBF8FF8F0CF94F02F9AF
|
||||
:1027E200DD477122028F02F9318EF7BDD813BDDAAF
|
||||
:1027F200FD1C0CC9DCCDCC30DF42FD8F06C9DC00EC
|
||||
:1028020000308043FD460AADD8BDDCADDAC9D866DA
|
||||
:10281200E6C9DAA242FDF808FD790BADD8BF0EF980
|
||||
:102822008F0EF99F46FB712302D574FCDF7971226A
|
||||
:10283200024046FB15DC25FD6926FD1C0CAF04F9A0
|
||||
:10284200BDDCAF06F9FD8F06FD750B3172DB05FDB0
|
||||
:10285200F10BEF03FD790BADD8BBEF23FD6926FD2C
|
||||
:102862001C0CAF08F9BDDCAF0AF9FD8F06FD750B34
|
||||
:102872003172DB05FDF10BEF03FD790BADD8BBD94E
|
||||
:1028820003F9F1610900BB318D086E0108BB7123A8
|
||||
:102892000217C1E6A1C1500CC1FD32261006D2DFDB
|
||||
:1028A200068F02F99F0CF9A074FCF7C0C6D7C7FDCA
|
||||
:1028B2007926301100FD213D300F00FD5D263003E9
|
||||
:1028C20000FD213D301F00FD5D26301600FD213D3B
|
||||
:1028D200560166D1DD1071704BFBE6A1C15013FDAC
|
||||
:1028E200AD37C0716307716307CF10F90317F11297
|
||||
:1028F200C6D7C7716207D510F9DD3C301400FD5A06
|
||||
:1029020029344BFB895C9F998A0C7CFF50FF5C1435
|
||||
:10291200D1DD1D8A0C7CFF5C14FD5426710A2356FE
|
||||
:1029220000310203058666D1DFF7710303710B23C1
|
||||
:10293200345EFB895CEB99716207F510F9FD79262B
|
||||
:10294200303300FD213DF6FD5D2671784BFBE6C17B
|
||||
:102952005013FDAD37C0C6D7C7C1C1FBF8FFCC01CC
|
||||
:10296200008C025C20D1DD0C710010F98C016C200E
|
||||
:102972009C01EF118C025C10D1DD0A710810F98CF8
|
||||
:10298200016C109C018C025C08D1DD0C711010F9F5
|
||||
:102992008C016C089C01EF118C025C04D1DD0A7180
|
||||
:1029A2001810F98C016C049C018F4BFB5C9F72D94F
|
||||
:1029B20010F9F1316D14D910F9F1314D616D0861E1
|
||||
:1029C2006C5C606162629F4BFB8F57FB7CFF50FF28
|
||||
:1029D2005E01D1DD218F57FB7CFF5E01FD54267124
|
||||
:1029E2000A23CC0000310203076159008BD1DFF5C5
|
||||
:1029F200710303710B23D510F9DD06300A00FD21A6
|
||||
:102A02003DD910F9F1C15004C15084FDCB2D100401
|
||||
:102A1200F71004C6D7C7D93FFBF1C15006C1508495
|
||||
:102A2200FDCB2D10046276D940FBF1C15007C15095
|
||||
:102A320084FDCB2D100462616617F112C6D7FD1713
|
||||
:102A42002AF7D7C7FD3726FD3E2671030E715207BE
|
||||
:102A520030A000FD213D7153075663664C05DE032D
|
||||
:102A6200E7EF24669F47FB71020E710A20711A205C
|
||||
:102A7200306400FD213D3102000CFD3726FD3E266B
|
||||
:102A820071030EE7EF01F7C6D731040018FD3726B0
|
||||
:102A9200FD3E2671030E715207FD4526FD4526FDBA
|
||||
:102AA2004526715307FD3726FD3E2671030EF7D7E3
|
||||
:102AB2008F75FCB075FCD161E8ED592BCF75FC80A8
|
||||
:102AC200710407E6613012F6710420611043DD2BB8
|
||||
:102AD200710407E661306061FB7101203104200F4F
|
||||
:102AE20071304BFBE6A1C15011FDAD37C0EF0C7147
|
||||
:102AF200384BFBE6C15011FDAD37C04046FB366195
|
||||
:102B0200D8E576FC4046FB02DC094046FB2C61D846
|
||||
:102B1200F576FC4076FC01DF0C4046FB02DC064009
|
||||
:102B220046FB2CDC0BD576FCDF0B4046FB36DE0584
|
||||
:102B3200712304EF037122043112050671404BFB2D
|
||||
:102B4200EF0471484BFB31120503E6EF01F66061B9
|
||||
:102B5200FB714102FD0E2CD7C757008F11F9763059
|
||||
:102B62001000C150A4FDED2CC0629F11F9D521FBCC
|
||||
:102B7200DD04F7ED0C2C717BFA667F11F95C08D14C
|
||||
:102B8200DD1E8F11F95C08D1DF0C301000C150122C
|
||||
:102B9200FDAD37C0EF0A302000C15012FDAD37C085
|
||||
:102BA200667F11F95C04D1DD1E8F11F95C04D1DF5F
|
||||
:102BB2000C300400C15012FDAD37C0EF0A300800DE
|
||||
:102BC200C15012FDAD37C08F11F95C40D1DD09E66D
|
||||
:102BD200A1C15012FDAD37C08F11F95C01D1DD08E2
|
||||
:102BE200E6C15012FDAD37C0717AFA8F11F95C411E
|
||||
:102BF200D1DD163411F9895CBE99D911F9F1C150B0
|
||||
:102C020010C150A4FDCB2D1004F7C6D7C7C1FBF8E5
|
||||
:102C1200FF8F4AFB5C01D1DF2217C1E6A1C1A1A14E
|
||||
:102C2200C1506CFD5C2D10068B9F47FB8C019F48A9
|
||||
:102C3200FBE6A1FD4B269F49FBEF04CF47FB634018
|
||||
:102C420047FB05DE03E6EF01F6F1C15012C150A4C5
|
||||
:102C5200FDCB2D1004C0C6D7FDB028F7D7FDF42850
|
||||
:102C6200F7D7C78F5EFB7617F1FD5A29664F5EFBD9
|
||||
:102C7200DFF1F55EFBF7C6D77140F00071783002E4
|
||||
:102C8200713AE6713BE2713AEA713BEE5A06FCCFC9
|
||||
:102C920034024AE552FF711A52710A5271483002E7
|
||||
:102CA2007130300271203002CF330205CF32020A76
|
||||
:102CB2007130310271203102713BE6717030028E47
|
||||
:102CC200265CFC9E26D7717830027148F000D7311D
|
||||
:102CD2008EED982E300400BF2401D7300400BF22AD
|
||||
:102CE20001D78B318EFD822ED2D7D7C7C1C1FBF857
|
||||
:102CF200FF31422003FD2A2F3134200300EFF97106
|
||||
:102D02003220F521FB8C02318EFD822ED2DD0ACFDC
|
||||
:102D120021FB02713320F7EF3D8C0AFDD12CFDE13E
|
||||
:102D22002E8C026C01FDD12CFDD62C301740BF1C1D
|
||||
:102D320001FDDD2CF6BF2A01710BE2CE44FF318288
|
||||
:102D4200E202EFFA8E449C01FD0A2F710BE271330D
|
||||
:102D5200208C01318E121004C6D7C7C1FBF8FF3197
|
||||
:102D6200422003FD2A2F3134200300EFF971322073
|
||||
:102D7200FDE42CDD07713320E7A3EF4A8C08FDD177
|
||||
:102D82002CFDE12E8B6C01FDD12CFDD62C30174091
|
||||
:102D9200BF1C01FDDD2C8C0A91DF04F6BF2A0171F4
|
||||
:102DA2000BE2CE44FF3182E202EFFAAC0C148E4405
|
||||
:102DB2009961790C61690A8C0AD1DFDAFD0A2F71F7
|
||||
:102DC2000BE2713320F7C0C6D7C7C1FBF8FF31420F
|
||||
:102DD2002003FD2A2F3134200300EFF971322071D4
|
||||
:102DE2000AE6FDE42CDD06713320E7EF118C08FDC5
|
||||
:102DF200D12C8C0AFDD12CFD0A2F713320F7C0C6CD
|
||||
:102E0200D7C7C1FBF8FF31422003FD2A2F313420FE
|
||||
:102E12000300EFF9713220710AE6710BE2FDE42C36
|
||||
:102E2200DD09713320717AFAE7EF52710BE2312238
|
||||
:102E32002039C7341AFBAC0C1652048B99A5A79201
|
||||
:102E4200DFF9C63184BD02EFFA717ABDCEB144CB4F
|
||||
:102E5200B41AFB8C0A318EBEB8CEBB48714BE171FD
|
||||
:102E62004BE5710ABD8C089E44EF118C089E44719B
|
||||
:102E72000BE68C0A9F20FBAC0CBF1EFBF7C0C6D72B
|
||||
:102E8200C716FDBC2E17F1FD982ED2DD06FD0A2FC6
|
||||
:102E9200E7EF01F7C6D7C716710AE6710BE2669E25
|
||||
:102EA200443182E20300EFF9F6420401DD09AF0486
|
||||
:102EB20001BF0C01E7EF01F7C6D7AF2801085CFBA1
|
||||
:102EC20008BF2801FDEC2CAF28015CFBBF280130B4
|
||||
:102ED2000400BF2A01301780BF1C01FDDD2CD7AFD3
|
||||
:102EE2002401086C0408BF2401AF28016C0F086C90
|
||||
:102EF2000B08BF2801FDEC2CAF2A01085CFB08BFC0
|
||||
:102F02002A01FDEC2CEDBC2EFDD62CF6BF2A013099
|
||||
:102F12000B0BBF2801FDEC2C300B0FBF2801FDEC81
|
||||
:102F22002C300F0FBF2801D7710BBD0000717BBD84
|
||||
:102F32007132057120F000FDEC2CF6BF2601502401
|
||||
:102F4200BF1401CB440018300F0FBF28017133208A
|
||||
:102F5200712320710BE2710AE6FDBC2ECE44FF31D3
|
||||
:102F620082E202EFFAFD0A2FAF0401BF0C017142A7
|
||||
:102F720020D731342002EFFAFDE12E71330571289A
|
||||
:102F8200F000714320D7D7D7F1E7240000D7D964E6
|
||||
:102F9200FBF1BE66D7D964FBF1BE6AD7D964FBF1F7
|
||||
:102FA200BE64D77100F200304400BFB60130018820
|
||||
:102FB200BF9001300984BF9E01BF9C01BF9A01BF2F
|
||||
:102FC2009801BF9601BF9401BF9201F53CFF30FE0C
|
||||
:102FD20000BFBE015004BFBC01F6BFB80150EEBF36
|
||||
:102FE200BA01A1BFB201C918FE008F18F931350725
|
||||
:102FF200F565FBCB6CFF00D730EF00BFB401F6BF25
|
||||
:10300200BA017108F200D7D965FBFD8A2FDD1123C1
|
||||
:10301200DD4423DD3D23DD1F23DD3F23DD44EF3689
|
||||
:103022008F16F9318F240300DD09240200DF3AFDF7
|
||||
:10303200DD30D7FD6C30D7F6426CFF61E8E612AEA8
|
||||
:103042006C23BE6CF6426EFF61E8E612AE6E23BEE2
|
||||
:103052006ED7FDDD30D7FD6C30D7F6BE6CCB6EFF80
|
||||
:1030620000D7CB6CFF00F6BE6ED74047FB03DE17DE
|
||||
:10307200A022FB4022FB7FDE07F6BE6CBE6EEF068F
|
||||
:10308200D964FBF1BE6ED74047FB0CDE27F6426CDB
|
||||
:10309200FF61E8B26CFFD964FBF1426EFFDD3BD900
|
||||
:1030A20064FB12AE6E43DE03E6EF02F6B112AE6EC1
|
||||
:1030B20003BE6ED7D964FBF1426CFFDD14D964FB09
|
||||
:1030C20012AE6C43DE03E6EF02F6B112AE6C03BE43
|
||||
:1030D2006CF6426EFF61E8B26EFFD7D523FBDD04CA
|
||||
:1030E200B023FBD7CF23FB0AAE6E4228FBDD13AF22
|
||||
:1030F20028FB426EFFDE05B26EFFEF06AE6EA1A1A7
|
||||
:10310200BE6EAE6C4226FBDD13AF26FB426CFFDEC9
|
||||
:1031120005B26CFFEF06AE6CA1A1BE6CD924FBF127
|
||||
:10312200F734020023DD0625DD0325DF1F4047FBC0
|
||||
:103132000CDE0CF6BF26FBD964FBBF28FBEF1FD9C0
|
||||
:1031420064FBF1BF26FBF6BF28FBEF124047FB0CE6
|
||||
:10315200DE07E6A1BF28FBEF05E6A1BF26FBAE6CAA
|
||||
:103162004226FBDF0AAE6E4228FB61F8A024FBD7A1
|
||||
:103172008F2AFBB02AFBD1DF714066FB02DF0D31E3
|
||||
:10318200C4D00C714BD0CF2DFB02EF03F52DFBD930
|
||||
:1031920066FBFD8A2FDD0623DD0D23DD14F6BE66F8
|
||||
:1031A200F52CFBF52BFBD7FD902FF52CFBF52BFB1C
|
||||
:1031B200D7D52DFBDD2DD92CFBF1E734020023DD21
|
||||
:1031C2000625DD0325DF05F6BE66EF03FD902FA081
|
||||
:1031D2002CFB402CFB20DF06F52CFBB02DFBCF2A6D
|
||||
:1031E200FB16D7FD902FCF2AFBC8D7C78F2EFBB077
|
||||
:1031F2002EFBD161E8EDB332D969FBFD8A2FDD09DF
|
||||
:1032020023DD1223DD1B23DD43F6BE6AF530FBF519
|
||||
:103212002FFBEDB332FD972FF530FBF52FFBEDB30E
|
||||
:1032220032D930FBF1E734020023DD0625DD032528
|
||||
:10323200DF05FD972FEF03F6BE6AA030FB4030FB9F
|
||||
:103242001061F8F530FBCF2EFB32EF65CF2EFB3C41
|
||||
:10325200D52FFBDD08F6BE6AF52FFBEF54D930FB04
|
||||
:10326200F1BDD85004FD5A0501087208D930FBF1AE
|
||||
:10327200312F04F1231489318FD2DD040192DFFC56
|
||||
:10328200605CC076D1DF05F530FBEF03A030FBE5D3
|
||||
:103292002FFB665C80D1DD0FFD972F665C40D1DD90
|
||||
:1032A20010CF2EFBB4EF0A665C40D161F8CF2EFB43
|
||||
:1032B200B4C6D7D532FBDD04B032FBD7D967FBFDEC
|
||||
:1032C2008A2FDD0F23DD1A23DD1023DD5523DD29AF
|
||||
:1032D20023DD3AF6BE64F57AFCD7FD9E2FF57AFC23
|
||||
:1032E200D7D57AFCDF08FD9E2FE57AFCEF06F6BE05
|
||||
:1032F20064F57AFCCF32FBFAD7D57AFCDF0BFD9E60
|
||||
:103302002FE57AFCCF32FBFAD7F567FBD7D57AFCEB
|
||||
:10331200DF0BF6BE64E57AFCCF32FBFAD7CF67FB50
|
||||
:1033220002D7D9A3FBFD8A2FDD0923DD2523DD0A80
|
||||
:1033320023EF1FF6BE64F57AFCD7D57AFCDF08FDD1
|
||||
:103342009E2FE57AFCEF06F6BE64F57AFCCF32FBDF
|
||||
:10335200FAD7FD9E2FE57AFCD7C736F00071F4DC70
|
||||
:10336200297170F000CE9D08CE9EC0CE9F80F5924E
|
||||
:10337200FFF593FFCE9415E596FFF595FFCE9711D5
|
||||
:10338200CE9809CE9C7F71003EFB711BE3712BE34B
|
||||
:10339200711AE7712BE7717A9D710A9E31929E0232
|
||||
:1033A200EFFA710B9E715320716320717320C6D79F
|
||||
:1033B200C73152201E715220710A9E31929E02EF35
|
||||
:1033C200FA346CFB3692FF52078B99A5A792DFF96C
|
||||
:1033D200710B9EC6D7C7880616316220157162200E
|
||||
:1033E200C73434FB3092FF1652078B99A5A792DFA0
|
||||
:1033F200F9C66673671834FBC6D7C77153203164A8
|
||||
:10340200201E716320710A9E31929E02EFFA34925D
|
||||
:10341200FF3634FB52078B99A5A792DFF9710B9EF9
|
||||
:1034220031742013717B9E8F74FB9E9A8F75FB9E65
|
||||
:103432009B716320717A9EC6D7667367183CFBD76F
|
||||
:10344200349FFB89616899D772667362183CFBD717
|
||||
:10345200318EC117F1243000FDD733C0D7675C3FEE
|
||||
:1034620072667362183CFBD75C3F318EC117F12440
|
||||
:103472003000FDD733C0D7CF64FBFFF53CFBCF3D17
|
||||
:10348200FB10CF3FFB5CCF40FB5FD7C788061666B9
|
||||
:103492004C6061C8ED1F3717F1E73402002561F86F
|
||||
:1034A200ED7A35B12361E3ED8735B12361E3ED9325
|
||||
:1034B200352361F8ED993524110024050061D8ED1A
|
||||
:1034C200B83524030061F8EDBE352361F8ED04360A
|
||||
:1034D2002361F8EDD5352361F8ED0D37B1240400F1
|
||||
:1034E20061D8ED623624000061F8ED6E36B1240534
|
||||
:1034F2000061D8ED7436252361E3ED7D362361F852
|
||||
:10350200ED86362361F8ED8D362361F8ED9636238C
|
||||
:1035120061F8ED9D362361F8EDA5362361F8EDAB38
|
||||
:10352200362361F8EDB2362361F8EDBD362361F83A
|
||||
:10353200EDC5362361F8EDCA362361F8EDD23624A3
|
||||
:10354200040061F8EDD7362361F8EDE2362561F823
|
||||
:10355200EDED362361F8EDF2362407002403006115
|
||||
:10356200D8EDFD3624000061F8ED02372524100065
|
||||
:1035720061D8ED6836ED1F37FD3B345CC0316A9F80
|
||||
:10358200A1FBED1F3730402AFD8A3BFD3B34ED1F86
|
||||
:1035920037FD3B34ED1F37FD3B344041FB6ADF13FF
|
||||
:1035A2004042FB68DF0D4C6CDF09305043FD8A3B23
|
||||
:1035B200713AE6ED1F37FD3B34ED1F3717F1043C3E
|
||||
:1035C200FB1489616F9967D1DD06309340FD8A3B18
|
||||
:1035D200ED1F37675C02D1DD08305A2CFD8A3BEFC4
|
||||
:1035E2000C675C01D1DD06305F2CFD8A3B675C3CD9
|
||||
:1035F200D1DD0C675C3CFD4A3430642CFD8A3BED26
|
||||
:103602001F3767D1DD575C01D1DD05300800EF01BE
|
||||
:10361200F6609F9FFB675C02D1DD03E6EF01F6FDDA
|
||||
:103622004234675C04D1DD04E6A1EF01F6FD4234C9
|
||||
:10363200675C08D1DD05302000EF01F6FD423467FA
|
||||
:103642005C10D1DD05301000EF01F6FD4234675CFD
|
||||
:1036520020D1DD05304000EF01F6FD4234ED1F3789
|
||||
:10366200FD3B34ED1F37FD3B34ED1F37FD3B34EDA1
|
||||
:103672001F37675C0FFD4A34ED1F37675C7FFD52D1
|
||||
:1036820034ED1F3767FD6A34ED1F37675C07FD5263
|
||||
:1036920034ED1F3767FD6A34ED1F37675C1FFD523B
|
||||
:1036A20034EF7A67FD5234EF74FD3B349E99EF6D2F
|
||||
:1036B200675C7FFD4A34717220EF62FD5F34717284
|
||||
:1036C20020EF5AFD5F34EF55675C1FFD4A34EF4D22
|
||||
:1036D200FD3B34EF48FD3B3430FF3DFD8A3BEF3D7F
|
||||
:1036E200FD3B3430B83DFD8A3BEF32FD3B34EF2DDC
|
||||
:1036F200FD3B3430DB3DFD8A3BEF22FD3B34EF1DC9
|
||||
:10370200675C01D1DD17FD2C46EF12FD3B34318E93
|
||||
:10371200247200DD0524050061F8CEABAAC6D7C726
|
||||
:1037220016664C30DC094C37DE05FDB233EF5166CC
|
||||
:103732004C02DF118FA1FB5C03318E316D086F3EAD
|
||||
:10374200FB0812EF4D664C4FDF06FD4D46F3EF428C
|
||||
:10375200664C3DDF0CAE90BF9CFBD99CFBF112EF97
|
||||
:1037620031664C3EDF07D99DFBF112EF25664C7F97
|
||||
:10377200DF0E30EE40FD8A3B713AE6324A00EF122C
|
||||
:10378200664C60DC0532EE00EF086673093CFB31E3
|
||||
:103792008E12C6D7C71617F1241000240500DE09C1
|
||||
:1037A2006672383CFB00710221C6D7717BFAC7C131
|
||||
:1037B200C1FBF8FF8C02730944FB5E0AD1DF248C43
|
||||
:1037C20002318E043CFB14896E0A99710A23CC01E2
|
||||
:1037D20000310203086159018C01D1DFF471030346
|
||||
:1037E200710B231004C6717AFAD7675C0372667391
|
||||
:1037F20062189EFBD7CFA1FB03D7C788061617F125
|
||||
:10380200E734020025DD2F23DD1725DD1923DD0531
|
||||
:1038120023DD1BEF2D304000C15012FDAD37C0EF4C
|
||||
:1038220021FDEC37EF1CFDEC37FDB532EF1466736A
|
||||
:1038320067189EFBEF0C6791DF08E6C15012FDADE1
|
||||
:1038420037C0C6D7C71617F1E7240000DD0F23DD06
|
||||
:1038520061240300DD0C24FB00DD6CEF60323500D7
|
||||
:10386200EF664047FB5BDC06CFA2FB0FEF3240471F
|
||||
:10387200FB4CDC06CFA2FB0BEF264047FB33DC06FA
|
||||
:10388200CFA2FB07EF1A4047FB1ADC06CFA2FB03CD
|
||||
:10389200EF0E4047FB06DC05E5A2FBEF03F5A2FBBA
|
||||
:1038A20031120505308000EF01F6086FA2FB081205
|
||||
:1038B200EF168F9FFBF59FFB318E12EF0B6673099C
|
||||
:1038C2009EFB318E12EF01F7C6D7C71617F1E72418
|
||||
:1038D2000000DD3C241000DD1C23DD1C23DD34242C
|
||||
:1038E2000E00DD18241100DD18240F00DD1824302D
|
||||
:1038F20000DD18EF23E7EF22E7A3EF1E320400EF0B
|
||||
:1039020019320500EF14320600EF0F320700EF0AFA
|
||||
:10391200F7EF07320300EF02F792C6D7D9AEFBF1F9
|
||||
:10392200312FD7706131FDBA4B1344020071FED7BB
|
||||
:1039320049B524318EC15013C150A4FDCB2D1004C2
|
||||
:10394200D7C78F92FCB092FCD161E8ED983AE5922C
|
||||
:10395200FC31122103ED793A4016F90361E8ED7961
|
||||
:103962003A8FAFFB2FB3FBFD2539DC118FAFFB9FE5
|
||||
:1039720044FB8FAFFB9FB3FBF5B4FBEF5F8FB3FB51
|
||||
:103982004FAFFBDE05A0B4FBEF0B8FAFFB4FB3FBDA
|
||||
:1039920061D8B0B4FBB093FCD593FCDF3F8FB4FB8E
|
||||
:1039A2007C804CA0DC0E8FB4FB7C804CC0DE05A07A
|
||||
:1039B200B3FBEF1B8FB4FB318F44E10071FEDE0FCE
|
||||
:1039C2008FB4FB318F44C10071FE61C8B0B3FB8F6D
|
||||
:1039D200B3FB9F44FBCF93FC20F5B4FB8F44FB9FCA
|
||||
:1039E20041FB8FAFFB9F42FB8FAEFB2FB5FBFD254B
|
||||
:1039F20039DC418FAEFB9FB5FBFD1E39609F45FB55
|
||||
:103A0200D9AEFBF1313F609FA4FBFD1E3912FD329E
|
||||
:103A120039F690F9AEFBF3231231FF31EE03312F69
|
||||
:103A22001249B524318EC1F6C15050FDCB2D100480
|
||||
:103A3200CFB6FB64B0B6FBD5B6FBDF118FAEFB9FF2
|
||||
:103A4200B5FBFD1E3912FD3239CFB6FB64D968FBD6
|
||||
:103A5200F1E7240000DD1A23DD0523DD0AEF12D988
|
||||
:103A620064FBF1BD1AEF0DD944FBF1314FBD1AEFE2
|
||||
:103A720003F6BD1A7113217150F000CE301BCF171F
|
||||
:103A82000006CE31060000000000000000717A300E
|
||||
:103A9200710BE3710BE7C6D7C7168B728C01614AB3
|
||||
:103AA200DE248B728C02614ADE168C01728C0261FA
|
||||
:103AB2004ADE068C01318EEF048C02318E12EF2821
|
||||
:103AC2008B318E12EF228B728C02614ADE068B31B1
|
||||
:103AD2008E12EF148C01728C026142DE068C01316F
|
||||
:103AE2008EEF048C02318E12C6D7C716710AE771A7
|
||||
:103AF2000BE37150F000717B30CE3023CF170006FC
|
||||
:103B0200669E310000000000000000717A30710BE7
|
||||
:103B1200E73182E302EFFA8D1F7158F000318E1205
|
||||
:103B2200C6D7F0317E12E678C4FBD78C01F0317E25
|
||||
:103B320004C4FB14A96168D78C03F0317E04C4FB72
|
||||
:103B420014A96168D7ED753BC731222104313421B4
|
||||
:103B52001F7133217123215600664C0BDD1272F363
|
||||
:103B6200311C7994FCCEFC0061CAFDCC3B86EFE9A6
|
||||
:103B7200F7C6D7C75600664C08DE0BF0317E12F648
|
||||
:103B820078C4FB86EFF0C6D7C7C1C1FBF8FFCC01F2
|
||||
:103B9200008C014C08DE2DFD2D3BDD0AA961490296
|
||||
:103BA200DF1D00E7EF208C014C08DE10FD2D3BDF0E
|
||||
:103BB20006AC02B9F7EF0F615901EFEAE7EF0761CF
|
||||
:103BC2005901EFCD00E71004C6D7C72004FBF8FF68
|
||||
:103BD200CC02FFCC03008C034C08DE42FD3A3BDDF5
|
||||
:103BE20024A9E743DF0300EF308C0372F3311C7921
|
||||
:103BF200C4FBCEFC0061CAD2DF058C03FD243B8CE2
|
||||
:103C0200039C02EF146159038C034C08DE10FD3A49
|
||||
:103C12003B61E800615903EFEF615903EFB88C0291
|
||||
:103C22008161F8ED143DF642C6FB61E800CC01006B
|
||||
:103C3200CC00018B4C0861C8EDC93C717BFA8C0148
|
||||
:103C4200F0317E1279C4FBE743DF628BF0317E04F0
|
||||
:103C5200C4FB14A96168DF348C014DDE0F8C01F0C6
|
||||
:103C6200317E12F678C4FB615901EFEC6159008B89
|
||||
:103C72004C08DE138BF0317E04C4FB14A961686129
|
||||
:103C8200E800615900EFE8717AFAEF3B8BF0317E80
|
||||
:103C920004C4FB14A9E743DD1DA9128C01F0317E97
|
||||
:103CA2003378C4FB8BFD243B615901EF09FD2D3BA9
|
||||
:103CB20061F800615901717AFAFD2D3BDF0300EFD3
|
||||
:103CC20006615900ED353C717BFACC00008B4C0843
|
||||
:103CD200DE3D8BF0317E04C4FB14A96168DF1C0059
|
||||
:103CE2006159008B4C08DE278BF0317E04C4FB1433
|
||||
:103CF200A9616861E800615900EFE88BF0317E0448
|
||||
:103D0200C4FB14A9E743DF02F6B9615900EFBE71A3
|
||||
:103D12007AFA8C0281DD03E7EF01F71004C6D7C7F8
|
||||
:103D2200C1C1FBF8FFFDC9028C02D1DD126169023B
|
||||
:103D3200305C03BBF6614900DDEE618900EFF510EE
|
||||
:103D420004C6D7C1300600C150A8C15030FD5C2D59
|
||||
:103D52001006D7C72006FBF8FF3481FBC5300600EA
|
||||
:103D6200C150A8C15030FD5C2D1006D2DD0D347C4F
|
||||
:103D7200FB895CFC99FDFF3DF7EF378F7CFB5C0113
|
||||
:103D8200D1DD174016F903DF11301000C1A1FDADDE
|
||||
:103D920037C031240F0417FD453D4016F901DD11EE
|
||||
:103DA2004016F906DD0B8F7CFB5C02D161E8FD7ADF
|
||||
:103DB20043F71006C6D7D97DFBF1C15030FDED2C7B
|
||||
:103DC200C0629F80FB71304DFB8F55FB5C08D1DFD9
|
||||
:103DD20006710303710B23F7D7D980FBF1C1D97F99
|
||||
:103DE200FBC15030FDCB2D100471304DFB8F55FBC4
|
||||
:103DF2005C08D1DF06710303710B23F7D7C7200AD2
|
||||
:103E0200FBF8FF300F00C15030FDED2CC04021FB0C
|
||||
:103E120002DF0771104AFBF7EF3F71184AFBCC072C
|
||||
:103E220000CC0802CC09808F7CFB5C03D1DF05CC7F
|
||||
:103E32000607EF03CC062F17040600C1300400C1A9
|
||||
:103E420050A0C15030FD032E100631240F0A401637
|
||||
:103E5200F903DF0417FD453DF7100AC6D730040009
|
||||
:103E6200C15010FDAD37C0D7300800C15010FDADB4
|
||||
:103E720037C0D78F16F9318FF723DD07240200DD13
|
||||
:103E820010EF17F5D4FBF5D6FBF5D5FBF5AAFCEF41
|
||||
:103E9200097152217162217172218FABFCB0ABFCAE
|
||||
:103EA200D161E8ED943FCFABFC088F16F9318FE773
|
||||
:103EB20034020023DD0A25DD07252361F3ED543F9B
|
||||
:103EC2003134071140D4FB02DC2640D4FB26DE202D
|
||||
:103ED200FD5F3EEF1B40D4FB25DF05FD6A3EEF1080
|
||||
:103EE20040D4FB94DF0ACF65FB04F516F971322149
|
||||
:103EF2008F4CFB5C02D1DD15A0AAFC40AAFC0DDCB4
|
||||
:103F02000FCF65FB04F516F9713221EF03F5AAFC18
|
||||
:103F12008F19F9318FE7B12361C30871040271016E
|
||||
:103F220022EF037102223104221140D5FB02DC147C
|
||||
:103F320040D5FB26DE0EFD5F3EEF0940D5FB256135
|
||||
:103F4200F8FD6A3E40D6FB01DF08301000C1FDAD2E
|
||||
:103F520037C031340708715321F5D4FBEF153154C2
|
||||
:103F62002105F5D4FBEF0CA0D4FBD5D4FB61F8CF2F
|
||||
:103F7200D4FBFF31440707717321F5D6FBD73174A7
|
||||
:103F82002104F5D6FBD7A0D6FBD5D6FB61F8CFD658
|
||||
:103F9200FBFFD7C74016F902DF0E308000C1500880
|
||||
:103FA200C15050FDCB2D1004C6D7C72004FBF8FF2B
|
||||
:103FB2004016F903DD064016F905DF218F45FB9C0B
|
||||
:103FC200038F44FB9C028F7CFB9C018E929B17C14A
|
||||
:103FD200300400C1F6C15044FD032E10061004C681
|
||||
:103FE200D7C1506CFDED2CC0629E50D7C7D5AEFC38
|
||||
:103FF200DD06B0AEFCED9140CFAEFC0231140706F7
|
||||
:1040020071104BFBEF0471184BFB4016F903DD06F0
|
||||
:104012004016F905DF798F4BFB7FDAFB76D1DD4E57
|
||||
:104022008F4BFB9FDAFB665C10D1DD1E8F4BFB5C76
|
||||
:1040320010D1DD0C308000C15011FDAD37C0EF0A48
|
||||
:10404200304000C15011FDAD37C0665C02D1DD1EAB
|
||||
:104052008F4BFB5C02D1DD0C304000C15010FDAD36
|
||||
:1040620037C0EF0A302000C15010FDAD37C08F7C41
|
||||
:10407200FB5C03D1DD0E31240F0A30553DFD8A3B36
|
||||
:10408200D261F80031220707305A2BFD8A3B00C665
|
||||
:10409200D78F5CFB5C0FD1DD4E8F5CFB5C01D1DD09
|
||||
:1040A20005F516F9EF418F5CFB5C02D1DD0F710360
|
||||
:1040B20000710B20711300711B2071030E8F5CFBCA
|
||||
:1040C2005C08D1DD0571030EEF0E8F5CFB5C04D141
|
||||
:1040D200DD06711300711B20300500FD213D7102C8
|
||||
:1040E2000E710A20711A20F55CFBF7D7C731845193
|
||||
:1040F20002EF66319451047140300231B2E203E7BB
|
||||
:10410200EF66713BE28F12F9A012F9318EE72400BB
|
||||
:1041120000DD0E23DD1223DD1C23DD2C23DD31EF38
|
||||
:10412200388F19F99E50EF2EF6C15084FDED2CC048
|
||||
:10413200629E50EF21716201300900FDEC3A62315A
|
||||
:104142005A9E50716301EF0E300800FDE33FEF0607
|
||||
:10415200300900FDE33FE7EF0F7160300271483034
|
||||
:1041620002713BE6F512F9F7C6D7C15005C150847A
|
||||
:10417200FDCB2D1004D78F16F9318FE72400006193
|
||||
:10418200F8ED814223DD212361F8ED0D422361F830
|
||||
:10419200ED4C422361F8ED5B422361F8ED66422368
|
||||
:1041A20061F8EDD942ED1A438F17F9318F240200DD
|
||||
:1041B200DD26D5D4FBDD05F5B0FCEF03A0B0FC8F06
|
||||
:1041C200B0FC01DE07F516F9713221D740D4FB03AA
|
||||
:1041D20061D8ED1D43E517F9F5B0FCFD2A2FFD88E6
|
||||
:1041E20026FD452AD2DD0A713221FD742FF516F91A
|
||||
:1041F200D7FD172A7163074017F901DF05F565FB43
|
||||
:10420200EF04CF65FB03CF16F902D7FDA52FCF37F9
|
||||
:10421200001DFD7A2C8F3EFB5C02D1DD0A3080004E
|
||||
:10422200C15010FDAD37C0FD892F714A9DF537FF92
|
||||
:10423200F517F9713221CBE43FEFCBE6F6F0CED49D
|
||||
:10424200EF713818F9CF16F903D7FD1E4331040C6C
|
||||
:1042520007CF16F904713221D7300F00FD6C41CF20
|
||||
:1042620016F905D7FD1E4331020C13300800FD6C10
|
||||
:1042720041300500FD213DCF16F902713221D7CF21
|
||||
:1042820065FB03F6426CFFDF05426EFF61E8D7FD76
|
||||
:10429200FA2FFDC82CFD882F714B9DF54CFBF54D77
|
||||
:1042A200FBF54EFBF54FFB716207CF350003CF37AD
|
||||
:1042B2000019FD8B2ACE3708CBE4BFFFCBE6FFF116
|
||||
:1042C200CED4FFF6BEE0BEE2BED0F5B0FCCF16F90A
|
||||
:1042D20006F5D4FBF5D6FB3102071F71720140D4FB
|
||||
:1042E200FB04DE0C40D6FB04DE064017F902DF2B8E
|
||||
:1042F200E516F9713221713AE7D771730131949E53
|
||||
:1043020002EFFAFD742F712AE761FD712BE7E516C2
|
||||
:10431200F9713221713AE7D700EFFDD73102002956
|
||||
:10432200F642DCFBDF27E6BFDCFBF6C15004C150DE
|
||||
:1043320084FDCB2D10048F4BFB5C9F9F4BFB7110B8
|
||||
:104342005CFB309340FD8A3BD7F6BFDCFBD7FDF91F
|
||||
:1043520002F7D7BDD8F6BDDAD7F303FDBA4B13D7B0
|
||||
:10436200ADD8BDDCADDABDDED7DADEC3BDDCF6BD6D
|
||||
:10437200DEFD2F05C0BDDED7C72024FBF8FF8F82EC
|
||||
:10438200FBF0F981FBFD5B43BC048F84FBF0F983F6
|
||||
:10439200FBFD5B43BC028F86FBF0F985FBFD5B43B3
|
||||
:1043A200BBAC04FD5543AC04311EBDDCF6BDDEFDE5
|
||||
:1043B2002F05FD6243AC02FD5543AC02311EDADC2F
|
||||
:1043C200C3FD6B43C0BDDCADDEFD2206FD6243AB27
|
||||
:1043D200FD5543AB311EDADCC3FD6B43C0BDDCAD22
|
||||
:1043E200DEFD2206FD1C0CDADAADD8FCC24B00C39E
|
||||
:1043F200C58F6CFC5C3FF0317E04ECFB14C2C0BD87
|
||||
:10440200D813BDDA3172DB05FDF10BEF03FD790B39
|
||||
:10441200ADD8B9A06CFCF6BC20BC229C1F8C1F4CF2
|
||||
:104422002EDD3C8F6CFC0E1F70F161DC605C3FF096
|
||||
:10443200317E1279ECFBFD55438C1F7309E825315F
|
||||
:104442008FBDDC70BDDEFD2F05AC20BDDCAC22FDD6
|
||||
:104452002206ADDABC22ADD8BC2061591FEFBEAC3A
|
||||
:1044620020BDD8AC22BDDAC9DC0004F6FDAA05C91C
|
||||
:10447200DCFFFFF6FD3D06ADD8BFE4FBAFDEFB423D
|
||||
:10448200E4FBDD12AFE0FBBFE2FBAFDEFBBFE0FB14
|
||||
:10449200AFE4FBBFDEFBAFE0FB42E2FBDC50AFDE92
|
||||
:1044A200FB42E0FBDE48AFB2FC42DEFBDE4040E610
|
||||
:1044B200FB16DC1F40E6FBA0DE168FE7FB4FE6FB98
|
||||
:1044C200DE0EAFDEFB22E8FB44691061C8FD394510
|
||||
:1044D200F5E6FBAFDEFB445146DC0BAFDEFB2410FE
|
||||
:1044E20027BFB4FCEF1930F82ABFB4FCEF1140E645
|
||||
:1044F200FBFFDD03E6EF01F634E6FB89610899AFC5
|
||||
:10450200E2FB42E0FBDC1BAFE0FB42DEFBDE13AF73
|
||||
:10451200DEFB42B4FCDE0BF5E7FBAFDEFBBFE8FBE4
|
||||
:10452200EF1140E7FBFFDD03E6EF01F634E7FB891D
|
||||
:104532006108991024C6D7C72006FBF8FFA087FBA5
|
||||
:10454200D587FBDF1CA088FBD588FBDF14A089FB85
|
||||
:10455200D589FBDF0CCF87FBFFCF88FBFFCF89FB21
|
||||
:10456200FF717BFA710A9E31929E02EFFA8E98FDDC
|
||||
:1045720051069C038E949FB6FC8E969FB7FC8E9735
|
||||
:104582009FB8FCFDDF4613BC048FB9FC4E03DF125B
|
||||
:10459200AF70FC614904DE41AC042270FCFD0E46A2
|
||||
:1045A200EF378C03318EB112D9B9FCF143DF1F8C86
|
||||
:1045B200035C0391DF03E6EF01F6046D01313D1266
|
||||
:1045C20001032270FC610904BBFD0E46EF0B8FB99B
|
||||
:1045D200FC4E03DE04F6FD0E468C039FB9FCAC04D0
|
||||
:1045E200BF70FCD96EFCF101041AF914A944FFFF53
|
||||
:1045F200DF04E6B9EF12D96EFCF101041AF914A92D
|
||||
:1046020044FEFFDD03A9A1B91006C6D7C716174499
|
||||
:104612000001DC02F616A06EFCF96EFCF3311CF60A
|
||||
:10462200781AF9B7F647DFEEC6D7C7560066F031FB
|
||||
:104632007E12F6B1781AF99666D1DFF1F587FBF5AD
|
||||
:1046420088FBF589FBC6D7711322D7C72004FBF874
|
||||
:10465200FFD912F9F1E7240000DD1123DD1E23DD6D
|
||||
:104662002523DD2C23DD3723DD3CEF428F6EFC9FBB
|
||||
:1046720072FCA012F9D9B6FCF112EF5DA012F9D9C1
|
||||
:10468200B7FCF112EF53A012F9D9B8FCF112EF49BD
|
||||
:10469200A012F98FB9FCFD6B06318E12EF3BA0120E
|
||||
:1046A200F9325500EF33A012F932AA00EF2BF9725A
|
||||
:1046B200FCF3311C791AF9BB311222058B9C03EFF2
|
||||
:1046C200078C019C03B072FC718071172261DC615E
|
||||
:1046D200FB7111228C03318E121004C6D7C720063B
|
||||
:1046E200FBF8FF8E98FD51069C038E97FD51069CA8
|
||||
:1046F200028E96FD51069C018E94FD51069B710B14
|
||||
:104702009E717AFA8C02F0317E12791826BC048CE2
|
||||
:10471200035C03D1DF158C024C03DE0C8C024C02CD
|
||||
:10472200DF098C014C1D61F86179048C01318EB175
|
||||
:10473200610904BC04313D120103BC048C040D70F8
|
||||
:0B4742008C051C00BC04121006C6D73A
|
||||
:10474D0061FC61FC61FC61FC61FCC1C3C5C7520C1D
|
||||
:10475D00929269D4FEC1DFF88EFD708EFCC14016B9
|
||||
:10476D00F903DF09717AFA305A2BFD8A3BC09EFCA2
|
||||
:10477D00609EFD34D4FE5206C0B9A5A592DFF9C6E0
|
||||
:10478D00C4C2C061FCC1C3C5C7520C929269D4FEAC
|
||||
:10479D00C1DFF88EFD708EFCC1717AFA31A25141E4
|
||||
:1047AD00F578FC71483002716030023104212671B8
|
||||
:1047BD000A23710321D54CFBDF0FD54DFBDF0AD545
|
||||
:1047CD004EFBDF05D54FFBDD0C31020302EFFA7115
|
||||
:1047DD000303710B23FD4946FDFC33F512F9EDC1C1
|
||||
:1047ED00483184510DF578FC71483002FDFC33EDF4
|
||||
:1047FD00C148319451154078FC03DD0C4078FC0420
|
||||
:10480D00DD064078FC0161F8F578FCD978FCF1E71C
|
||||
:10481D00240000DD0823DD1323DD35EF5271403018
|
||||
:10482D0002E578FC71503002EDC1488E509F13F9AE
|
||||
:10483D00D913F9F1FD2137629F15F94013F97FDD89
|
||||
:10484D0006CF78FC02EF03F578FC71503002EF646F
|
||||
:10485D003194511731C45106CF78FC03EF11F5781F
|
||||
:10486D00FC7148300271603002EF49CF78FC044092
|
||||
:10487D0078FC03DF0E8F15F99E50D913F9F1FD96D3
|
||||
:10488D0037EF118E507617F1C1D913F9FD8D34C064
|
||||
:10489D00715030024013F94FDD094013F97F61E883
|
||||
:1048AD00A013F94078FC03DF0BD913F9F1FD213783
|
||||
:1048BD00629F15F9C09EFC609EFD34D4FE5206C069
|
||||
:1048CD00B9A5A592DFF9C6C4C2C061FCC1C3C5C7F5
|
||||
:1048DD00520C929269D4FEC1DFF88EFD708EFCC130
|
||||
:1048ED00F616717AFA714AE5717BBD51405F04018C
|
||||
:1048FD00D1DD05A7F647DFF3300400BF2401F6BF75
|
||||
:10490D002A01300B0BBF2801FDEC2C300B0FBF28FB
|
||||
:10491D0001FDEC2C300F0FBF2801710AE671332019
|
||||
:10492D00C09EFC609EFD34D4FE5206C0B9A5A59272
|
||||
:10493D00DFF9C6C4C2C061FCC1C3C5C7520C929297
|
||||
:10494D0069D4FEC1DFF88EFD708EFCC1717AFAD587
|
||||
:10495D0020FBDD0EEB1EFB899E44A21EFBB020FB4F
|
||||
:10496D00EF2B710AE6300400BF2401F6BF2A013097
|
||||
:10497D000B0BBF2801FDEC2C300B0FBF2801FDECFC
|
||||
:10498D002C300F0FBF2801712320713320C09EFCE6
|
||||
:10499D00609EFD34D4FE5206C0B9A5A592DFF9C6BE
|
||||
:1049AD00C4C2C061FC00EFFD61FC00EFFD61FC00C5
|
||||
:1049BD00EFFD61FC00EFFD61FC00EFFD61FC00EF20
|
||||
:1049CD00FD61FC00EFFD61FC00EFFD61FC00EFFD02
|
||||
:1049DD0061FC00EFFD61FC00EFFD61FC00EFFD618E
|
||||
:1049ED00FC00EFFD61FC00EFFD61FC00EFFD61FCE3
|
||||
:1049FD0000EFFD61FC00EFFD61FC00EFFD61FC00CF
|
||||
:104A0D00EFFD61FC00EFFD61FC00EFFD61FC00EFCF
|
||||
:104A1D00FD61FC00EFFD61FC00EFFD61FC00EFFDB1
|
||||
:104A2D0061FCC18F76FB4F96FFDF328F77FB4F977F
|
||||
:104A3D00FFDF2A8F78FB4F98FFDF228F55FB5C0439
|
||||
:104A4D00D1DF1A71204DFB710303710B234016F951
|
||||
:104A5D0006DD064016F90161F8CF17F902C061FCB9
|
||||
:104A6D0071222161FCC1C3C5C7520C929269D4FE5B
|
||||
:104A7D00C1DFF88EFD708EFCC1717AFA8E31318EE8
|
||||
:104A8D00E7240600DD0923DD1D23DD3123EF49D9A0
|
||||
:104A9D00C0FBF104B7FB148D1F9930B7FBFD9A3A9B
|
||||
:104AAD00629FAFFBEF32D9C0FBF104BAFB148D1F2F
|
||||
:104ABD009930BAFBFD9A3A629FAEFBEF1BD9C0FB52
|
||||
:104ACD00F104BDFB148D1F9930BDFBFD9A3A629F19
|
||||
:104ADD0002F930D727FD8A3B4031FF08DD08A031B0
|
||||
:104AED00FF717201EF1C7158F00071730171122189
|
||||
:104AFD0040C0FB02DF03F6EF05D9C0FBF1A1609FBB
|
||||
:104B0D00C0FBC09EFC609EFD34D4FE5206C0B9A50C
|
||||
:104B1D00A592DFF9C6C4C2C061FCC1C3C5C7520CA2
|
||||
:104B2D00929269D4FEC1DFF88EFD708EFCC1717A50
|
||||
:104B3D00FA8F7CFB5C03D1DD164016F903DD0640D0
|
||||
:104B4D0016F905DF0A31240F0630553DFD8A3BC0AD
|
||||
:104B5D009EFC609EFD34D4FE5206C0B9A5A592DF21
|
||||
:074B6D00F9C6C4C2C061FCDF
|
||||
:104B74000000000000000000753E4339B22A0930ED
|
||||
:104B84007231ED31B532EE3F953FAC3F78410020B4
|
||||
:104B9400753E4339B22A09307231ED31B532EE3FF8
|
||||
:104BA400953FAC3F78410000000000000000983AB7
|
||||
:064BB400F82A23301299DB
|
||||
:104BBA00317503F7332312D7C73314F4DCCDDF8002
|
||||
:104BCA00FC2A4C00CDDF16ECD54B00C64ADE02DECD
|
||||
:104BDA003815014CFFDD290361C8DD241571FB4A34
|
||||
:104BEA00DC80DC17DF08618A718C618ADE0D82DF66
|
||||
:104BFA000A83DF07A5A144807FDE0B448000DC0125
|
||||
:104C0A00D7CDDE01EF03CDDE03EDAF08F10361C8B6
|
||||
:104C1A00DD03F4DED73174DEF934FF7FCDDE05D74C
|
||||
:104C2A00159DDE010361C8DDE9234CFFDDDE31722B
|
||||
:104C3A00DEE7D1318EDF11C9DA807EBDD89DDDFD78
|
||||
:104C4A009F0615317E247E0036E820247C00553EDE
|
||||
:104C5A00311FDE04A136F220C151806174C5C38DB3
|
||||
:104C6A00DCC1410011ABBDD811AC02BDDA118C0810
|
||||
:104C7A009DDDC7FD9F06C611AC04BDD811AC06BDAB
|
||||
:104C8A00DA118C099DDDFD1C0920046ADF03FC4C46
|
||||
:104C9A004D00FCD84C00FD9F06FC2D4D00FD9F06E3
|
||||
:104CAA00C9DAC03FC9D80000F4DD51806175FD1C26
|
||||
:104CBA0009FC154D00FD9F06B4DF4ADF80DFCFFCFB
|
||||
:104CCA002D4D00FD9F06100AC0317D0514D715BD74
|
||||
:104CDA00DA13BDD88DDC9DDDD7C9DA803FC9D8008B
|
||||
:104CEA0000F4DDD7118C019DDD11AC02BDD811ACE9
|
||||
:104CFA0004BDDA1704060016D78C019DDDAC02BD8F
|
||||
:104D0A00D8AC04BDDA1704060016D7A806BDDAA87F
|
||||
:104D1A0004BDD888089DDDD7A80C14A80A128809F2
|
||||
:104D2A009DDCD7A80CBDDAA80ABDD888099DDDD7B5
|
||||
:104D3A00A80635B806A80433B804880861A8DC9820
|
||||
:0D4D4A0008D715B80613B8048DDC9808D7FB
|
||||
:0A4FF60031363A30383A3139000004
|
||||
:00000001FF
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,911 +0,0 @@
|
||||
:020000002805D1
|
||||
:02000200FFFFFE
|
||||
:04001000BC47BE47E4
|
||||
:02001C00644935
|
||||
:02002400D049C1
|
||||
:02002A003D4A4D
|
||||
:08003400914B4E4B8C4BA84C84
|
||||
:02004A00C047AD
|
||||
:02005A00FB4762
|
||||
:02006200564CFA
|
||||
:0400C0007EFBFF853F
|
||||
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
|
||||
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
|
||||
:1000D800C72004FBF8FFCEABACC736F00071F4C6FE
|
||||
:1000E800DE06713014F9EF368EA89C035C90D1DDE2
|
||||
:1000F800148C035C10D1DD07716A27711096FA71B0
|
||||
:100108003014F9EF16CC0200CC0100615902615994
|
||||
:10011800018C01D1DFF88C02D1DFF0FD8E01CC0219
|
||||
:1001280000CC03008C034C09DE2B8C03318E04F6C3
|
||||
:100138000FC1317B9EFDC41189728C03318E04F688
|
||||
:100148004F14896142DF03F6EF01E6600E029C025C
|
||||
:10015800615903EFCF40F64FFF61F86159028C02F5
|
||||
:10016800D161E8FD1904FD6202EDDE001004C6D776
|
||||
:10017800717BFACEA016CEA180E5F300CEA408F5D7
|
||||
:10018800AAFFF5A9FFD78F14F931350ACD0003CDA1
|
||||
:100198000307F40EEF07F400CD0306F40ECE20FF9C
|
||||
:1001A800CE23F0CE2EFCF401F402F404F405F40698
|
||||
:1001B800CD0740F40CF51005F40FF521FFCE22E928
|
||||
:1001C800CE24F7CE25F2CE26FCCE275FCE2CFFCE4E
|
||||
:1001D8002FFFCF1105FCF53000F53100F53300F5A0
|
||||
:1001E8003400CF350003CF370019F53C00F53E0049
|
||||
:1001F800CF120511CF530006F55700F6BEE0BEE258
|
||||
:10020800BED0CBE4FFFFCBE6FFFFCBD4FFFFCE3859
|
||||
:1002180031CE3971CF38050AF53905F537FF710840
|
||||
:10022800F20090BFB401F5A5FFF5A6FF7158F000E4
|
||||
:10023800F530FF7128F0005087BF1801BF1A01BFC1
|
||||
:100248001C01BF1E017148F000F53002710801055C
|
||||
:10025800F55005F5BCFFF5BDFFD7FD112EFD803625
|
||||
:10026800FD2B2D717AFA8F14F9313516300300C140
|
||||
:100278005084FD2D2BC0625C01D1DD09CF12F9023B
|
||||
:10028800EF03F512F9FDF12EFD8B33FDBC02FD3DA8
|
||||
:1002980042712221712BE7CEABACFD83363124218C
|
||||
:1002A80005FD8336EFF7CEABACFD1737D2DFFA6129
|
||||
:1002B800EDEFE4D731020403F6EF01E6603414F9F8
|
||||
:1002C800718C8971899931120403F6EF01E6603463
|
||||
:1002D80014F9718C89719999D7C72006FBF8FFFD2D
|
||||
:1002E8000605301400C15008FD4904C0CC05048C33
|
||||
:1002F800054C14DE0C8C05318EFD7208615905EF32
|
||||
:10030800EECC05048C054C1461C8EDC7038C05318F
|
||||
:100318008EFD7208CC04008C044C04DE7CC7364188
|
||||
:10032800057184C6DC733016F9BC02F6BB31B2D154
|
||||
:100338000EC73641057184C6DC05CEABACEFEE7155
|
||||
:100348003BD1AC02148F4005997150500561790278
|
||||
:10035800617900F0E1614900DD09C7364105718422
|
||||
:10036800C6DECA304000C18C05318E31AD128C0416
|
||||
:10037800318E318D03BDD831FFBDDADADAADD8FD63
|
||||
:100388003E0BC0D2DD0D300800C15014FD4904C039
|
||||
:10039800FDFB09615904ED1F038C05318EFD7608BC
|
||||
:1003A800D2DD0D300800C15014FD4904C0FDFB0921
|
||||
:1003B800C73641057184C6DC06615905ED0C037129
|
||||
:1003C800605005CC0200CC03008C034C09DE248C61
|
||||
:1003D80003318E1249F61F728C03318E04F64F14C6
|
||||
:1003E800896142DF03F6EF01E6600E029C02615963
|
||||
:1003F80003EFD68C02D1DF08FDFC09FD0E0BEF0DD3
|
||||
:10040800300800C15013FD4904C0FDFB091006C6A1
|
||||
:10041800D7FD0605300800C15014FD4904C0FDFC95
|
||||
:1004280009ED0E0B3184BD02EFFA717BBDCBE4FF01
|
||||
:10043800FFCBE6FFFFCBD4FFFF717ABED7717BBE3F
|
||||
:10044800D7C7C1200AFBF8FF8C0A318E31ADC13104
|
||||
:100458007B9DD4C0BC048DD49C068C129C098C1244
|
||||
:10046800318E040C00128C09318EBDD813FDF106B3
|
||||
:1004780061C8ED0105CEABAC8C09318EFD6E08D29A
|
||||
:10048800DD098C09318EFD7208EFEDCC08008C086F
|
||||
:100498004C04DE55F6BC023016F9BBAC04148C06CD
|
||||
:1004A8009EFD118972AB146299AC04A1BC046179F8
|
||||
:1004B80000617902F0E1614902DFE0304000C18C5F
|
||||
:1004C80009318E31AD128C08318E318D03BDD83192
|
||||
:1004D800FFBDDADADAADD8FD3E0BC0D2DD06FD4548
|
||||
:1004E80004E7EF16615908EFA58C09318EFD7608EF
|
||||
:1004F800D2DFF6615909ED6604F7100CC6D7717B97
|
||||
:100508009D717BFAFD2C043016F9FD2109FDAC081C
|
||||
:10051800F7D7FD0605FD0E0BFDFB09FD4504F7D7D2
|
||||
:1005280061CF5100718C7109FECBF800FEFC780197
|
||||
:1005380000F6BF00F953C0F693935820FEDFF94147
|
||||
:100548000036AE4C345AFCEF05118B99A7A5174419
|
||||
:10055800E04CDFF53602F9305AFCEF04CC0000A776
|
||||
:1005680047DFF9410036E820348CFCEF05118B9900
|
||||
:10057800A7A51744E820DFF5368CFC308CFCEF0487
|
||||
:10058800CC0000A747DFF9FCD80000EFFE61DD7161
|
||||
:100598007BFABEF0ADD8BEF200AEF661CDD7C3612E
|
||||
:1005A800DD717BFABEF0ADD8BEF200DBF6FFADDC44
|
||||
:1005B800BEF000AEF6BDD8AEF40312ADDABEF2005E
|
||||
:1005C800AEF661CD03BDDAC2D7C3F33174D908835F
|
||||
:1005D800C1F626D8BDD8C0317505C312F623C2FDB1
|
||||
:1005E800F20593DF0312F623C2D7440000DD27612A
|
||||
:1005F800DD717BFACFE80080BEF6F6BEF4BEF2AD40
|
||||
:10060800D8BEF0CFE800818FE8003103FAAFE000F0
|
||||
:10061800F5E80061CDD7ADD8D7C3F33174DB0F83CC
|
||||
:10062800C1F626D8BDD861317026DABDDAC0317579
|
||||
:100638000D83C312F626DCBDDC61317023C2FD5A7E
|
||||
:100648000693DF0CF626D8BDD861317026DABDDAFC
|
||||
:10065800C2D7C161686BDC6BDDC0DD2F61DD717BEA
|
||||
:10066800FACFE80080BEF4ADDCBEF6ADD8BEF0AD82
|
||||
:10067800DABEF2CFE800818FE8003103FAAEF0BDB0
|
||||
:10068800D8AEF2BDDAF5E80061CDD7F6BDD8BDDA4F
|
||||
:10069800D7C1F626D8BDD861317026DABDDAC0D701
|
||||
:1006A80006DABDDAADDC06D8BDD861D8A6DAD7D16E
|
||||
:1006B800DD17C1C3DAD89DD8ADDA311C61EEB4D8E4
|
||||
:1006C800DFF8BDDA13BDD8C2C0D7D1DD1BC1C3DA8C
|
||||
:1006D800DA9DDAADD8311E33311E3371F9B4DADF61
|
||||
:1006E800F4BDD813BDDAC2C0D746D8DD0771FF7193
|
||||
:1006F80077D971C0D75BDB9DDB605BDA9DDAADDC57
|
||||
:100708005BD9085BD808BDD8D7C3C7F3728EFDC1C3
|
||||
:1007180062314C41003600201161A072C09EFD621A
|
||||
:10072800C6C2D7C3C7F3728EFDC1625C0F0C000F3F
|
||||
:10073800FE00314C4100360A201161800FFE007323
|
||||
:10074800C09EFD63C6C2D7DF1D06DC44807FDF166E
|
||||
:100758007152DEEF32DF0F06D844807FDF08315454
|
||||
:10076800DE3C3172DE3CC9DE0504FDC207EF46C53A
|
||||
:1007780014ADDEC1657BDB5C809DDEADDA71FB35D7
|
||||
:1007880071FB44807FDEC03544807FDEC86BD96B47
|
||||
:10079800D86BDD6BDC0561C8DD1BADDA71FB31742C
|
||||
:1007A800DE077174DBF181EF0C45ADD861F846DCEA
|
||||
:1007B80061E87177DBC0BDDEC4D78EFC708EFDC1E9
|
||||
:1007C800C5C3ADDE315E041A20320000C3C1D8DED5
|
||||
:1007D800F1C1AEF8FCEC0700C0C0C0C2C4C09EFDA9
|
||||
:1007E800609EFCD71489728A049EFDAA021411899E
|
||||
:1007F8004C40DD0E624C0430020061C8300100BF7D
|
||||
:1008080000F9D7C5C3C1ADDADAD831750914F623B2
|
||||
:1008180012F661D8B125ED2A08C5C3C1ADDADAD818
|
||||
:10082800F4DB0361C8DD3B23559E31730A95013122
|
||||
:100838001C61D8A13175F6618A4C80618ADC11DFB0
|
||||
:100848000633718C33DE0983DF0604010061D88525
|
||||
:100858007174DB3561FB9DDB6571F99DDA6370644A
|
||||
:06086800BDD8C0C2C4D7D8
|
||||
:10086E005208EF065203EF025206FEE600FE1B0090
|
||||
:10087E00DC16089F03088F0408089F040862FE24F4
|
||||
:10088E0000089F0408EEBF00EEBA00C1C514410E69
|
||||
:10089E0011D9D0FF118FD1FF312E45C4C0D7F231FF
|
||||
:1008AE00A2C401E2D79DE261DD4C09DF12717BFA31
|
||||
:1008BE00C18F06089F9BFCC0CF060800EE270031B3
|
||||
:1008CE00F2FA04CF0608004C00DF05D50008DD164D
|
||||
:1008DE0061DD717BFAD50608DD0ACDE31F61CD61BE
|
||||
:1008EE00CDEE160061CDFED40061FFFE9A00FCF83D
|
||||
:1008FE00FF0EFEB20061CDFED5004C09DF0EC18F9A
|
||||
:10090E0006086F9BFC9F0608C0EE0400CF06080089
|
||||
:10091E00F8E3D75200EF025202FE3700CF9AFC00E6
|
||||
:10092E00CF060800BF0408C716629F0008410011D9
|
||||
:10093E008F12239B4100118F13239F0108C6510074
|
||||
:10094E00FE62FFEF025205CF060800C1510CFE0AEF
|
||||
:10095E0000C0D7C1511DFE0200C0D761DD717BFA08
|
||||
:10096E0070CEC0A59EC47CFF9EC4609EC461CDD7D0
|
||||
:10097E0061DD717BFAC18EC45C1BFED6FFCF06080B
|
||||
:10098E0001FED7FFC061CDD731F2FA1AC1AEE4BF76
|
||||
:10099E008CFCAEE6BF8EFCAED4BF90FC30FFFFBE2B
|
||||
:1009AE00E4BEE6BED4C0D731F2FA11C1AF8CFCBEA4
|
||||
:1009BE00E4AF8EFCBEE6AF90FCBED4C0D7C1BF92F2
|
||||
:1009CE00FC13BF94FC15BF96FC17BF98FCC0D7AFA5
|
||||
:1009DE0092FCDB94FCEB96FCFB98FCD7534B30520D
|
||||
:1009EE005430324E323030475631323000FFC15023
|
||||
:1009FE00FEFEAB0061DD717BFACF060800FE0A0039
|
||||
:100A0E00FEA4FF61CDF8E3EECF00C7FB0408BF8C58
|
||||
:100A1E00FC8FC0009C05C5C337040600BF8EFC3595
|
||||
:100A2E0036600A300000522BFE6600C2C4C6300E7D
|
||||
:100A3E000AB800300000B8022004AF8EFCB80030B7
|
||||
:100A4E000F00B802AF8CFC61FF520AFE3AFFECF8C1
|
||||
:100A5E00FF0E717BFAC1C7FB04088C05C65C80FED5
|
||||
:100A6E000200C0D761DD717BFA70CFC0FFA59FC0B9
|
||||
:100A7E00007CFF9FC000609FC00061CDD7618BFEE0
|
||||
:100A8E00E2FF717BBE410011FB000017CEFC00613E
|
||||
:100A9E00CB089EFDF31161C999A58392DFF7D7FEAE
|
||||
:100AAE00B1FED59AFCDF23C1CF0308035109FEF432
|
||||
:100ABE00FDC0D2DF37FE3800A20408CF030807516D
|
||||
:100ACE0009FEE1FDD2B20408DF22C7FB0408318320
|
||||
:100ADE0002C6D7C6510AFECCFD624C1FDF06CF9A66
|
||||
:100AEE00FC01EF04CF9AFC00C0EE5BFEC0EE55FE9B
|
||||
:100AFE00C7C1FB04088B31196C0161589BC0C6D766
|
||||
:100B0E00717BFAFE4DFEAF0408040600C114367266
|
||||
:100B1E000A300000522DF3FE77FF8FC000FE2BFE31
|
||||
:100B2E0061CF5C807C8073C0041900CEFC0F61CB5A
|
||||
:100B3E00C55404EF03C55417FE18FEC7360008BB94
|
||||
:100B4E00629C0288089C03D1DD334C41DE2F70F18C
|
||||
:100B5E00312DB161090033081C000851FF612A4193
|
||||
:100B6E000E118FD0FF613B118FD1FF6138DC0E8BE0
|
||||
:100B7E005C03DF0964C6C4FE2BFDEECAFDC6C4EEDF
|
||||
:020B8E00C3FDA5
|
||||
:0A0FF60031343A32353A3038000049
|
||||
:0A20000000060C12181E242A3036C8
|
||||
:10200A00001632486480961228446076920824406A
|
||||
:10201A004040666D756C0000404066646976000059
|
||||
:10202A004040666164640000404066737562000067
|
||||
:10203A00404066636D70000061636F7300000000CA
|
||||
:10204A006173696E000000006174616E0000000037
|
||||
:10205A006174616E32000000636F7300000000005B
|
||||
:10206A0073696E000000000074616E0000000000D9
|
||||
:10207A00636F73680000000073696E6800000000F7
|
||||
:10208A0074616E680000000065787000000000004E
|
||||
:10209A0066726578700000006C64657870000000F4
|
||||
:1020AA006C6F6700000000006C6F67313000000041
|
||||
:1020BA006D6F646600000000706F7700000000001A
|
||||
:1020CA0073717274000000006365696C000000009F
|
||||
:0E20DA00666C6F6F72000000666D6F64000030
|
||||
:0820E800317503F7332312D711
|
||||
:0A21000031343A32353A303800002D
|
||||
:10210A00AD30AE70B000B300B470B5A0B780BA00FD
|
||||
:10211A00BB90BD00BE00BFF0C300C5C0C800CAC0A6
|
||||
:10212A00040012000C10240010D01BF00AF008E082
|
||||
:10213A000CF008C008B007F00B0005D00200090037
|
||||
:10214A000000000000000000000000000000000085
|
||||
:10215A000000000000000000000000000000000075
|
||||
:10216A000000000000000000000000000000000065
|
||||
:10217A000000000000000000000000000000000055
|
||||
:10218A000000000000000000000000000000000045
|
||||
:10219A000000000000000000000000000000000035
|
||||
:1021AA000000000000000000000000000000000025
|
||||
:1021BA000000000000000000000000000000000015
|
||||
:1021CA000000000000000000000000000000000005
|
||||
:1021DA0000000000000000000000000000000000F5
|
||||
:1021EA0000000000000000000000000000000000E5
|
||||
:1021FA0000000000000000000000000000000000D5
|
||||
:10220A0000000000000000000000000000000000C4
|
||||
:10221A0000000000000000000000000000000000B4
|
||||
:10222A0000000000000000000000000000000000A4
|
||||
:10223A000000000000000000000000000000000094
|
||||
:10224A00AD30AE70B000B300B470B5A0B780BA00BC
|
||||
:10225A00BB90BD00BE00BFF0C300C5C0C800CAC065
|
||||
:10226A00040012000C10240010D01BF00AF008E041
|
||||
:10227A000CF008C008B007F00B0005D002000900F6
|
||||
:10228A000000000000000000000000000000000044
|
||||
:10229A000000000000000000000000000000000034
|
||||
:1022AA000000000000000000000000000000000024
|
||||
:1022BA000000000000000000000000000000000014
|
||||
:1022CA00874D8000000000007F7F7F7E7D7C7B7AC7
|
||||
:1022DA00797877767574737271706F6E6D6C6B6ADC
|
||||
:1022EA00696867666564636261605F5E5D5C5B5ACC
|
||||
:1022FA00595857565554535251504F4E4D4C4B4ABC
|
||||
:10230A004948474645444342080101020203030281
|
||||
:10231A0000FEFBF7F3F0F0F3FA041225384D5F6E76
|
||||
:10232A00777A776E5F4D38251204FAF3F0F0F3F7F7
|
||||
:10233A00FBFE0002030302020100000000001F006E
|
||||
:10234A003B005A0078009700B500D400F300110151
|
||||
:08235A0030014E01F6DA6E9429
|
||||
:102362005084EDD02B301200ED9A38716307716BF7
|
||||
:1023720027D7506CED022CAF08F9DB0AF9241400C0
|
||||
:10238200D7300800FD5036629F02F9D77234A7FA9F
|
||||
:1023920089616A99D7C1506CFD2D2BC062D730205C
|
||||
:1023A20000C15011FD4C33C0D7300400C15084FD30
|
||||
:1023B2002D2BC062D7C1E6C15084FDD02B1004D7AB
|
||||
:1023C200C1E6A1C15084FDD02B1004D7E6C1A1A162
|
||||
:1023D200C15084FDD02B1004D7300700C1E6A1C143
|
||||
:1023E2005084FDD02B1004D7300300C15084FD2D42
|
||||
:1023F2002BC0625C01D1D7F1BDDCF6BDDEFDA605C6
|
||||
:10240200FD99065108EDD206C7FDDB23FD67233097
|
||||
:102412000F00FDC223300300FD9A38301F00FDC2B9
|
||||
:1024220023301600FD9A38300300C15084FD2D2B55
|
||||
:10243200C0625C0176D1DD0D7170A3FAE6A1C150D4
|
||||
:1024420013FD4C33C017F112C6D7C7FDAB235C0393
|
||||
:10245200D1DD39301400FDB52434A3FA895C9F998B
|
||||
:102462008A0C7CFF50FF5C14D1DD1A8A0C7CFF5C65
|
||||
:1024720014FD8E23716A275700316207058767D1E1
|
||||
:10248200DFF7FD6D2334B6FA895CEB99E6A1C15002
|
||||
:1024920084FD2D2BC0D2DD11FDDB23303300FD9AEC
|
||||
:1024A20038F6FDC2237178A3FAE6C15013FD4C330E
|
||||
:1024B200C0C6D7C7C12004FBF8FFCC0200FDAB2386
|
||||
:1024C2009C038C045C20D1DD0E8C036C019C038C7C
|
||||
:1024D200026C209C02EF138C045C10D1DD0C8C0387
|
||||
:1024E2005CFE9C038C026C109C028C045C08D1DDA7
|
||||
:1024F2000E8C036C029C038C026C089C02EF138C02
|
||||
:10250200045C04D1DD0C8C035CFD9C038C026C0426
|
||||
:102512009C028FA3FA5C9F728C03318E316D148CF6
|
||||
:1025220003318E314D616D08616C5C606162629F46
|
||||
:10253200A3FA8FAFFA7CFF50FF5E02D1DD1F8FAF8F
|
||||
:10254200FA7CFF5E02FD8E23716A27CC01003162A4
|
||||
:1025520007086159018C01D1DFF4FD6D238C03D191
|
||||
:10256200DD06301000FD9A388C03318EC15004C153
|
||||
:10257200FD62231004F71006C6D7C7D997FAF1C136
|
||||
:102582005006C1FD622310046276D998FAF1C15057
|
||||
:1025920007C1FD6223100462616617F112C6D7FDFE
|
||||
:1025A2007C25F7D7C72004FBF8FF711300711B20AD
|
||||
:1025B200710303710205FDCE23E6FD9A38FD672300
|
||||
:1025C200F6C15005C1FD62231004300F00FDB72390
|
||||
:1025D200300A00FD9A38710305300800FD9A383040
|
||||
:1025E2001F00FDB723FD6723FDEA23DF03E7EF3A70
|
||||
:1025F200300300C1C1FD62231004710203711A206D
|
||||
:10260200306400FD9A38C717A116F749CE229BA362
|
||||
:10261200A75103614ADFF4C617A1C1300300C150BC
|
||||
:1026220010C150A4FD022C1006F71004C6D7FDEA13
|
||||
:1026320023DD12301400FDB524FD4C24303C00FD96
|
||||
:102642009A38FDCE23711300711B20710303F6C16A
|
||||
:102652005003C1FD62231004F7D7C72004FBF8FF23
|
||||
:10266200CC02008F06F99C03301000C150A4FD2D4E
|
||||
:102672002BC0629F06F9D585FADD04F7ED4227717A
|
||||
:102682007BFA8C037F06F95C08D1DD108F06F95CBA
|
||||
:1026920008D1DF05CC0210EF03CC02208C037F06A9
|
||||
:1026A200F95C04D1DD168F06F95C04D1DF088C02D7
|
||||
:1026B2006C049C02EF068C026C089C028FA2FA5CEE
|
||||
:1026C200F3728F06F95C0C6162629FA2FA8FAEFA16
|
||||
:1026D2007CFF50FF5E029C02D1DD22717BFA34A6A0
|
||||
:1026E200FA896E0299717AFA716A27CC0100316215
|
||||
:1026F20007086159018C01D1DFF4FD6D238F06F9C2
|
||||
:102702005C40D1DD09E6A1C15012FD4C33C08F06F9
|
||||
:10271200F95C01D1DD08E6C15012FD4C33C0717A7B
|
||||
:10272200FA8F06F95C41D1DD163406F9895CBE994F
|
||||
:10273200D906F9F1C15010C150A4FDD02B1004F7F5
|
||||
:102742001004C6D7FD0A24F7D7FD4C24F7D7C78F4C
|
||||
:10275200B6FA7617F1FDB524664FB6FADFF1F5B693
|
||||
:10276200FAF7C6D78F5BFCB05BFCD1DF67CF5BFCAF
|
||||
:1027720080710407E6613012F6710420611043DDB6
|
||||
:102782002B710407E661306061FB71012031042086
|
||||
:102792000F7130A3FAE6A1C15011FD4C33C0EF0C0A
|
||||
:1027A2007138A3FAE6C15011FD4C33C071330431C4
|
||||
:1027B2001205067140A3FAEF047148A3FA3112051B
|
||||
:1027C20003E6EF01F66061FB7141024012F9036119
|
||||
:1027D200F8FDF529D7C72008FBF8FFC736F00071CE
|
||||
:1027E200D4C6DE0300EFF4FD8323300900FD50362A
|
||||
:1027F200629C077163018C074CEADC06CF5AFC0726
|
||||
:10280200EF4A8C074CC6DC06CF5AFC06EF3E8C071B
|
||||
:102812004C9FDC06CF5AFC05EF328C074C7CDC0661
|
||||
:10282200CF5AFC04EF268C074C50DC06CF5AFC032F
|
||||
:10283200EF1A8C074C22DC06CF5AFC02EF0E8C07F3
|
||||
:102842004C06DC05E55AFCEF03F55AFC304A57BB4F
|
||||
:1028520017C1E6A1C1503EC1FD74231006D2DF218B
|
||||
:102862007108A2FA405AFC07DE05F515F9EF24407B
|
||||
:1028720002F904DE06CF15F902EF18CF15F903EFBE
|
||||
:10288200127100A2FA4002F9F1DC05E515F9EF0335
|
||||
:10289200F515F9D515F961E8ED482917040300C1CA
|
||||
:1028A200300400C1500CC1506CFD5B2B100630DAB5
|
||||
:1028B20020BB17C1E6A1C1500EC1FD74231006F65C
|
||||
:1028C20090BB17C1E6A1C1500CC1FD7423100631A3
|
||||
:1028D200242002EFFA7112208F5AFCF0312E040AE2
|
||||
:1028E20021C1304000C1C1FD742310068FCA229F4E
|
||||
:1028F20003F98FCB229F04F98FCC229F05F930A5D3
|
||||
:1029020000FD9A3830DA20BB17C1E6A1C1500EC1D2
|
||||
:10291200FD7423100630A500FD9A38300400FD979F
|
||||
:10292200239C0717040300C1300400C1500CC1FDF1
|
||||
:1029320074231006F6BB17C1E6A1C1503EC1FD7457
|
||||
:10294200231006FD5529FD8323305529FDC336107A
|
||||
:1029520008C6D7C7C1FBF8FF8F07F94F02F9DD2878
|
||||
:10296200712202D902F9F1C9D8E66FFD950512303C
|
||||
:102972007351231231FF33BF08F933BF0AF9D90863
|
||||
:10298200F9F19F9EFA712302D55DFCDF5F7122028D
|
||||
:10299200409EFA15DC16FD792361D8B3BDD813BD6C
|
||||
:1029A200DAD904F9FDF923ADD8BBEF14FD7923611F
|
||||
:1029B200D8B3BDD813BDDAD905F9FDF923ADD8BB1B
|
||||
:1029C200D903F9F1610900BB318D086E0108BB30F2
|
||||
:1029D2000097BB71230217C1E6A1C1500CC1FD745F
|
||||
:1029E200231006D2DF068F02F99F07F9A05DFCF7DC
|
||||
:1029F200C0C6D7C7C1FBF8FF8FA2FA5C01D161E85C
|
||||
:102A0200ED9A2AE6A1FD97239FA1FA318EF7BDD850
|
||||
:102A120013BDDAFD0B08C9DC6666301A43FD770781
|
||||
:102A220061D305F50DF9EF21A00DF9400DF90CDF89
|
||||
:102A320008F59FFAFDA023EF10400DF91BDF0ACF26
|
||||
:102A4200BDFA04F512F971222117C1E6A1C1A1A1B3
|
||||
:102A5200C1506CFD5B2B10068B9F9FFA8C019FA0CF
|
||||
:102A6200FAD90CF9F1E7240000DD0523DD10EF1D92
|
||||
:102A7200409FFA09DE26E50CF9FDA023EF1E409FD8
|
||||
:102A8200FA04DE18CF0CF902FDA023EF0F409FFAE3
|
||||
:102A920009DC09F50CF9EF04CF9FFA63409FFA05B0
|
||||
:102AA200DE03E6EF01F6F1C15012C150A4FDD02BB6
|
||||
:102AB2001004C0C6D77100010571785005713AD56E
|
||||
:102AC200713BD1713ADD713BD98F10055CFC9F10CF
|
||||
:102AD20005CF54054AE542057110420571004205D1
|
||||
:102AE200714850057130500571205005CF530505CE
|
||||
:102AF200CF52050A7130510571205105713BD571D4
|
||||
:102B02007050058F11055CFC9F1105D77178500537
|
||||
:102B120071080105D7D731322005E7D700EFFD3123
|
||||
:102B220024200300EFF9712220F7D7C7C1C1FBF8B7
|
||||
:102B3200FF17A1C1E6C18C0A318EC18C02318EFD14
|
||||
:102B42005B2B1006D2DF05F585FAEF04CF85FA027A
|
||||
:102B52008C01318E121004C6D7C7C1FBF8FFFD18D5
|
||||
:102B62002BD2DD03E7EF648B318EFD7D2CD2DD07A6
|
||||
:102B7200712320E7A3EF548C08318EFD932CFDDFE7
|
||||
:102B82002C8B6C01318EFD932C300400BF2401305C
|
||||
:102B92001740BF1C01300400BF22018C0A91DF04E0
|
||||
:102BA200F6BF2A01710BE2CE44FF3182E202EFFA54
|
||||
:102BB200AC0C148E449961790C61690A8C0AD1DFDC
|
||||
:102BC200DAFD082D710BE2712320F7C0C6D7C7C109
|
||||
:102BD200FBF8FFFD182B710AE68B318EFD7D2CD29E
|
||||
:102BE200DD06712320E7EF158C08318EFD932C8CC6
|
||||
:102BF2000A318EFD932CFD082D712320F7C0C6D714
|
||||
:102C0200C7C1FBF8FFFD182BD2DD03E7EF6A710A9B
|
||||
:102C1200E6710BE28B318EFD7D2CD2DD0971232012
|
||||
:102C2200717AFAE7EF52710BE231122039C7347E22
|
||||
:102C3200FAAC0C1652048B99A5A792DFF9C631841F
|
||||
:102C4200BD02EFFA717ABDCEB144CBB47EFA8C0AE2
|
||||
:102C5200318EBEB8CEBB48714BE1714BE5710ABDF6
|
||||
:102C62008C089E44EF11710BE68C089E448C0A9FDF
|
||||
:102C720084FAAC0CBF82FAF7C0C6D7C716FDB72CD0
|
||||
:102C820017F1FD932CD2DD06FD082DE7EF01F7C603
|
||||
:102C9200D7C716710AE6710BE2669E443182E203DF
|
||||
:102CA20000EFF9F6420401DD09AF0401BF0C01E7B0
|
||||
:102CB200EF01F7C6D7AF2801085CFB08BF2801FD6A
|
||||
:102CC200172BAF28015CFBBF2801300400BF2A018B
|
||||
:102CD200301780BF1C01300400BF2201D7AF24018E
|
||||
:102CE200086C0408BF2401AF28016C0F086C0B08A4
|
||||
:102CF200BF2801FD172BAF2A01085CFB08BF2A0180
|
||||
:102D0200FD172BEDB72C300400BF2401F6BF2A01BA
|
||||
:102D1200300B0BBF2801FD172B300B0FBF2801FD15
|
||||
:102D2200172B300F0FBF2801D7710BBD0000717B2D
|
||||
:102D3200BD713A25713A236A0E03713205713B2542
|
||||
:102D4200713203713B23300A00FD9A387120F00082
|
||||
:102D5200FD172BF6BF26015024BF1401CB44001AE5
|
||||
:102D6200300F0FBF2801712320711320710BE27104
|
||||
:102D72000AE6FDB72CCE44FF3182E202EFFAFD08EB
|
||||
:102D82002DAF0401BF0C01713220D731242002EF94
|
||||
:102D9200FAFDDF2C713A25713A235A0EFC71330584
|
||||
:102DA200713B25713303713B237128F0007133208D
|
||||
:102DB200D77140F00071783002713AE6713BE271EE
|
||||
:102DC2003BEA713BEE8F10055CFC9F1005CF34028D
|
||||
:102DD2004AE552FF711A52710A527148300271303B
|
||||
:102DE200300271203002CF330205CF32020A713035
|
||||
:102DF2003102713BE6717030028F11055CFC9F114C
|
||||
:102E02000571603002D7717830027148F000D7C77F
|
||||
:102E120036F00071F4DC297170F000CE9D08CE9E70
|
||||
:102E2200C0CE9F80F592FFF593FFCE9415E596FFF5
|
||||
:102E3200F595FFCE9711CE9809CE9C7F710096FA38
|
||||
:102E4200711BE3712BE3711AE7712BE7717A9D71A4
|
||||
:102E52000A9E31929E02EFFA710B9E7143207153CA
|
||||
:102E620020716320C6D7C73142201E714220710AE9
|
||||
:102E72009E31929E02EFFA34C4FA3692FF52078BC9
|
||||
:102E820099A5A792DFF9710B9EC6D7C7880616319E
|
||||
:102E9200522015715220C7348CFA3092FF16520715
|
||||
:102EA2008B99A5A792DFF9C6667367188CFAC6D705
|
||||
:102EB200C77143203154201E715320710A9E3192F2
|
||||
:102EC2009E02EFFA3492FF368CFA52078B99A5A72D
|
||||
:102ED20092DFF9710B9E31642013717B9E8FCCFAC5
|
||||
:102EE2009E9A8FCDFA9E9B715320717A9EC6D7CF40
|
||||
:102EF200BCFAFFCF94FA10CF95FA12CF97FA5CCFB3
|
||||
:102F020098FA5FD7C7880616664C5361C8EDAA3295
|
||||
:102F120017F1E73402002561F8ED0B30B12361E3CC
|
||||
:102F2200ED1C30B12361E3ED2B302361F8ED343039
|
||||
:102F320024110024050061D8ED573024030061F804
|
||||
:102F4200ED60302361F8EDAA302361F8ED7730238C
|
||||
:102F520061F8ED8A32B124040061D8ED1C312400FD
|
||||
:102F62000061F8ED2531B124040061D8ED2E312441
|
||||
:102F7200000061F8ED3B312361F8ED6131252361F9
|
||||
:102F8200E3ED6A312361F8ED7C312361F8ED8E3196
|
||||
:102F92002361F8EDA0312361F8EDB2312361F8ED40
|
||||
:102FA200C4312361F8EDD4312361F8EDE0312361BE
|
||||
:102FB200F8EDF0312361F8ED00322361F8ED0D32C6
|
||||
:102FC2002361F8ED1A3224030061F8ED68322361BF
|
||||
:102FD200F8ED23322361F8ED31322561F8ED3F320D
|
||||
:102FE2002361F8ED473224070024030061D8ED5530
|
||||
:102FF2003224000061F8ED5D322561F8ED70322374
|
||||
:1030020061F8ED783223EDAA32675CC0316A9FED38
|
||||
:10301200FA6673671894FAEDAA3230A125FDC33619
|
||||
:103022006673671894FAEDAA326673671894FAED1C
|
||||
:10303200AA324099FA6ADF14409AFA68DF0E674CA6
|
||||
:103042006CDF0930463FFDC336713AD566736718A7
|
||||
:1030520094FAEDAA326673671894FAEDAA3267D130
|
||||
:10306200DD0630F73BFDC33617F10494FA1489618B
|
||||
:103072006F99EDAA32675C02D1DD08304627FDC3A5
|
||||
:1030820036EF0C675C01D1DD06304B27FDC3366796
|
||||
:103092005C3CD1DD10305027FDC336675C3C726664
|
||||
:1030A20073621894FAEDAA3267D1DD6B5C01D1DD4F
|
||||
:1030B20005300800EF01F6609FEBFA675C02D1DD94
|
||||
:1030C20003E6EF01F634EBFA89616899675C04D193
|
||||
:1030D200DD04E6A1EF01F634EBFA89616899675CD9
|
||||
:1030E20008D1DD05302000EF01F634EBFA89616882
|
||||
:1030F20099675C10D1DD05301000EF01F634EBFA70
|
||||
:1031020089616899675C20D1DD05304000EF01F6E6
|
||||
:1031120034EBFA89616899EDAA326673671894FAFA
|
||||
:10312200EDAA326673671894FAEDAA32675C0F72E1
|
||||
:103132006673621894FAEDAA32D50EF9DF0BA00E6F
|
||||
:10314200F96673671894FAEF16400EF98561C8E5BF
|
||||
:103152000EF9D90EF9F1B1126748C0FBA00EF9665B
|
||||
:1031620073671894FAEDAA32675C7F318EC117F14A
|
||||
:10317200243000FD8D2EC0EDAA32675C3F318EC136
|
||||
:1031820017F1243000FD8D2EC0EDAA32675C0731A5
|
||||
:103192008EC117F1243000FD8D2EC0EDAA32675C7E
|
||||
:1031A2003F318EC117F1243000FD8D2EC0EDAA32C1
|
||||
:1031B200675C1F318EC117F1243000FD8D2EC0EDEA
|
||||
:1031C200AA3267318EC117F1243000FD8D2EC0ED79
|
||||
:1031D200AA32679E996673671894FAEDAA327162F1
|
||||
:1031E20020675C7F726673621894FAEDAA3271628C
|
||||
:1031F20020675C3F726673621894FAEDAA32675CCC
|
||||
:103202003F726673621894FAEDAA32675C1F7266A7
|
||||
:1032120073621894FAEDAA326673671894FAEDAAEB
|
||||
:1032220032307D39FDC3366673671894FAEF793010
|
||||
:103232003639FDC3366673671894FAEF6B667367A7
|
||||
:103242001894FAEF63305939FDC3366673671894E0
|
||||
:10325200FAEF556673671894FAEF4D675C01D1DD9A
|
||||
:1032620047FD3D42EF426673671894FAEF3A667380
|
||||
:10327200671894FAEF3240E4FA18DE2CE9E4FA67B0
|
||||
:103282001866FAA0E4FAEF2067318E247200DD0797
|
||||
:10329200240500DD0AEF0B301A05FDC336EF03CE1D
|
||||
:1032A200ABAA6673671894FAC6D7C716664C30DCA9
|
||||
:1032B200094C37DE05FD682EEF65664C02DF118F83
|
||||
:1032C200EDFA5C03318E316D086F96FA0812EF61E8
|
||||
:1032D200664C4FDF06FD5E42F3EF56664C51DF0F40
|
||||
:1032E2008FE4FAA0E4FA730966FA318E12EF4266AD
|
||||
:1032F2004C3DDF0CAE90BFE8FAD9E8FAF112EF319B
|
||||
:10330200664C3EDF07D9E9FAF112EF25664C7FDF02
|
||||
:103312000E30613CFDC336713AD5324A00EF126677
|
||||
:103322004C53DC0532EE00EF0866730994FA318ED5
|
||||
:1033320012C6D7C71617F1241000240500DE09664D
|
||||
:10334200723894FA00717220C6D7717BFAC7C1C174
|
||||
:10335200FBF8FF8C0273099CFA5E0AD1DF248C020F
|
||||
:10336200318E0494FA14896E0A99716A27CC01008D
|
||||
:10337200316207086159018C01D1DFF47163077171
|
||||
:103382006B271004C6717AFAD7CFEDFA03D7C78834
|
||||
:10339200061617F1E734020025DD3D23DD1725DD92
|
||||
:1033A2002023DD0523DD29EF3B304000C15012FD13
|
||||
:1033B2004C33C0EF2F675C037266736218EAFAEF50
|
||||
:1033C20023675C037266736218EAFAFD0347EF141F
|
||||
:1033D20066736718EAFAEF0C6791DF08E6C15012CC
|
||||
:1033E200FD4C33C0C6D7C71617F1E7240000DD0F26
|
||||
:1033F20023DD64240300DD0F24FB00DD6FEF637126
|
||||
:103402006221323500EF66409FFA5BDC06CFEEFAAE
|
||||
:103412000FEF32409FFA4CDC06CFEEFA0BEF26405C
|
||||
:103422009FFA33DC06CFEEFA07EF1A409FFA1ADC56
|
||||
:1034320006CFEEFA03EF0E409FFA06DC05E5EEFA40
|
||||
:10344200EF03F5EEFA31120505308000EF01F608C0
|
||||
:103452006FEEFA0812EF168FEBFAF5EBFA318E12D5
|
||||
:10346200EF0B667309EAFA318E12EF01F7C6D7C77E
|
||||
:103472001617F1E7240000DD3C241000DD1C23DDDB
|
||||
:103482001C23DD34240E00DD18241100DD18240F66
|
||||
:1034920000DD18243000DD18EF23E7EF22E7A3EF69
|
||||
:1034A2001E320400EF19320500EF14320600EF0F4E
|
||||
:1034B200320700EF0AF7EF07320300EF02F792C676
|
||||
:1034C200D7C78F60FCB060FCD161E8EDFC35E560E8
|
||||
:1034D200FC31022103EDE2354012F90361E8EDE22D
|
||||
:1034E200358FFBFA2FFFFA706131FDE82013440299
|
||||
:1034F2000071FEDC118FFBFA9F9CFA8FFBFA9FFF93
|
||||
:10350200FAF500FBEF5F8FFFFA4FFBFADE05A00032
|
||||
:10351200FBEF0B8FFBFA4FFFFA61D8B000FBB061F3
|
||||
:10352200FCD561FCDF3F8F00FB7C804CA0DC0E8F62
|
||||
:1035320000FB7C804CC0DE05A0FFFAEF1B8F00FB76
|
||||
:10354200318F44E10071FEDE0F8F00FB318F44C1E9
|
||||
:103552000071FE61C8B0FFFA8FFFFA9F9CFACF613B
|
||||
:10356200FC20F500FB8FFAFA2F01FB706131FDE8B8
|
||||
:10357200201344020071FEDE08B002FBD502FBDF1D
|
||||
:10358200358FFAFA9F01FBD901FBF1313F609FF0C1
|
||||
:10359200FAD901FBF1312F609F9DFAD901FBF1317C
|
||||
:1035A2002F1249D222318EC15013C150A4FDD02B0B
|
||||
:1035B2001004CF02FBC8D9C0FAF1E7240000DD1ADB
|
||||
:1035C20023DD0523DD0AEF12D9BCFAF1BD1AEF0D96
|
||||
:1035D200D99CFAF1314FBD1AEF03F6BD1A710321DE
|
||||
:1035E2007150F000CE300BCF170006CE3106FD171A
|
||||
:1035F2002B717A30710BE3710BE7C6D7C7168B724A
|
||||
:103602008C01614ADE248B728C02614ADE168C01C7
|
||||
:10361200728C02614ADE068C01318EEF048C02311B
|
||||
:103622008E12EF288B318E12EF228B728C02614A3E
|
||||
:10363200DE068B318E12EF148C01728C026142DE37
|
||||
:10364200068C01318EEF048C02318E12C6D7C7165A
|
||||
:10365200710AE7710BE37150F000CE300BCF170007
|
||||
:1036620006669E31FD172B717A303182E302EFFA42
|
||||
:103672008D1F7158F000710BE7318E12C6D7EDAE77
|
||||
:1036820036C7311221043124211F712321711321E4
|
||||
:103692005600664C0BDD1272F3311C7962FCCEFCD3
|
||||
:1036A2000061CAFD173786EFE9F7C6D7C75600662D
|
||||
:1036B2004C08DE0BF0317E12F67810FB86EFF0C676
|
||||
:1036C200D7C7C1C1FBF8FFCC01008C014C08DE3F1B
|
||||
:1036D2008C01F0317E0410FB14A96168DD0AA96136
|
||||
:1036E2004902DF2600E7EF298C014C08DE198C0124
|
||||
:1036F200F0317E0410FB14A96168DF06AC02B9F751
|
||||
:10370200EF0F615901EFE1E7EF07615901EFBB00EC
|
||||
:10371200E71004C6D7C72004FBF8FFCC02FFCC0396
|
||||
:10372200008C034C08DE598C03F0317E0410FB142C
|
||||
:10373200A96168DD29A9E743DF0300EF3E8C03722C
|
||||
:10374200F3311C7910FBCEFC0061CAD2DF0A8C0374
|
||||
:10375200F0317E12E67810FB8C039C02EF1D61595A
|
||||
:10376200038C034C08DE198C03F0317E0410FB1429
|
||||
:10377200A9616861E800615903EFE6615903EFA1AD
|
||||
:103782008C028161F8ED8D38F64212FB61E800CCC3
|
||||
:103792000100CC00018B4C0861C8ED4238717BFA04
|
||||
:1037A2008C01F0317E127910FBE743DF678BF03139
|
||||
:1037B2007E0410FB14A96168DF348C014DDE0F8C8E
|
||||
:1037C20001F0317E12F67810FB615901EFEC61597C
|
||||
:1037D200008B4C08DE138BF0317E0410FB14A961C0
|
||||
:1037E2006861E800615900EFE8717AFAEF528BF0F4
|
||||
:1037F200317E0410FB14A9E743DD2BA9128C01F0E2
|
||||
:10380200317E337810FB8BF0317E12E67810FB614B
|
||||
:103812005901EF128C01F0317E0410FB14A961688A
|
||||
:1038220061F800615901717AFA8C01F0317E04105D
|
||||
:10383200FB14A96168DF0300EF06615900ED9737B9
|
||||
:10384200717BFACC00008B4C08DE3D8BF0317E049C
|
||||
:1038520010FB14A96168DF1C006159008B4C08DE63
|
||||
:10386200278BF0317E0410FB14A9616861E80061C6
|
||||
:103872005900EFE88BF0317E0410FB14A9E743DF17
|
||||
:1038820002F6B9615900EFBE717AFA8C0281DD034A
|
||||
:10389200E7EF01F71004C6D7C7C1C1FBF8FFCEABF3
|
||||
:1038A200AC8C02D1DD12616902305C03BBF6614966
|
||||
:1038B20000DDEE618900EFF51004C6D7C72006FBD4
|
||||
:1038C200F8FF34D9FAC5300600C150A8C15030FD06
|
||||
:1038D2005B2B1006D2DD1134D4FA895CFC99FD7D94
|
||||
:1038E200397110A2FAF7EF488FD4FA5C01D1DD28C2
|
||||
:1038F2004012F903DF22301000C1A1FD4C33C0C7D2
|
||||
:1039020036100571D4C6DE1017C1300600C150A8AA
|
||||
:10391200C15030FD5B2B10064012F901DD1140123F
|
||||
:10392200F906DD0B8FD4FA5C02D161E8FD4B3FF75B
|
||||
:103932001006C6D7D9D5FAF1C15030FD2D2BC06281
|
||||
:103942009FD8FA7130A5FA8FADFA5C08D1DF067103
|
||||
:103952006307716B27F7D7D9D8FAF1C1D9D7FAC162
|
||||
:103962005030FDD02B10047130A5FA8FADFA5C08EF
|
||||
:10397200D1DF06716307716B27F7D7C7200AFBF8FF
|
||||
:10398200FF300F00C15030FD2D2BC04085FA02DF01
|
||||
:10399200077110A2FAF7EF567118A2FACC0700CC01
|
||||
:1039A2000812CC09808FD4FA5C03D1DF08717AD572
|
||||
:1039B200CC0607EF06717BD5CC062F17040600C193
|
||||
:1039C200300400C150A0C15030FD022C1006C73691
|
||||
:1039D200100571D4C6DE164012F903DF1017C1308C
|
||||
:1039E2000600C150A8C15030FD5B2B1006F7100A2B
|
||||
:1039F200C6D7C78F12F9318F240200DF04F6BF78D1
|
||||
:103A0200FC8F7AFCB07AFCD161E8EDF93ACF7AFC0E
|
||||
:103A1200048F12F9318FE734020023DD0A25DD0716
|
||||
:103A2200252361F3EDF93A31340708714321F5207A
|
||||
:103A3200FBEF1531442105F520FBEF0CA020FBD54F
|
||||
:103A420020FB61F8CF20FBFF313407104020FB023E
|
||||
:103A5200DF1DE6C15010FD4C33C0EF134020FBFACE
|
||||
:103A6200DF0DE6A1C15010FD4C33C0E6BF78FCF675
|
||||
:103A72004278FCDD19A278FC30F4014278FCDF0EBA
|
||||
:103A8200F6BF78FCCFBDFA04F512F97122218F1529
|
||||
:103A9200F9318FE7240000DD07B12361D30CEF1267
|
||||
:103AA20036100571C4715121EF0B7104027151215D
|
||||
:103AB200EF037152213152211B4021FB0361D8A037
|
||||
:103AC20021FB4021FB02DF0F300400C15010FD4CEE
|
||||
:103AD20033C0EF03F521FB314207194022FB03619A
|
||||
:103AE200D8A022FB4022FB02DF0D301000C1FD4CAA
|
||||
:103AF20033C0EF03F522FBC6D7C74012F902C6D77F
|
||||
:103B0200C72004FBF8FF4012F903DD064012F90555
|
||||
:103B1200DF218F9DFA9C038F9CFA9C028FD4FA9C22
|
||||
:103B2200018E929B17C1300400C1F6C15024FD02E0
|
||||
:103B32002C10061004C6D7C7D57EFCDD06B07EFC6D
|
||||
:103B4200EDF53BCF7EFC02311407067110A3FAEFAC
|
||||
:103B5200047118A3FA4012F903DD094012F9056154
|
||||
:103B6200E8EDE43B8FA3FA7F26FB76D1DD4E8FA3EF
|
||||
:103B7200FA9F26FB665C10D1DD1E8FA3FA5C10D182
|
||||
:103B8200DD0C308000C15011FD4C33C0EF0A3040D3
|
||||
:103B920000C15011FD4C33C0665C02D1DD1E8FA303
|
||||
:103BA200FA5C02D1DD0C304000C15010FD4C33C034
|
||||
:103BB200EF0A302000C15010FD4C33C08FD4FA5CA4
|
||||
:103BC20003D1DD13C736100571D4C6DE0A30BE3804
|
||||
:103BD200FDC336D261F80031220707305C26FDC3EF
|
||||
:103BE20036003164210D716321308000C15012FD15
|
||||
:103BF2004C33C0C6D78FB4FA5C0FD1DD5D8FB4FAF7
|
||||
:103C02005C01D1DD05F512F9EF508FB4FA5C02D1F7
|
||||
:103C1200DD15E6C1A1A1C15084FDD02B10047113A2
|
||||
:103C220000711B207103038FB4FA5C08D1DD0571AA
|
||||
:103C32000303EF0E8FB4FA5C04D1DD067113007139
|
||||
:103C42001B20300500FD9A38710203300300C1C108
|
||||
:103C52005084FDD02B1004711A20F5B4FAF7D7C79F
|
||||
:103C62003641057184DC70364105719461D871402A
|
||||
:103C7200500531B2D103E7EF6D713BD18F0EF9A040
|
||||
:103C82000EF9318EE7240000DD0E23DD1323DD1E45
|
||||
:103C920023DD2323DD30EF3F8F15F99F4005EF34FD
|
||||
:103CA200F6C15084FD2D2BC0629F4005EF268F5A2E
|
||||
:103CB200FC9F4005EF1E300800C1506CFD2D2BC04B
|
||||
:103CC200629F4005EF0E300900C1506CFD2D2BC0E4
|
||||
:103CD200629F4005E7EF0F71605005714850057112
|
||||
:103CE2003BD5F50EF9F7C6D78F12F9318FE72400CD
|
||||
:103CF2000061F8ED473E23DD212361F8ED9E3D236F
|
||||
:103D020061F8EDFA3D2361F8ED093E2361F8ED1CFF
|
||||
:103D12003E2361F8ED9E3EEDD43E8F13F9318FF7CD
|
||||
:103D220023DF26D520FBDD05F580FCEF03A080FC18
|
||||
:103D32004080FC65DC07F512F9712221D74020FB97
|
||||
:103D42000A61D8EDD73EE513F9714221F580FC7185
|
||||
:103D52006201717201FD2B2DFDD7274015F903DF9A
|
||||
:103D620007712221F512F9D7FDF529409FFA05DEE8
|
||||
:103D720007712221F512F9D7FDA625D2DD0771229E
|
||||
:103D820021F512F9D7FD7C254013F901DF05F5BDB8
|
||||
:103D9200FAEF04CFBDFA03CF12F902D7FD0A44CFDE
|
||||
:103DA200350002CF37001DCF120510FDB72A8F96BE
|
||||
:103DB200FA5C02D1DD0A308000C15010FD4C33C0E4
|
||||
:103DC2008F96FA5C02D1DD0A308000C15010FD4CA2
|
||||
:103DD20033C0FDB32D714A9DF537FFF513F97122FA
|
||||
:103DE20021CBE43FEFCBE6F6F0FD2B2D713BD471F6
|
||||
:103DF2003814F9CF12F903D7FDD83E31040C07CF9E
|
||||
:103E020012F904712221D7302700C15005C1508414
|
||||
:103E1200FDD02B1004CF12F905D7FDD83E31020C8C
|
||||
:103E220023F6C15005C15084FDD02B10043005008B
|
||||
:103E3200FD9A3871720700000000717307CF12F902
|
||||
:103E420002712221D7CFBDFA03F6426CFF61E8ED81
|
||||
:103E5200D73EFD5044FD0E2BFD082E714B9DF5A45F
|
||||
:103E6200FAF5A5FAF5A6FAF5A7FA31242002EFFA37
|
||||
:103E7200CE3708CBE4BFFFCBE6FFF1CED4FFCF377E
|
||||
:103E82000009F51205F6BEE0BEE2BED0FD3026F511
|
||||
:103E920080FCCF12F906714221F520FBE512F931BF
|
||||
:103EA200020704717201D771430271730131949E4A
|
||||
:103EB20002EFFAFD8D2D712AE7CEA409F5F3006118
|
||||
:103EC200FD31040703714321E5F300CEA408712BF1
|
||||
:103ED200E7D700EFFDD7D528FBDF1F3102001A30EC
|
||||
:103EE2000300C15084FD2D2BC0625C01D1DF07F5B8
|
||||
:103EF20012F9712221D7E528FBD74028FBF0DF0811
|
||||
:103F02003104003FF528FBD74028FBC8DF0BF51230
|
||||
:103F1200F9712221CF28FBF0D731020004A028FB3F
|
||||
:103F2200D7F6C15004C15084FDD02B10048FA3FAE0
|
||||
:103F32005C9F9FA3FA7110B4FA30F73BFDC336CFF2
|
||||
:103F420028FBF0D7FDE102F7D7C7200CFBF8FF8F63
|
||||
:103F5200DAFAF0F9D9FAF303FDE82013BC048FDC96
|
||||
:103F6200FAF0F9DBFAF303FDE82013BC028FDEFA64
|
||||
:103F7200F0F9DDFAF303FDE82013BBAC04BDD8F67B
|
||||
:103F8200BDDAAC04311EBDDCF6BDDEFDA605ADD842
|
||||
:103F9200BDDCADDABDDEAC02BDD8F6BDDAAC0231B5
|
||||
:103FA2001EDADCC3DADEC3BDDCF6BDDEFDA605C06B
|
||||
:103FB200BDDEC0BDDCADDEFDA806ADD8BDDCADDA30
|
||||
:103FC200BDDEABBDD8F6BDDAAB311EDADCC3DADE5C
|
||||
:103FD200C3BDDCF6BDDEFDA605C0BDDEC0BDDCADE9
|
||||
:103FE200DEFDA806DADAADD8FD6943C3C58FB8FB9A
|
||||
:103FF2005C3FF0317E0438FB14C2C0B9A0B8FBF6B6
|
||||
:10400200BC08BC0A9C078C074C2EDD3E8FB8FB0E09
|
||||
:104012000770F161DC605C3FF0317E127938FBBDE4
|
||||
:10402200D8F6BDDA8C0773091423318FBDDC70BD5D
|
||||
:10403200DEFDA605AC08BDDCAC0AFDA806ADDABC07
|
||||
:104042000AADD8BC08615907EFBCAC08BDD8AC0AB0
|
||||
:10405200BDDAC9DC0004F6FD2106C9DCFFFFF6FD6E
|
||||
:10406200FD06ADD8BF30FBAF2AFB4230FBDD12AFFD
|
||||
:104072002CFBBF2EFBAF2AFBBF2CFBAF30FBBF2AB2
|
||||
:10408200FBAF2CFB422EFBDC50AF2AFB422CFBDEAB
|
||||
:1040920048AF82FC422AFBDE404032FB16DC1F4066
|
||||
:1040A20032FBA0DE168F33FB4F32FBDE0EAF2AFB54
|
||||
:1040B2002234FB44691061C8FD2441F532FBAF2A6A
|
||||
:1040C200FB445146DC0BAF2AFB241027BF84FCEFD4
|
||||
:1040D2001930F82ABF84FCEF114032FBFFDD03E602
|
||||
:1040E200EF01F63432FB89610899AF2EFB422CFBBB
|
||||
:1040F200DC1BAF2CFB422AFBDE13AF2AFB4284FC03
|
||||
:10410200DE0BF533FBAF2AFBBF34FBEF114033FB71
|
||||
:10411200FFDD03E6EF01F63433FB89610899100CE9
|
||||
:10412200C6D7C72006FBF8FFA0DFFAD5DFFADF1CEF
|
||||
:10413200A0E0FAD5E0FADF14A0E1FAD5E1FADF0C4B
|
||||
:10414200CFDFFAFFCFE0FAFFCFE1FAFF717BFA711E
|
||||
:104152000A9E31929E02EFFA8E98FD11079C038E01
|
||||
:10416200949F86FC8E969F87FC8E979F88FC8E93E9
|
||||
:104172009C02FDFB4213BC048F89FC4E03DF12AF8D
|
||||
:10418200BCFB614904DE41AC0422BCFBFD1542EFDD
|
||||
:10419200378C03318EB112D989FCF143DF1F8C03B6
|
||||
:1041A2005C0391DF03E6EF01F6046D01313D12017C
|
||||
:1041B2000322BCFB610904BBFD1542EF0B8F89FC96
|
||||
:1041C2004E03DE04F6FD15428C039F89FCAC04BF4E
|
||||
:1041D200BCFB8FBAFB9C018C024FD3FADE0C6169E7
|
||||
:1041E200018C014CA961D8CC01A78C01F0317E046D
|
||||
:1041F20016F914A944FFFFDF04E6B9EF128C01F0AF
|
||||
:10420200317E0416F914A944FEFFDD03A9A1B910F9
|
||||
:1042120006C6D7C7161744A90061C836A800A0BAB7
|
||||
:10422200FB40BAFBA961D8F5BAFBF9BAFBF3311C22
|
||||
:10423200F67816F9B7F647DFE5C6D7C756A89666E9
|
||||
:10424200F0317E12F6B17816F966D1DFF1F5DFFAB8
|
||||
:10425200F5E0FAF5E1FAC6D7717321D7C72004FB5E
|
||||
:10426200F8FFD90EF9F1E7240000DD1123DD1E234A
|
||||
:10427200DD2523DD2C23DD3723DD3CEF428FBAFB26
|
||||
:104282009FBEFBA00EF9D986FCF112EF68A00EF9D1
|
||||
:10429200D987FCF112EF5EA00EF9D988FCF112EF7A
|
||||
:1042A20054A00EF98F89FCFD2B07318E12EF46A028
|
||||
:1042B2000EF9325500EF3EA00EF932AA00EF36F9A0
|
||||
:1042C200BEFBF3311C7916F9BB317221058B9C03BD
|
||||
:1042D200EF128C019C03D5BEFBDF06CFBEFBA7EF1E
|
||||
:1042E20003B0BEFB718071772161DC61FB717121CA
|
||||
:1042F2008C03318E121004C6D7C72006FBF8FF8E3E
|
||||
:1043020098FD11079C038E97FD11079C028E96FD66
|
||||
:1043120011079C018E94FD11079B710B9E717AFA15
|
||||
:104322008C02F0317E12794423BC048C035C03D1ED
|
||||
:10433200DF158C024C03DE0C8C024C02DF098C016F
|
||||
:104342004C1D61F86179048C01318EB1610904BCA4
|
||||
:1043520004313D120103BC048C040D708C051C0059
|
||||
:10436200BC04121006C6D7C7C3C12008FBF8FFF66B
|
||||
:1043720061490A61F8614908DF07F7340000ED0678
|
||||
:1043820044E6BC04F6BC06AC0ABC02AC08BBAC06F4
|
||||
:10439200614902AC0461F8614900DE28AC04BDD871
|
||||
:1043A200AC06BDDAE1FDB706ADDABC06ADD8BC0499
|
||||
:1043B200ABBDD8AC02BDDAE1FDD206ADDABC02ADCE
|
||||
:1043C200D8BBEFCAAC06BC02AC04BBAC08BDD8ACCF
|
||||
:1043D2000ABDDAAC04BDDCAC06FD5A06AC04BDDC99
|
||||
:1043E200AC06FDA806E1FDD206ADDABC06ADD8BC2E
|
||||
:1043F20004AC06614902AC0461F8614900DCC5AC59
|
||||
:104402000214AB12100CC6D77100F200304400BF88
|
||||
:10441200B601300188BF9001300984BF9E01BF9C64
|
||||
:1044220001BF9A01BF9801BF9601BF9401BF9201DB
|
||||
:10443200F53CFF30FE00BFBE01F6BFBC01BFB801B4
|
||||
:1044420050EEBFBA01A1BFB201C918FF00D730EFC9
|
||||
:1044520000BFB401F6BFBA017108F200D7D9BDFAA4
|
||||
:10446200F1E7240000DD1123DD4423DD3D23DD1FC0
|
||||
:1044720023DD3F23DD44EF368F12F9318F24030011
|
||||
:10448200DD09240200DF3AFD3545D7FDC444D7F6E5
|
||||
:10449200426CFF61E8E612AE6C23BE6CF6426EFF20
|
||||
:1044A20061E8E612AE6E23BE6ED7FD3545D7FDC478
|
||||
:1044B20044D7F6BE6CCB6E0001D7CB6C0001F6BEC2
|
||||
:1044C2006ED7409FFA03DE17A048FC4048FC7FDE0F
|
||||
:1044D20007F6BE6CBE6EEF06D9BCFAF1BE6ED740CF
|
||||
:1044E2009FFA0CDE27F6426CFF61E8B26CFFD9BC82
|
||||
:1044F200FAF1426EFFDD3BD9BCFA12AE6E43DE0327
|
||||
:10450200E6EF02F6B112AE6E03BE6ED7D9BCFAF177
|
||||
:10451200426CFFDD14D9BCFA12AE6C43DE03E6EF47
|
||||
:1045220002F6B112AE6C03BE6CF6426EFF61E8B2E7
|
||||
:104532006EFFD7D549FCDD04B049FCD7CF49FC0A50
|
||||
:10454200AE6E424EFCDD13AF4EFC426EFFDE05B294
|
||||
:104552006EFFEF06AE6EA1A1BE6EAE6C424CFCDDEC
|
||||
:1045620013AF4CFC426CFFDE05B26CFFEF06AE6C83
|
||||
:10457200A1A1BE6CD94AFCF1F734020023DD062565
|
||||
:10458200DD0325DF1F409FFA0CDE0CF6BF4CFCD981
|
||||
:10459200BCFABF4EFCEF1FD9BCFAF1BF4CFCF6BF10
|
||||
:1045A2004EFCEF12409FFA0CDE07E6A1BF4EFCEF75
|
||||
:1045B20005E6A1BF4CFCAE6C424CFCDF0AAE6E427B
|
||||
:1045C2004EFC61F8A04AFCD78F50FCB050FCD1DF02
|
||||
:1045D2005C31D4D107715BD1CF53FC02D553FCDDE2
|
||||
:1045E200347140A2FAD952FCF1E734020023DD060D
|
||||
:1045F20025DD0325DF05F6BE66EF06D9BCFAF1BE5E
|
||||
:1046020066A052FC4052FC20DF06F552FCB053FC7F
|
||||
:10461200CF50FC16D77148A2FAD5BEFADF05F6BE16
|
||||
:1046220066EF06D9BCFAF1BE66CF50FC64D7C78FDD
|
||||
:1046320054FCB054FCD161E8ED0147D9C1FAF1E76D
|
||||
:10464200240000DD0923DD1223DD1E23DD49F6BE31
|
||||
:104652006AF556FCF555FCED0147D9BCFAF1BE6A84
|
||||
:10466200F556FCF555FCED0147D956FCF1E734024D
|
||||
:104672000023DD0625DD0325DF08D9BCFAF1BE6A79
|
||||
:10468200EF03F6BE6AA056FC4056FC1061F8F556E0
|
||||
:10469200FCCF54FC32EF68CF54FC3CD555FCDD080E
|
||||
:1046A200F6BE6AF555FCEF57D956FCF1BDD8500459
|
||||
:1046B200FDD10501087208D956FCF1312F045E23A1
|
||||
:1046C2001489318FD2DD040192DFFC605CC076D1A7
|
||||
:1046D200DF05F556FCEF03A056FCE555FC665C8051
|
||||
:1046E200D1DD12D9BCFAF1BE6A665C40D1DD10CFD1
|
||||
:1046F20054FCB4EF0A665C40D161F8CF54FCB4C6F6
|
||||
:10470200D7D558FCDD04B058FCD7D9BFFAF1E7245D
|
||||
:104712000000DD0F23DD1D23DD1023DD5E23DD2FF1
|
||||
:1047220023DD43F6BE64F58AFCD7D9BCFAF1BE6438
|
||||
:10473200F58AFCD7D58AFCDF0BD9BCFAF1BE64E559
|
||||
:104742008AFCEF06F6BE64F58AFCCF58FCFAD7D590
|
||||
:104752008AFCDF0ED9BCFAF1BE64E58AFCCF58FCB4
|
||||
:10476200FAD7F5BFFAD7D58AFCDF0BF6BE64E58A25
|
||||
:10477200FCCF58FCFAD7CFBFFA02D7D9EFFAF1E74C
|
||||
:10478200240000DD0923DD2823DD0A23EF22F6BE03
|
||||
:1047920064F58AFCD7D58AFCDF0BD9BCFAF1BE647A
|
||||
:1047A200E58AFCEF06F6BE64F58AFCCF58FCFAD720
|
||||
:0A47B200D9BCFAF1BE64E58AFCD719
|
||||
:1047BC0061FC61FCC1C3C5C7520C929269D4FEC1A5
|
||||
:1047CC00DFF88EFD708EFCC14012F903DF09717A9F
|
||||
:1047DC00FA305C26FDC336C09EFC609EFD34D4FED0
|
||||
:1047EC005206C0B9A5A592DFF9C6C4C2C061FC616E
|
||||
:1047FC00DF520C929269D4FEC1DFF88EFD708EFCF4
|
||||
:10480C00C1717AFAC736410571A4C6DC41F55EFC6C
|
||||
:10481C00714850057160500531742026716A2771FA
|
||||
:10482C007320D5A4FADF0FD5A5FADF0AD5A6FADFD7
|
||||
:10483C0005D5A7FADD0C31620702EFFA7163077137
|
||||
:10484C006B27FD5A42FDB22EF50EF9ED5049C736D5
|
||||
:10485C0041057184C6DE0DF55EFC71485005FDB254
|
||||
:10486C002EED5049C73641057194C6DE15405EFCED
|
||||
:10487C0003DD0C405EFC04DD06405EFC0161F8F5D6
|
||||
:10488C005EFCD95EFCF1E7240000DD0823DD132378
|
||||
:10489C00DD36EF5D71405005E55EFC71505005ED65
|
||||
:1048AC0050498F40059F0FF9D90FF9F1FDAC3262D9
|
||||
:1048BC009F11F9400FF97FDD06CF5EFC02EF03F587
|
||||
:1048CC005EFC71505005EF7CC73641057194C6DE15
|
||||
:1048DC001CC736410571C4C6DE06CF5EFC03EF1162
|
||||
:1048EC00F55EFC7148500571605005EF57CF5EFCCA
|
||||
:1048FC0004405EFC03DF0F8F11F99F4005D90FF9BF
|
||||
:10490C00F1FD3533EF128F40057617F1C1D90FF950
|
||||
:10491C00FD062FC071505005D90FF9F1242D00DD83
|
||||
:10492C0012242200DD0D240200DD08242E0061E893
|
||||
:10493C00A00FF9405EFC03DF0BD90FF9F1FDAC328F
|
||||
:10494C00629F11F9C09EFC609EFD34D4FE5206C0DD
|
||||
:10495C00B9A5A592DFF961FCC1C3C5C7520C9292EF
|
||||
:10496C0069D4FEC1DFF88EFD708EFCC1F616717A2B
|
||||
:10497C00FA714AE5717BBD51405F0401D1DD05A799
|
||||
:10498C00F647DFF3300400BF2401F6BF2A01300BD9
|
||||
:10499C000BBF2801FD172B300B0FBF2801FD172B68
|
||||
:1049AC00300F0FBF2801710AE6712320C09EFC60F6
|
||||
:1049BC009EFD34D4FE5206C0B9A5A592DFF9C6C43B
|
||||
:1049CC00C2C061FCC1C3C5C7520C929269D4FEC16E
|
||||
:1049DC00DFF88EFD708EFCC1717AFAD584FADD0E8B
|
||||
:1049EC00EB82FA899E44A282FAB084FAEF2B710A08
|
||||
:1049FC00E6300400BF2401F6BF2A01300B0BBF28A0
|
||||
:104A0C0001FD172B300B0FBF2801FD172B300F0F9B
|
||||
:104A1C00BF2801711320712320C09EFC609EFD34C1
|
||||
:104A2C00D4FE5206C0B9A5A592DFF9C6C4C2C061B6
|
||||
:104A3C00FC61EF520C929269D4FEC1DFF88EFD70CE
|
||||
:104A4C008EFCC12006FBF8FF71503002F6BC02311F
|
||||
:104A5C00B2E21B3184510771603002ED384B617941
|
||||
:104A6C0002F6614902DFE871603002ED384B8E507E
|
||||
:104A7C009C05713BE2715030028C05318EFD713416
|
||||
:104A8C00629F88FA8E519C015C01D1DD0771603008
|
||||
:104A9C0002ED384B8C015C02D1DD66D988FAF1FD50
|
||||
:104AAC00E833629F89FAF6BC0231B2E219318451C3
|
||||
:104ABC000671603002EF75617902F6614902DFE937
|
||||
:104ACC0071603002EF66713BE231C25106716030A9
|
||||
:104ADC0002EF598F89FA9E50F6BC0231B2E21931BD
|
||||
:104AEC0084510671603002EF43617902F66149022C
|
||||
:104AFC00DFE971603002EF34713BE271603002EF3C
|
||||
:104B0C002B31B4E2248C015C03D1DF1D713BE28EAE
|
||||
:104B1C00509C0571503002716030028C05318EC191
|
||||
:104B2C00D988FAFD9033C0EF03ED904A1006C09E71
|
||||
:104B3C00FC609EFD34D4FE5206C0B9A5A592DFF9E7
|
||||
:104B4C0061FCC18FCEFA4F96FFDF328FCFFA4F97B1
|
||||
:104B5C00FFDF2A8FD0FA4F98FFDF228FADFA5C046B
|
||||
:104B6C00D1DF1A7120A5FA716307716B274012F916
|
||||
:104B7C0006DD064012F90161F8CF13F902C061FCA1
|
||||
:104B8C0071122161FCC1C3C5C7520C929269D4FE4B
|
||||
:104B9C00C1DFF88EFD708EFCC1717AFA8E31318EC8
|
||||
:104BAC00E7240600DD0923DD1D23DD4723EF5FD954
|
||||
:104BBC000CFBF10403FB148D1F993003FBFDFE3538
|
||||
:104BCC00629FFBFAEF48D90CFBF10406FB148D1F16
|
||||
:104BDC00994015F901DF0C3006FBFDFE35629FFA9A
|
||||
:104BEC00FAEF2B3006FBFDFE35F690F323609FFAAF
|
||||
:104BFC00FAEF1BD90CFBF10409FB148D1F9930093A
|
||||
:104C0C00FBFDFE35629F02F9305529FDC33640315C
|
||||
:104C1C00FF08DD05A031FFEF197158F0007102217A
|
||||
:104C2C00400CFB02DF03F6EF05D90CFBF1A1609FF2
|
||||
:104C3C000CFBC09EFC609EFD34D4FE5206C0B9A590
|
||||
:104C4C00A592DFF9C6C4C2C061FC61FF717AFA8F0C
|
||||
:104C5C00D4FA5C03D1DD114012F903DD064012F9E0
|
||||
:104C6C0005DF0536100571D461FC61FC61FC61FC4B
|
||||
:104C7C0061FC61FC61FC61FC61FC61FC61FC61FC40
|
||||
:104C8C0061FC61FC61FC61FC61FC61FC61FC61FC30
|
||||
:104C9C0061FC61FC61FC61FC61FC61FC61FC61FC20
|
||||
:024CAC0061FCA9
|
||||
:104CAE00FF00000000000020F439C33466275F4483
|
||||
:104CBE00CA4530460347393BFB3A023BEA3C00000B
|
||||
:104CCE000000000000000000983AF82A23301299E4
|
||||
:024CDE000000D4
|
||||
:0A4FF60031343A32353A3038000009
|
||||
:00000001FF
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,568 +0,0 @@
|
||||
:02000000000EF0
|
||||
:02000200FFFFFE
|
||||
:02000800E334DF
|
||||
:04001000D932DB32D4
|
||||
:02001C00EB33C4
|
||||
:02002400FB33AC
|
||||
:02002A000F3392
|
||||
:08003400E534AC34A734CF32EF
|
||||
:04004A00DD32A234CD
|
||||
:0400C0006EFBFF854F
|
||||
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
|
||||
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
|
||||
:1000D800C7F616A7F647DFFBFDF307FD5921EFF832
|
||||
:1000E800C6D73142210261EDD7717BFACEA016CE78
|
||||
:1000F800A180CEA409F5AAFFF5A9FFF400F401F444
|
||||
:1001080002CD0306F404F405F406CD0740F40CF41C
|
||||
:100118000EF408F40FF53000F53100F53300F5342E
|
||||
:1001280000CF350003CF370019F53C00F53E00F548
|
||||
:1001380020FFF521FFCE22E9E523FFCE240BCE25B3
|
||||
:1001480003F526FFCE271FCE2C1FE52EFFCE2F0747
|
||||
:10015800CE28FFF54300F54700CF530006F55700BA
|
||||
:10016800F5E0FFF5E1FFF5E2FFF5E3FFF5D0FFCE9F
|
||||
:10017800E4FFCEE5FFCEE6FFCEE7FFCED4FFCEE824
|
||||
:10018800FFCEECFFCEE9FFCEEDFFCEEAFFCEEEFECE
|
||||
:10019800CEEBFFCEEFFFCED8FFCEDCFFF538FFF574
|
||||
:1001A80039FFF537FF7108F200F690BFB4017138D6
|
||||
:1001B800F100F54002F54102F54302F5A5FFF5A669
|
||||
:1001C800FF7158F000F530FF7128F0005087BF1814
|
||||
:1001D80001BF1A01BF1C01BF1E017148F000F530B4
|
||||
:1001E80002F5BCFFF5BDFFD7F7D7C7C1FBF8FF3154
|
||||
:1001F800642002EFFA715220340020C5304000C15B
|
||||
:10020800C1506CFDF622100617C1E6A1C1500EC1FF
|
||||
:10021800506CFD3A22100617C1E6A1C1500EC1501C
|
||||
:100228006CFD3A22100617C1E6A1C1A1A1C1506C0C
|
||||
:10023800FD3A22100617C1E6A1C1500EC1506CFD4F
|
||||
:10024800F6221006CC0100CC000017C1E6A1C1506F
|
||||
:100258003EC1506CFDF6221006CF03F99EAFC0F9DF
|
||||
:10026800BF04F9AFC2F9BF06F9C0C6D7FD2224F60C
|
||||
:10027800C15003C15084FDB6221004F3D7C720062D
|
||||
:10028800FBF8FFC71704030016F74940209BA3A7F4
|
||||
:100298005102614ADFF4C6C717A116F74942209BED
|
||||
:1002A800A3A75102614ADFF4C68C01318EC1E6A1D1
|
||||
:1002B800C15006C1506CFDF622100617040300C198
|
||||
:1002C800E6A1C1503EC1506CFDF6221006716201D4
|
||||
:1002D800300900FD9C2D62316A9C05716301FDF2B5
|
||||
:1002E80001717201300800FD9C2D629F02F9300BEC
|
||||
:1002F80003FD232EF6C15084FDC521C0629C051064
|
||||
:1003080006C6D7C751E0D902F9D651A36128319E54
|
||||
:100318009F46F92FC4F9318EFD84201344040071DF
|
||||
:10032800FEDE05D5C5F9DF508F46F97C804C95DC9B
|
||||
:1003380015D946F9F1241400BDD8AF04F9FD6D0EA6
|
||||
:1003480012F62316EF13D946F9F1241400BDD8AFDD
|
||||
:1003580006F9FD6D0E12F62316D903F9F107C1E669
|
||||
:10036800A1C1500CC1506CFDF6221006D2DF068FD9
|
||||
:1003780046F99FC4F9A0C5F9F7C6D77163073005D8
|
||||
:1003880000FD242F300500FD242F304A00C15022E3
|
||||
:10039800C15084FDB6221004717031F9E7D7300AD4
|
||||
:1003A80000FD242F716031F9E7D7716831F9F7D76B
|
||||
:1003B800716207303300FD242FF6C1E6A1C15084D5
|
||||
:1003C800FDB62210043431F9895C3F99F7D7F7D785
|
||||
:1003D800FDD603F7D7FD8303F7D7FDA603F7D7FDAF
|
||||
:1003E800B203F7D7FDB803F7D7C75A00FC8E205CD5
|
||||
:1003F800FC9E2071030E71520730A000FD242F715E
|
||||
:100408005307300400C1506CFDC521C056C8663181
|
||||
:100418008EF7BDD813BDDAFD3A0FC9DCCCCC30F469
|
||||
:1004280040FDA60EDE03E7EF2B669F38F9710A2020
|
||||
:100438007100300071120071020E306400FD242F2B
|
||||
:100448003102000F5A00FC8E205CFC9E2071030EC6
|
||||
:10045800E7EF01F7C6D7303200FD242F310400182A
|
||||
:1004680071520730FA00FD242F30FA00FD242F3096
|
||||
:10047800FA00FD242F7153075A00FC8E205CFC9E65
|
||||
:100488002071030EF7D7FDB803F7D73104070671BB
|
||||
:100498003031F9EF04713831F93102050671503104
|
||||
:1004A800F9EF04715831F931120506714031F9EF4D
|
||||
:1004B80004714831F94046F957DC094046F9B861FA
|
||||
:1004C800D8E5C6F94046F947DC094046F9BD61D888
|
||||
:1004D800F5C6F940C6F901DF0C4046F947DC06408D
|
||||
:1004E80046F9BDDC11D5C6F9DF114046F957DC0BDA
|
||||
:1004F8004046F9B8DE05712204EF03712304311276
|
||||
:1005080005058F3BF9EF01F1318EBE6A323200D713
|
||||
:10051800F7D7CEABACD7C720FE200CFBF8FFF6BF51
|
||||
:10052800BA015020BFBA01FD2708717BFA170408E9
|
||||
:1005380000FDE208629C06FD6D08620E069C06300E
|
||||
:100548000020BC02CC040F5112879C0897878C08A6
|
||||
:10055800974C1C61C8ED0406FD1A05878C08973175
|
||||
:100568008EFD2F08D2DD0E878C0897318EFD33085B
|
||||
:10057800629C06EFE6CC07008C074C04DE66F18728
|
||||
:100588009C0997AC02148C049EFD118972878C0912
|
||||
:1005980097318E07040800146299AC02A1BC028747
|
||||
:1005A8008C099781879C0997878C0997D1DFD4306C
|
||||
:1005B8004000C1878C0897318E31AD128C07318E7F
|
||||
:1005C800318D03BDD831FFBDDADADAADD8FD340B91
|
||||
:1005D800C0629C06D1DD08FD2B0800E7ED1107611C
|
||||
:1005E8005907EF94878C0897318EFD3708D2DFF4CE
|
||||
:1005F800878C089781879C0897ED55055104879C3F
|
||||
:100608000897878C08974C12DE17878C0897318ECD
|
||||
:10061800FD3308629C06878C089781879C0897EFB2
|
||||
:10062800E15104879C0897878C08974C1261C8EDA4
|
||||
:10063800CE06CC07008C074C04DE6D31825169FD73
|
||||
:100648001A0531B2E20631825102EFF6713BE287B8
|
||||
:100658008C0997318E07040800148E509971503018
|
||||
:1006680002878C099781879C0997878C0997D161A4
|
||||
:10067800E8318451CD304000C1878C0897318E31E4
|
||||
:10068800AD128C07318E318D03BDD831FFBDDADA5A
|
||||
:10069800DAADD8FD340BC0629C06D1DD06FD2B080F
|
||||
:1006A800E7EF66615907EF8D878C0897318EFD3724
|
||||
:1006B80008D2DFF431845102EF0C878C08978187C8
|
||||
:1006C8009C0897ED2F0671503002CC0000CC010039
|
||||
:1006D8008C014C09DE218C01318E1249F61F728C77
|
||||
:1006E80001318E04F64714896142DF03F1EF01E11D
|
||||
:1006F8000D9B615901EFD98BD1DF08FDF209FD048B
|
||||
:100708000BEF06FD2B08FD170710FE100CC6D7C708
|
||||
:1007180020FE200AFBF8FFF6BFBA015080BFBA01DD
|
||||
:10072800717BFAFD270817040600FDE208629C04A5
|
||||
:10073800FD6D08620E049C04300048BBCC020F51CA
|
||||
:1007480008879C0697878C06974C1261C8EDE907C5
|
||||
:10075800FD1A05878C0697318EFD3308629C04CC00
|
||||
:1007680005008C054C04DE61F1879C0797AB148C5F
|
||||
:10077800029EFD118972878C0797318E0704060047
|
||||
:10078800146299ABA1BB878C079781879C079787D1
|
||||
:100798008C0797D1DFD7304000C1878C0697318E00
|
||||
:1007A80031AD128C05318E318D03BDD831FFBDDAE4
|
||||
:1007B800DADAADD8FD340BC0629C04D1DD06FD2B1E
|
||||
:1007C80008E7EF21615905EF99878C0697318EFD6F
|
||||
:1007D8003708D2DFF4878C069781879C0697ED4D02
|
||||
:1007E80007FDF109F710FE100AC6D7717BFAC7207A
|
||||
:1007F800FE2004FBF8FFFD270817040200FDE208AD
|
||||
:10080800629C01FD6D08626E019C0130BEF9FDBC61
|
||||
:1008180009626E019C01FD2B0810FE1004C6D771F9
|
||||
:070828007ABED7717BBED739
|
||||
:10082F005208EF065203EF025206FEE600FE1B00CF
|
||||
:10083F00DC16089F03088F0408089F040862FE2433
|
||||
:10084F0000089F0408EEBF00EEBA00C1C514410EA8
|
||||
:10085F0011D9D0FF118FD1FF312E45C4C0D7F2313E
|
||||
:10086F00A2C401E2D79DE261DD4C09DF12717BFA70
|
||||
:10087F00C18F06089F0DFAC0CF060800EE27003182
|
||||
:10088F00F2FA04CF0608004C00DF05D50008DD168C
|
||||
:10089F0061DD717BFAD50608DD0ACDE31F61CD61FD
|
||||
:1008AF00CDEE160061CDFED40061FFFE9A00FCF87C
|
||||
:1008BF00FF0EFEB20061CDFED5004C09DF0EC18FD9
|
||||
:1008CF0006086F0DFA9F0608C0EE0400CF06080059
|
||||
:1008DF00F8E3D75200EF025202FE3700CF0CFA00B6
|
||||
:1008EF00CF060800BF0408C716629F000841001119
|
||||
:1008FF008F44209B4100118F45209F0108C6510056
|
||||
:10090F00FE62FFEF025205CF060800C1510CFE0A2E
|
||||
:10091F0000C0D7C1511DFE0200C0D761DD717BFA47
|
||||
:10092F0070CEC0A59EC47CFF9EC4609EC461CDD70F
|
||||
:10093F0061DD717BFAC18EC45C1BFED6FFCF06084A
|
||||
:10094F0001FED7FFC061CDD731F2FA1AC1AEE4BFB5
|
||||
:10095F00FEF9AEE6BF00FAAED4BF02FA30FFFFBE1B
|
||||
:10096F00E4BEE6BED4C0D731F2FA11C1AFFEF9BE74
|
||||
:10097F00E4AF00FABEE6AF02FABED4C0D7C1BF04DF
|
||||
:10098F00FA13BF06FA15BF08FA17BF0AFAC0D7AF96
|
||||
:10099F0004FADB06FAEB08FAFB0AFAD7534B30528C
|
||||
:1009AF005430324E323030475631323000C5C1519B
|
||||
:1009BF00045001EE0000FE5AFF9F03085109FEA4E8
|
||||
:1009CF00FEC4D2DF0908C3618AF3FE0500C2C4EE7C
|
||||
:1009DF0035FFC1C7FB040861C999A58392DFF8C62B
|
||||
:1009EF00C0D7FFC150FEFEAB0061DD717BFACF06B1
|
||||
:1009FF000800FE0A00FE6FFF61CDF8E3EECF00C7DF
|
||||
:100A0F00FB0408BFFEF98FC0009C05C5C337040661
|
||||
:100A1F0000BF00FA3536560A300000522BFE660032
|
||||
:100A2F00C2C4C630040AB800300000B8022004AFB8
|
||||
:100A3F0000FAB800300F00B802AFFEF961FF520A9A
|
||||
:100A4F00FE05FFECF8FF0E717BFAC1C7FB04088CA3
|
||||
:100A5F0005C65C80FE0200C0D761DD717BFA70CFE6
|
||||
:100A6F00C0FFA59FC0007CFF9FC000609FC00061BA
|
||||
:100A7F00CDD7618BFEE2FF717BBE410011FB000001
|
||||
:100A8F0017CEFC0061CB089EFDF31161C999A583B8
|
||||
:100A9F0092DFF7D7FE7CFED50CFADF23C1CF030818
|
||||
:100AAF00035109FEBFFDC0D2DF37FE3800A2040894
|
||||
:100ABF00CF0308075109FEACFDD2B20408DF22C7ED
|
||||
:100ACF00FB0408318302C6D7C6510AFE97FD624C5C
|
||||
:100ADF001FDF06CF0CFA01EF04CF0CFA00C0EE2691
|
||||
:100AEF00FEC0EE20FEC7C1FB04088B31196C0161FB
|
||||
:100AFF00589BC0C6D7717BFAFE18FEAF04080406D8
|
||||
:100B0F0000C11436680A300000522DF3FE77FF8FB4
|
||||
:100B1F00C000FEF6FD61CF5C807C8073C0041900BD
|
||||
:100B2F00CEFC0F61CBC55404EF03C55417FEE3FD94
|
||||
:100B3F00C7360008BB629C0288089C03D1DD334C8A
|
||||
:100B4F0041DE2F70F1312DB161090033081C00080F
|
||||
:100B5F0051FF612A410E118FD0FF613B118FD1FFE1
|
||||
:100B6F006138DC0E8B5C03DF0964C6C4FEF6FCEE55
|
||||
:070B7F0095FDC6C4EE8EFDDA
|
||||
:100E000061CF5100718C7109FECBF800FEFCF1003E
|
||||
:100E100000F6BF00F953C0F693935820FEDFF94166
|
||||
:100E20000036462034C0F9EF05118B99A7A5174469
|
||||
:100E30008420DFF53602F930C0F9EF04CC0000A7BA
|
||||
:100E400047DFF9410036842034FEF9EF05118B9914
|
||||
:100E5000A7A517448420DFF536FEF930FEF9EF042C
|
||||
:100E6000CC0000A747DFF9FCD80000EFFE61DD7180
|
||||
:100E70007BFABEF0ADD8BEF200AEF661CDD7DF1D75
|
||||
:100E800006DC44807FDF167152DEEF32DF0F06D8BA
|
||||
:100E900044807FDF083154DE3C3172DE3CC9DE0520
|
||||
:100EA00004FDF10EEF46C514ADDEC1657BDB5C8051
|
||||
:100EB0009DDEADDA71FB3571FB44807FDEC03544C9
|
||||
:100EC000807FDEC86BD96BD86BDD6BDC0561C8DD5C
|
||||
:100ED0001BADDA71FB3174DE077174DBF181EF0C4D
|
||||
:100EE00045ADD861F846DC61E87177DBC0BDDEC492
|
||||
:100EF000D78EFC708EFDC1C5C3ADDE315E04943566
|
||||
:100F0000320000C3C1D8DEF1C1AEF8FC1B0F00C037
|
||||
:100F1000C0C0C2C4C09EFD609EFCD71489728A0402
|
||||
:100F20009EFDAA021411894C40DD0E624C04300271
|
||||
:100F30000061C8300100BF00F9D7C5C3C1ADDADA1E
|
||||
:100F4000D831750914F62312F661D8B125ED590F81
|
||||
:100F5000C5C3C1ADDADAD8F4DB0361C8DD3B235584
|
||||
:100F60009E31730A9501311C61D8A13175F6618AF1
|
||||
:100F70004C80618ADC11DF0633718C33DE0983DF3C
|
||||
:100F80000604010061D8857174DB3561FB9DDB656A
|
||||
:0D0F900071F99DDA637064BDD8C0C2C4D78A
|
||||
:0A0FF60030383A34353A3339000040
|
||||
:10200000EA0102030405060708090A0B0C0D0E0F6E
|
||||
:10201000101112131415161718191A1B1C1D1E1F48
|
||||
:10202000202122232425262728292A2B2C2D2E2F38
|
||||
:10203000303132333435363738393A3B3C3D3E3F28
|
||||
:062040004A5740000801B0
|
||||
:102046000B001F000000000000000000C830000068
|
||||
:10205600892B0000F82C000093040000B724000030
|
||||
:102066007F2600008D2B0000042C00000C2C0000A5
|
||||
:0E207600472C0000482F000000000000000072
|
||||
:08208400317503F7332312D775
|
||||
:0A21000030383A34353A3339000024
|
||||
:10210A007140F00071783002713AE6713BE2713B3E
|
||||
:10211A00EA713BEE5A06FCCF34024AE552FF711AC5
|
||||
:10212A0052710A5271483002713030027120300205
|
||||
:10213A00CF320206CF330205713BE6717030028E50
|
||||
:10214A00265CFC9E26D7717830027148F000D7FDD4
|
||||
:10215A00AE2751205FA8FFD1DD0971502FF9FD226A
|
||||
:10216A0024EF03FD7402FD0027FD622AFDA221FD72
|
||||
:10217A00CC2D8F2FF95C20D1DD06CF0EF902EF03AB
|
||||
:10218A00F50EF9714221717AFAFD1A05FDCF2DFD7E
|
||||
:10219A00F62EFDEA00EFF2D731020403F1EF01E176
|
||||
:1021AA003410F9718C8971899931120403F1EF01A4
|
||||
:1021BA00E13410F9718C89719999D7C7C1C1FBF8BB
|
||||
:1021CA00FFFD22243164200300EFF9716220F51B20
|
||||
:1021DA00F98C02318EFD7323D2DD0ACF1BF902710D
|
||||
:1021EA006320F7EF478C0A318EFD8923FDD3238CB8
|
||||
:1021FA00026C01318EFD8923300400BF240130179F
|
||||
:10220A0040BF1C01300400BF2201F6BF2A01710B36
|
||||
:10221A00E2CE44FF3182E202EFFA8E449C01FDFED7
|
||||
:10222A0023710BE27163208C01318E121004C6D720
|
||||
:10223A00C7C1FBF8FF31722003FD22243164200359
|
||||
:10224A0000EFF97162208B318EFD7323D2DD0671A6
|
||||
:10225A006320E7EF548C08318EFD8923FDD3238B4D
|
||||
:10226A006C01318EFD8923300400BF2401301740F0
|
||||
:10227A00BF1C01300400BF22018C0A91DF04F6BFA3
|
||||
:10228A002A01710BE2CE44FF3182E202EFFAAC0C72
|
||||
:10229A00148E449961790C61690A8C0AD1DFDAFDDE
|
||||
:1022AA00FE23710BE2716320F7C0C6D7C7C1FBF8E2
|
||||
:1022BA00FF31722003FD22243164200300EFF971FB
|
||||
:1022CA006220710AE68B318EFD7323D2DD067163BB
|
||||
:1022DA0020E7EF158C08318EFD89238C0A318EFD9B
|
||||
:1022EA008923FDFE23716320F7C0C6D7C7C1FBF857
|
||||
:1022FA00FF31722003FD22243164200300EFF971BB
|
||||
:10230A006220710AE68B318EFD7323D2DD0671637A
|
||||
:10231A0020E7EF5231522039C73414F9AC0C165267
|
||||
:10232A00048B99A5A792DFF9C63184BD02EFFA7131
|
||||
:10233A007ABDCEB144CBB414F98C0A318EBEB8CE74
|
||||
:10234A00BB48714BE1714BE5710ABD8C089E44EFA5
|
||||
:10235A0014710BE28C089E44710BE68C0A9F1AF9E1
|
||||
:10236A00AC0CBF18F9F7C0C6D7C716FDAA2317F1D8
|
||||
:10237A00FD8923D2DD06FDFE23E7EF01F7C6D7C7A5
|
||||
:10238A0016710BE2669E443182E20300EFF9F642CF
|
||||
:10239A000401DD09AF0401BF0C01E7EF01F7C6D75D
|
||||
:1023AA00AF2801085CFB08BF280100000000AF2825
|
||||
:1023BA00015CFBBF2801300400BF2A01301780BF2F
|
||||
:1023CA001C01300400BF2201D7AF2401086C0408A5
|
||||
:1023DA00BF2401AF28016C0F086C0B08BF2801004D
|
||||
:1023EA00000000AF2A01085CFB08BF2A01000000B8
|
||||
:1023FA0000EDAA23300400BF2401F6BF2A01300BE6
|
||||
:10240A000BBF280100000000510FBF280100000087
|
||||
:10241A0000500FBF2801D7D77132057120F0000094
|
||||
:10242A00000000F6BF26015014BF1401CB44000A75
|
||||
:10243A00300F0FBF2801716320715320717220D7AA
|
||||
:10244A0031642002EFFAFDD3237133057128F000BD
|
||||
:10245A00717320D7D7D77100F200301100BFB601CF
|
||||
:10246A00300188BF9001300984BF9E01BF9C01BF23
|
||||
:10247A009A01BF9801BF9601BF9401BF9201F53C32
|
||||
:10248A00FF30FE00BFBE015006BFBC01F6BFB80157
|
||||
:10249A0050EEBFBA01A1BFB201C918FE03D730EF8F
|
||||
:1024AA0000BFB401F6BFBA017108F200D78F3CF938
|
||||
:1024BA00D1DD0B91DD4B91DD4391DD20EF438F0E92
|
||||
:1024CA00F92C03DC13D1DD0B91DD0D91DF05FDCA7B
|
||||
:1024DA0025F3D7FD1025F3D732FA00D7F6426CFF61
|
||||
:1024EA0061E8E1318F12AE6C23BE6CF6426EFF6179
|
||||
:1024FA00E8E1318F12AE6E23BE6EF7D7FDCA25F31F
|
||||
:10250A00D7FD1025F3D7C756008F38F9318EF7BD9E
|
||||
:10251A00D813BDDAFD3A0FC9DC0000304C41FDA6E4
|
||||
:10252A000EDE1DD51DF9DF0AF6BE6CBE6EE51DF97D
|
||||
:10253A00EF09D93BF9F1BE6EF51DF932FA00EF7ECB
|
||||
:10254A008F38F9318EF7BDD813BDDAFD3A0FC9DCE1
|
||||
:10255A000000304C42FDA60EDE2EF6426CFFDD0571
|
||||
:10256A00B26CFF5601D93BF9F1426EFFDD465601C6
|
||||
:10257A00D93BF912AE6E43DE03E1EF0251FF318F10
|
||||
:10258A0012AE6E03BE6EEF2CD93BF9F1426CFFDD41
|
||||
:10259A00185601D93BF912AE6C43DE03E1EF025142
|
||||
:1025AA00FF318F12AE6C03BE6CF6426EFFDD05B2D0
|
||||
:1025BA006EFF560166D1DF0532FA00EF01F7C6D782
|
||||
:1025CA00C75600AE6C4220F9DD1486AF20F9426C82
|
||||
:1025DA00FFDE05B26CFFEF06AE6CA1A1BE6CAE6E5B
|
||||
:1025EA004222F9DD155601AF22F9426EFFDE05B22D
|
||||
:1025FA006EFFEF06AE6EA1A1BE6E66D1DF498F1ED9
|
||||
:10260A00F9D1DD082C02DD042C02DF318F38F931D3
|
||||
:10261A008EF7BDD813BDDAFD3A0FC9DC0000304C85
|
||||
:10262A0042FDA60EDE0C307F00BF22F9F6BF20F96C
|
||||
:10263A00EF12F6BF22F9507FBF20F9EF07F6BF224B
|
||||
:10264A00F9BF20F9A01EF9320500C6D78F3EF95C02
|
||||
:10265A0001D1DD08D93BF9F1BE64EF03F6BE648F00
|
||||
:10266A003EF95C02D1DD078E386C809E38D78E38F1
|
||||
:10267A005C7F9E38D78F3DF95C01D1DF0432FA00C6
|
||||
:10268A00D7D51CF9DD18F51CF98F3DF95C02D1DDAF
|
||||
:10269A0006CF24F902EF03F524F932FA00D7D5243C
|
||||
:1026AA00F9DD2A8F25F991DD082C02DD042C02DFE1
|
||||
:1026BA0005F6BE66EF06D93BF9F1BE66A025F940DC
|
||||
:1026CA0025F920DF2DF525F9B024F9EF258F3DF9FD
|
||||
:1026DA005C01D1DF0BF6BE668ED46C109ED4EF126D
|
||||
:1026EA00D93BF9F1BE668E386C809E388ED45CEF89
|
||||
:1026FA009ED4321C00D77170F000CE9D08CE9EC0C9
|
||||
:10270A00CE9F80F592FFF593FFF594FFCE960EE5E6
|
||||
:10271A0095FFCE9709CE9809CE9C7F711AE7712B47
|
||||
:10272A00E7717A9DE541F9710321711321D7C73108
|
||||
:10273A0002211E710221710A9E31929E02EFFA3421
|
||||
:10274A0048F93692FF52078B99A5A792DFF9710BC8
|
||||
:10275A009EC6D7C788061631122115711221C734B1
|
||||
:10276A0026F93092FF1652078B99A5A792DFF9C670
|
||||
:10277A006673671826F9C6D7C73104210371032186
|
||||
:10278A003114211E711321710A9E31929E02EFFAB1
|
||||
:10279A003492FF3626F952078B99A5A792DFF97171
|
||||
:1027AA000B9EC6D7CF3BF9FFF53FF9CF40F903D7C8
|
||||
:1027BA00C788061666320003F02C052361D8ED5F40
|
||||
:1027CA00282361F8ED68289161F8ED7A289161F87B
|
||||
:1027DA00ED0F299161F8ED1B299161F8ED242991FA
|
||||
:1027EA0061F8ED52292361F8ED5E29912C0261D836
|
||||
:1027FA00ED00292C042C0761D8ED76299161F8EDBA
|
||||
:10280A00C8299161F8EDD229912361D8EDDC29D14B
|
||||
:10281A0061F8ED6B29912C0261D8ED8629D161F816
|
||||
:10282A00ED94292C0261F8EDA2299161F8EDAA290B
|
||||
:10283A002C072361D8EDB8299161F8EDC029912CB4
|
||||
:10284A000461D8EDDC292361D8EDE429D161F8EDE2
|
||||
:10285A00EC29ED052A667367182EF9ED052A6673C9
|
||||
:10286A0067182EF9D1DD06306D2CFD232EED052AD1
|
||||
:10287A00667367182EF9D1DD7A8F3AF95C01D1DDDA
|
||||
:10288A0005308000EF01F6609F80F98F3AF95C020B
|
||||
:10289A00D1DD03E1EF01F1723480F989616A998F20
|
||||
:1028AA003AF95C04D1DD045102EF01F1723480F986
|
||||
:1028BA0089616A998F3AF95C08D1DD045120EF01E8
|
||||
:1028CA00F1723480F989616A998F3AF95C10D1DD25
|
||||
:1028DA00045110EF01F1723480F989616A998F3AD3
|
||||
:1028EA00F95C20D1DD045140EF01F1723480F9899D
|
||||
:1028FA00616A99ED052A30D803FD232E667367189D
|
||||
:10290A002EF9ED052A667367182EF9FD5626ED0590
|
||||
:10291A002A667367182EF9ED052A667367182EF969
|
||||
:10292A008F3DF95C01D1DF0BF6BE668ED46C109E2A
|
||||
:10293A00D4EF12D93BF9F1BE668E386C809E388E80
|
||||
:10294A00D45CEF9ED4ED052A667367182EF9FD56FE
|
||||
:10295A0026ED052A675CBF72667362182EF9ED05CB
|
||||
:10296A002A667367182EF99E99ED052A67318EC17A
|
||||
:10297A00662C1A318EFD5D27C0ED052A667367182D
|
||||
:10298A002EF9307332FD232EEF71667367182EF914
|
||||
:10299A00302C32FD232EEF63667367182EF9EF5B36
|
||||
:1029AA00667367182EF9304F32FD232EEF4D66738A
|
||||
:1029BA0067182EF9EF45667367182EF9EF3D6673AF
|
||||
:1029CA0067182EF99E9AEF33667367182EF99E9B45
|
||||
:1029DA00EF29667367182EF9EF21667367182EF9C7
|
||||
:1029EA00EF19667367182EF9406CF96ADF0D406DAE
|
||||
:1029FA00F968DF074C6C61F8FD1E05C6D7C7166675
|
||||
:102A0A004C1ADC074C2161D8FD38276673092EF968
|
||||
:102A1A00318E12C6D7C71666D1DD0891DD0A91DD5F
|
||||
:102A2A000CEF0EF52EF9EF09F52FF9EF04CF30F977
|
||||
:102A3A000266D1DD0891DD05664C02DF19710A23B1
|
||||
:102A4A00D52EF9DF0BD52FF9DF064030F902DD0666
|
||||
:102A5A00710303710B23C6D7CF70F935CF76F90FFF
|
||||
:102A6A00CF77F907CF7BF903E57CF9E57FF9CF80CA
|
||||
:102A7A00F960D7C7880616662C042C02DC0B912C49
|
||||
:102A8A0005DC062C062C08DE066673671870F966E4
|
||||
:102A9A002C04DF0A67D1DD0630752BFD232EC6D73D
|
||||
:102AAA00C71666730970F9318E12C6D7C7C1C1FB42
|
||||
:102ABA00F8FF8C025CF09C018C025C0F9B8C014C31
|
||||
:102ACA0081DC05F792ED712B8C014C50DF05F792F2
|
||||
:102ADA00ED712B8C014C31DE468C014C11DE1E8CC3
|
||||
:102AEA00014C10DF0D8B4C03DE3351030D318E1276
|
||||
:102AFA00EF758B4C03DE268B318E12EF6A8C014CFC
|
||||
:102B0A0020DF0D8B4C02DE1551060D318E12EF5768
|
||||
:102B1A008B4C02DE5051080D318E12EF4AEF468C73
|
||||
:102B2A00014C61DE208C014C60DF0D8B4C04DE35DC
|
||||
:102B3A00510E0D318E12EF2F8B4C02DE28510A0DE9
|
||||
:102B4A00318E12EF228C014C70DF0D8B4C08DE1592
|
||||
:102B5A0051120D318E12EF0F8B4C02DE08511A0DF5
|
||||
:102B6A00318E12EF02F7921004C6D7716030F98FD6
|
||||
:102B7A0035F95C40D1DF06710303710B23F7D732B5
|
||||
:102B8A000A00D771320331240C06712031F9EF049F
|
||||
:102B9A00712831F931140706711031F9EF047118EF
|
||||
:102BAA0031F97133038F31F97F8CF9D1DD4271002C
|
||||
:102BBA002FF98F0EF92C02DC37D1DD3491DD079124
|
||||
:102BCA002C02DC12EF2A8F34F95C01D1DF22710367
|
||||
:102BDA0003710B23EF1A8F8CF95C02D1DD123112CB
|
||||
:102BEA00070E8F34F95C01D1DF06710303710B23E1
|
||||
:102BFA008F31F99F8CF9326400D7C7D5CAF9F79299
|
||||
:102C0A00C6D7C72004FBF8FF400EF903DD06400EC5
|
||||
:102C1A00F905DF228F2EF99C038F2FF99C028F3141
|
||||
:102C2A00F99C018F5FF99B17C1300400C1F6C150AE
|
||||
:102C3A0044FDF62210063203001004C6D78F56F957
|
||||
:102C4A005C01D1DF088F57F95C0391DF12400EF95E
|
||||
:102C5A0003DF0A31240F0630E831FD232EF7D7327D
|
||||
:102C6A00F800D78F39F95C01D1DD05F50EF9EF3996
|
||||
:102C7A008F39F95C02D1DD0C5A00FC8E205CFC9E77
|
||||
:102C8A002071030E8F39F95C04D161E87113008F4A
|
||||
:102C9A0039F95C08D161E871030E300500FD242F73
|
||||
:102CAA00710A2071120071020E8F39F95C20D1DD90
|
||||
:102CBA000830E203FD232EEF0E8F39F95C10D1DDC7
|
||||
:102CCA000630E703FD232E8F39F95C80D1DD083009
|
||||
:102CDA00DD03FD232EEF0E8F39F95C40D1DD06307E
|
||||
:102CEA00EC03FD232EF539F9F7D700EFFDD7400E97
|
||||
:102CFA00F903DD06400EF905DF453124211F8F3720
|
||||
:102D0A00F94F90F9DD148F37F99F90F9D990F9F1BD
|
||||
:102D1A00C1F6C15050FDB62210047123217150F042
|
||||
:102D2A0000CE301BCF170006CE3106717A30710BF8
|
||||
:102D3A00E3710BE7D936F9F1312DBD1A320800D704
|
||||
:102D4A00C7C1C1FBF8FFAC021489728A016142DE75
|
||||
:102D5A0011899C01AC02148A017299AC02148C018B
|
||||
:102D6A009A01AC021489728A01614ADC0689318EA1
|
||||
:102D7A0012EF1BAC02148A01728A02614ADE078AC8
|
||||
:102D8A0001318E12EF08AC02148A02318E1210043D
|
||||
:102D9A00C6D7C716710AE7710BE37150F000717B51
|
||||
:102DAA0030CE3023CF170006669E31717A30710B10
|
||||
:102DBA00E73182E302EFFA8D1F7158F000318E126B
|
||||
:102DCA00C6D7ED222EC73134212B71332130CCF9ED
|
||||
:102DDA00161744F8F9DD1E148A02D1DF0BA9CEFCBE
|
||||
:102DEA000061CA629C02EF0717148A02919A02A72D
|
||||
:102DFA00A7A7A7EFDC3144211C71432130CCF91677
|
||||
:102E0A001744F8F9DD0FABCEFC0061CA629C02A739
|
||||
:102E1A00A7A7A7EFEBF7C6D7D7717BFAC7C1C1FB44
|
||||
:102E2A00F8FFD5F9F9DD0300EFFDE5F9F940F8F906
|
||||
:102E3A000FDC0300EFFDCC01008C014FF8F9DE1D19
|
||||
:102E4A008C01F0317E12799CF9614902DF0A00F5A2
|
||||
:102E5A00F9F9717AFAE7EF60615901EFDCCC010008
|
||||
:102E6A008C014C0FDE188C01F0317E049CF914A9F8
|
||||
:102E7A006168DF05AC02B9EF05615901EFE2A0F81C
|
||||
:102E8A00F9CC0000CC01008C014C0EDE168C01F04E
|
||||
:102E9A00317E049CF914A9616861E861590061599D
|
||||
:102EAA0001EFE48B4FF8F9DD0300EFFDF5F9F97155
|
||||
:102EBA007AFAF7EF0300EFFD1004C6D7C716667754
|
||||
:102ECA0067F0317E049CF914A96168DD1A674C0F1A
|
||||
:102EDA00DE1581F0317E049CF914A91267F0317E67
|
||||
:102EEA0033789CF987EFD9B0F8F9C6D7C756006688
|
||||
:102EFA004C0FDE23F0317E049CF914A96168DD14BD
|
||||
:102F0A00A9CEFC0061CAD2DF0B717BFA17F1FDC6AC
|
||||
:102F1A002E717AFA86EFD8F7C6D7C7C1C1FBF8FF78
|
||||
:102F2A00FD1A058C02D1DD1261690230AE01BBF6D1
|
||||
:102F3A00614900DDEE618900EFF51004C6D78F0EF6
|
||||
:102F4A00F9D161F8ED693091DD1B9161F8ED1B3023
|
||||
:102F5A009161F8ED4E309161F8ED55309161F8EDDF
|
||||
:102F6A005E30EDC330712BE7713AE78F0FF991DDCF
|
||||
:102F7A002ED5BAF9DF05D5BDF9DD05F5FAF9EF0366
|
||||
:102F8A00A0FAF98FFAF901DE08F50EF9714221F774
|
||||
:102F9A00D740BAF903DE0840BDF903DE02F7D7715C
|
||||
:102FAA005221717221710222F5BAF9F5BCF9F5BD07
|
||||
:102FBA00F9FD2224FD8502FDF001D2DD09714221CD
|
||||
:102FCA00F50EF900EFFDFDF103D2DD0B714221FD93
|
||||
:102FDA004A24E50EF9F7D7FDD603D50FF9DF25F513
|
||||
:102FEA003CF9FD8303D2DF0B714221FD4A24E50E31
|
||||
:102FFA00F9F7D7FDA603D2DF0F714221FD4A24E576
|
||||
:10300A000EF9F7D7CF3CF903CF0EF902714221F737
|
||||
:10301A00D7FD6024CF37001DFD0A21FD5F24714AC8
|
||||
:10302A009DCE3831CE3971CBE43BEFCBE6F6F0CE0C
|
||||
:10303A00D4FFCF0EF903F556F9307332FD232EF57E
|
||||
:10304A000FF9EF783102000100EF71CF0EF905FD9B
|
||||
:10305A00B203EF68CF0EF9023102006000EF5DFDA6
|
||||
:10306A00A824FD5021FD5E24F52EF9F52FF9F5303F
|
||||
:10307A00F9717301717BFAFD5E04FD4A24CF3500B4
|
||||
:10308A0003CF370019CE3708F538FFCE3910CBE415
|
||||
:10309A00BFFFCBE6FFF5CED4FFF6BEE0BEE2BED060
|
||||
:1030AA00F5FAF9E50EF961FD717AFACED47F8E3818
|
||||
:1030BA006C809E38714221EF0300EFFDE7D7400E86
|
||||
:1030CA00F903DD06400EF901DF6331340708715355
|
||||
:1030DA0021F5BAF9EF1531542105F5BAF9EF0CA02B
|
||||
:1030EA00BAF9D5BAF961F8CFBAF9FF3144070871CC
|
||||
:1030FA000322F5BDF9EF1531042205F5BDF9EF0CF0
|
||||
:10310A00A0BDF9D5BDF961F8CFBDF9FF31040208B8
|
||||
:10311A00717321F5BCF9EF1531742105F5BCF9EF8E
|
||||
:10312A000CA0BCF9D5BCF961F8CFBCF9FF8F0EF938
|
||||
:10313A00D1DD0B2C03DD162C02DD12EDE431F5BADC
|
||||
:10314A00F9F5BDF9F5BCF9F5FBF9EDE43140BAF949
|
||||
:10315A0006DF1471202EF98F33F95C04D1DF207158
|
||||
:10316A000303710B23EF1840BAF942DF1271302EB4
|
||||
:10317A00F98F33F95C08D1DF06710303710B238FD2
|
||||
:10318A002EF95C08D1DD20A0FBF940FBF90DDC1A11
|
||||
:10319A00CF3CF903F6426CFFDF10426EFFDF0BF5FE
|
||||
:1031AA000EF9714221EF03F5FBF940BDF90ADF126E
|
||||
:1031BA0071402EF98F33F95C10D1DF067103037168
|
||||
:1031CA000B2340BCF90ADF1271502EF98F33F95CD8
|
||||
:1031DA0020D1DF06710303710B23320800D7C740E1
|
||||
:1031EA000EF903DF2C365CF9C7300600C150A8C1BE
|
||||
:1031FA005030FD3A2210068F57F95C0391DF1271A5
|
||||
:10320A00402FF98F34F95C10D1DF06710303710B7B
|
||||
:10321A00238F56F95C01D1DD068F57F95C0391F7CC
|
||||
:10322A00C6D7D958F9F1C15030FDC521C0629F5B9C
|
||||
:10323A00F971302FF98F34F95C08D1DF0671030375
|
||||
:10324A00710B23F7D7D95BF9F1C1D95AF9C15030BB
|
||||
:10325A00FDB622100471302FF98F34F95C08D1DFE2
|
||||
:10326A0006710303710B23F7D7C72004FBF8FF305D
|
||||
:10327A000F00C15030FDC521C0401BF902DF03F722
|
||||
:10328A00EF3FCC0100CC0202CC03808F56F95C01DF
|
||||
:10329A00D1DF0D8F57F95C03D1DF05CC0007EF10A2
|
||||
:1032AA008F57F95C0391DF05CC002FEF03CC00C7E1
|
||||
:1032BA0017C1300400C150A0C15030FDF6221006DB
|
||||
:0532CA00F71004C6D757
|
||||
:1032CF00400EF90161FC61FC61FC61FC61FCC1C352
|
||||
:1032DF00C5C7520C929269D4FEC1DFF88EFD708E75
|
||||
:1032EF00FCC1301805FD232EC09EFC609EFD34D41A
|
||||
:1032FF00FE5206C0B9A5A592DFF9C6C4C2C061FCD3
|
||||
:10330F00C1C3C5C7520C929269D4FEC1DFF88EFDBE
|
||||
:10331F00708EFCC13184510DF5C8F971483002FD32
|
||||
:10332F008227EDD33331A2510A71603002F5C8F90B
|
||||
:10333F00EDD3338FC8F9D1DD0891DD1291DD29EF7F
|
||||
:10334F00467150300271403002E5C8F9EF768E5069
|
||||
:10335F009F08F971503002D908F9F1FD072A629FD1
|
||||
:10336F000AF9CFC8F902EF5C31B4511731C45106D5
|
||||
:10337F00CFC8F903EF1171503002F5C8F971483019
|
||||
:10338F0002EF41CFC8F90440C8F903DF0E8F0AF9E5
|
||||
:10339F009E50D908F9F1FD1F2AEF158E509F0AF99B
|
||||
:1033AF0071503002D90AF9F1C1D908F9FDBA27C015
|
||||
:1033BF00A008F940C8F903DF0BD908F9F1FD072A76
|
||||
:1033CF00629F0AF9C09EFC609EFD34D4FE5206C077
|
||||
:1033DF00B9A5A592DFF9C6C4C2C061FCC1714AE5A7
|
||||
:1033EF00717BBD710BE6AF0401C061FCC1C5717A81
|
||||
:1033FF00FA31542013D51AF9DD0EEB18F9899E44D2
|
||||
:10340F00A218F9B01AF9EF2B710AE6300400BF24A5
|
||||
:10341F0001F6BF2A01300B0BBF280100000000513D
|
||||
:10342F000FBF280100000000500FBF28017153206B
|
||||
:10343F00716320C4C061FCEFFE61FCEFFE61FCEF25
|
||||
:10344F00FE61FCEFFE61FCEFFE61FCEFFE61FCEF45
|
||||
:10345F00FE61FCEFFE61FCEFFE61FCEFFE61FCEF35
|
||||
:10346F00FE61FCEFFE61FCEFFE61FCEFFE61FCEF25
|
||||
:10347F00FE61FCEFFE61FCEFFE61FCEFFE61FCEF15
|
||||
:10348F00FE61FCEFFE61FCEFFE61FCEFFE61FCEF05
|
||||
:10349F00FE61FCE51CF961FC71322161FCC18F52A8
|
||||
:1034AF00F94F96FFDF2B8F53F94F97FFDF238F5481
|
||||
:1034BF00F94F98FFDF1B71202FF98F34F95C04D17E
|
||||
:1034CF00DF0F710303710B23400EF90161F8E50F54
|
||||
:1034DF00F9C061FC61FCC1C3C5C7520C929269D49B
|
||||
:1034EF00FEC1DFF88EFD708EFCC1717AFA8E312C21
|
||||
:1034FF0006DD0991DD1D91DD3691EF4ED99AF9F177
|
||||
:10350F000491F9148D1F993091F9FD4A2D629F3660
|
||||
:10351F00F9EF378D1F764CC961C856C8E99AF9661D
|
||||
:10352F001894F93094F9FD4A2D629F37F9EF1BD9A2
|
||||
:10353F009AF9F10497F9148D1F993091F9FD4A2DDD
|
||||
:10354F00629F02F9300B03FD232E4031FF08DD058A
|
||||
:10355F00A031FFEF177158F000712221409AF90244
|
||||
:10356F00DF03F1EF048F9AF9819F9AF9C09EFC60F7
|
||||
:10357F009EFD34D4FE5206C0B9A5A592DFF9C6C48C
|
||||
:04358F00C2C061FC59
|
||||
:103594004040666D756C00004040666469760000CA
|
||||
:1035A40040406661646400004040667375620000D8
|
||||
:1035B400404066636D70000061636F73000000003B
|
||||
:1035C4006173696E000000006174616E00000000A8
|
||||
:1035D4006174616E32000000636F730000000000CC
|
||||
:1035E40073696E000000000074616E00000000004A
|
||||
:1035F400636F73680000000073696E680000000068
|
||||
:1036040074616E68000000006578700000000000BE
|
||||
:1036140066726578700000006C6465787000000064
|
||||
:103624006C6F6700000000006C6F673130000000B1
|
||||
:103634006D6F646600000000706F7700000000008A
|
||||
:1036440073717274000000006365696C000000000F
|
||||
:0E365400666C6F6F72000000666D6F640000A0
|
||||
:0A47F60030383A34353A3339000008
|
||||
:00000001FF
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,649 +0,0 @@
|
||||
:02000000820577
|
||||
:02000200FFFFFE
|
||||
:020008005C0D8D
|
||||
:04001000D40AD60A2E
|
||||
:02001C002B0CAB
|
||||
:02002400770C57
|
||||
:02002A000A0BBF
|
||||
:080034005E0D250D200DCA0A26
|
||||
:04004A00D80A1B0DA8
|
||||
:0400C0007EFBFF853F
|
||||
:0A00C400FFFFFFFFFFFFFFFFFFFF3C
|
||||
:0A00CE00FFFFFFFFFFFFFFFFFFFF32
|
||||
:1000D800C7FD5D02C736F00071F4C6DE0671301048
|
||||
:1000E800F9EF10360000868767D1DFFB66D1DFF6AF
|
||||
:1000F800FD7C01360000674C09DE22318E12490072
|
||||
:10010800217267318E04F60FC1317B9EFDC41189BF
|
||||
:100118006142DF03F1EF01E1610687EFD940002179
|
||||
:10012800FFDF03E1EF01F161065700674C09DE1CB0
|
||||
:10013800318E124900217267318E04F647148961A5
|
||||
:1001480042DF03F1EF01E1610687EFDF66D161E885
|
||||
:10015800FD5E04FD3D05FD6824EDD900C6D761EDBF
|
||||
:10016800D7717BFACEA016CEA180CEA409F5AAFF3E
|
||||
:10017800F5A9FFD7F400F401F402CD0306F404F462
|
||||
:1001880005F406CD0740F40CF40EF408F40FF5302E
|
||||
:1001980000F53100F53300F53400CF350003CF37D3
|
||||
:1001A8000019F53C00F53E00F520FFF521FFCE22B1
|
||||
:1001B800E9E523FFCE240BCE2503F526FFCE271F26
|
||||
:1001C800CE2C1FE52EFFCE2F07CE28FFF54300F5D6
|
||||
:1001D8004700CF530006F55700F6BEE0BEE2F5D063
|
||||
:1001E800FFCBE4FFFFCBE6FFFFCED4FFCEE8FFCE88
|
||||
:1001F800ECFFCEE9FFCEEDFFCEEAFFCEEEFECEEB72
|
||||
:10020800FFCEEF49CED8FFCEDCFFCE38B1CE397164
|
||||
:10021800F537FF7108F20090BFB4017138F100F5AD
|
||||
:100228004002F54102F54302F5A5FFF5A6FF715816
|
||||
:10023800F000F530FF7128F0005087BF1801BF1A91
|
||||
:1002480001BF1C01BF1E017148F000F53002F5BC6A
|
||||
:10025800FFF5BDFFD7CEABACD7C720FE200CFBF80F
|
||||
:10026800FFF6BFBA015020BFBA01FD7105717BFAD4
|
||||
:1002780017040800FD2608629C06FDB107620E06F9
|
||||
:100288009C06300020BC02CC04005112879C0897C1
|
||||
:10029800878C08974C1C61C8ED4703FD5D02878C6D
|
||||
:1002A8000897318EFD7307D2DD0E878C0897318E43
|
||||
:1002B800FD7707629C06EFE6CC07008C074C04DE4E
|
||||
:1002C80066F1879C0997AC02148C049EFD11897213
|
||||
:1002D800878C0997318E07040800146299AC02A133
|
||||
:1002E800BC02878C099781879C0997878C0997D1CD
|
||||
:1002F800DFD4304000C1878C0897318E31AD128C25
|
||||
:1003080007318E318D03BDD831FFBDDADADAADD8C9
|
||||
:10031800FD780AC0629C06D1DD08FD7E0500E7ED88
|
||||
:100328005804615907EF94878C0897318EFD7B0735
|
||||
:10033800D2DFF4878C089781879C0897ED98025143
|
||||
:1003480004879C0897878C08974C12DE17878C08BF
|
||||
:1003580097318EFD7707629C06878C089781879C6A
|
||||
:100368000897EFE1715030025104879C0897878CF9
|
||||
:1003780008974C1261C8ED1504CC07008C074C0493
|
||||
:10038800DE6D31825169FD5D0231B2E20631825182
|
||||
:1003980002EFF6713BE2878C0997318E070408005B
|
||||
:1003A800148E509971503002878C099781879C0967
|
||||
:1003B80097878C0997D161E8318451CD304000C1CD
|
||||
:1003C800878C0897318E31AD128C07318E318D03B1
|
||||
:1003D800BDD831FFBDDADADAADD8FD780AC0629C43
|
||||
:1003E80006D1DD06FD7E05E7EF66615907EF8D87CB
|
||||
:1003F8008C0897318EFD7B07D2DFF431845102EFF0
|
||||
:100408000C878C089781879C0897ED76037160307C
|
||||
:1004180002CC0000CC01008C014C09DE218C01319A
|
||||
:100428008E1249F61F728C01318E04F647148961C9
|
||||
:1004380042DF03F1EF01E10D9B615901EFD98BD147
|
||||
:10044800DF08FD3609FD480AEF06FD7E05FD5E045E
|
||||
:1004580010FE100CC6D7C720FE200AFBF8FF717BE0
|
||||
:100468009DF6BFBA015080BFBA01717BFAFD7105D4
|
||||
:1004780017040600FD2608629C04FDB107620E04FD
|
||||
:100488009C04300048BBCC02005108879C06978723
|
||||
:100498008C06974C1261C8ED3305FD5D02878C060A
|
||||
:1004A80097318EFD7707629C04CC05008C054C04BF
|
||||
:1004B800DE61F1879C0797AB148C029EFD1189724F
|
||||
:1004C800878C0797318E07040600146299ABA1BB8D
|
||||
:1004D800878C079781879C0797878C0797D1DFD7E9
|
||||
:1004E800304000C1878C0697318E31AD128C0531B2
|
||||
:1004F8008E318D03BDD831FFBDDADADAADD8FD789B
|
||||
:100508000AC0629C04D1DD06FD7E05E7EF21615932
|
||||
:1005180005EF99878C0697318EFD7B07D2DFF4872C
|
||||
:100528008C069781879C0697ED9704FD3509F7108F
|
||||
:10053800FE100AC6D7717BFAC720FE2004FBF8FF1D
|
||||
:10054800FD710517040200FD2608629C01FDB10734
|
||||
:10055800626E019C013058FAFD0009626E019C012F
|
||||
:10056800FD7E0510FE1004C6D73184BD02EFFA7176
|
||||
:0A0578007BBD717ABED7717BBED740
|
||||
:1005820061CF5100718C7109FECBF800FEFC69014C
|
||||
:1005920000F6BF00F953C0F693935820FEDFF941ED
|
||||
:1005A20000365E20345AFAEF05118B99A7A517443D
|
||||
:1005B2007420DFF53602F9305AFAEF04CC0000A7B6
|
||||
:1005C20047DFF941003674203470FAEF05118B9938
|
||||
:1005D200A7A517447420DFF53670FA3070FAEF04DD
|
||||
:1005E200CC0000A747DFF9FCD80000EFFE61DD7107
|
||||
:1005F2007BFABEF0ADD8BEF200AEF661CDD706DA18
|
||||
:10060200BDDAADDC06D8BDD861D8A6DAD7C312AD43
|
||||
:10061200D826DCBDD861317006DA23BDDAC2D7D163
|
||||
:10062200DD1BC1C3DADA9DDAADD8311E33311E3398
|
||||
:1006320071F9B4DADFF4BDD813BDDAC2C0D75BDB1F
|
||||
:100642009DDB605BDA9DDAADDC5BD9085BD808BD67
|
||||
:10065200D8D7DF1D06DC44807FDF167152DEEF3211
|
||||
:10066200DF0F06D844807FDF083154DE3C3172DE72
|
||||
:100672003CC9DE0504FDC706EF46C514ADDEC16503
|
||||
:100682007BDB5C809DDEADDA71FB3571FB44807FE4
|
||||
:10069200DEC03544807FDEC86BD96BD86BDD6BDC86
|
||||
:1006A2000561C8DD1BADDA71FB3174DE077174DBE5
|
||||
:1006B200F181EF0C45ADD861F846DC61E87177DB7A
|
||||
:1006C200C0BDDEC4D78EFC708EFDC1C5C3ADDE31A8
|
||||
:1006D2005E048639320000C3C1D8DEF1C1AEF8FC37
|
||||
:1006E200F10600C0C0C0C2C4C09EFD609EFCD7140B
|
||||
:1006F20089728A049EFDAA021411894C40DD0E62A1
|
||||
:100702004C0430020061C8300100BF00F9D7C5C3F4
|
||||
:10071200C1ADDADAD831750914F62312F661D8B10F
|
||||
:1007220025ED2F07C5C3C1ADDADAD8F4DB0361C802
|
||||
:10073200DD3B23559E31730A9501311C61D8A131ED
|
||||
:1007420075F6618A4C80618ADC11DF0633718C3365
|
||||
:10075200DE0983DF0604010061D8857174DB35612F
|
||||
:10076200FB9DDB6571F99DDA637064BDD8C0C2C4BC
|
||||
:01077200D7AF
|
||||
:100773005208EF065203EF025206FEE600FE1B008C
|
||||
:10078300DC16089F03088F0408089F040862FE24F0
|
||||
:1007930000089F0408EEBF00EEBA00C1C514410E65
|
||||
:1007A30011D9D0FF118FD1FF312E45C4C0D7F231FB
|
||||
:1007B300A2C401E2D79DE261DD4C09DF12717BFA2D
|
||||
:1007C300C18F06089F7FFAC0CF060800EE270031CD
|
||||
:1007D300F2FA04CF0608004C00DF05D50008DD1649
|
||||
:1007E30061DD717BFAD50608DD0ACDE31F61CD61BA
|
||||
:1007F300CDEE160061CDFED40061FFFE9A00FCF839
|
||||
:10080300FF0EFEB20061CDFED5004C09DF0EC18F95
|
||||
:1008130006086F7FFA9F0608C0EE0400CF060800A3
|
||||
:10082300F8E3D75200EF025202FE3700CF7EFA0000
|
||||
:10083300CF060800BF0408C716629F0008410011D5
|
||||
:100843008F5C209B4100118F5D209F0108C65100E2
|
||||
:10085300FE62FFEF025205CF060800C1510CFE0AEB
|
||||
:1008630000C0D7C1511DFE0200C0D761DD717BFA04
|
||||
:1008730070CEC0A59EC47CFF9EC4609EC461CDD7CC
|
||||
:1008830061DD717BFAC18EC45C1BFED6FFCF060807
|
||||
:1008930001FED7FFC061CDD731F2FA1AC1AEE4BF72
|
||||
:1008A30070FAAEE6BF72FAAED4BF74FA30FFFFBE81
|
||||
:1008B300E4BEE6BED4C0D731F2FA11C1AF70FABEBE
|
||||
:1008C300E4AF72FABEE6AF74FABED4C0D7C1BF7646
|
||||
:1008D300FA13BF78FA15BF7AFA17BF7CFAC0D7AFFD
|
||||
:1008E30076FADB78FAEB7AFAFB7CFAD7534B305281
|
||||
:1008F3005430324E323030475631323000C5C15158
|
||||
:10090300045001EE0000FE5AFF9F03085109FEA4A4
|
||||
:10091300FEC4D2DF0908C3618AF3FE0500C2C4EE38
|
||||
:1009230035FFC1C7FB040861C999A58392DFF8C6E7
|
||||
:10093300C0D7FFC150FEFEAB0061DD717BFACF066D
|
||||
:100943000800FE0A00FE6FFF61CDF8E3EECF00C79B
|
||||
:10095300FB0408BF70FA8FC0009C05C5C3370406AB
|
||||
:1009630000BF72FA35369A09300000522BFE66003A
|
||||
:10097300C2C4C6304809B800300000B8022004AF32
|
||||
:1009830072FAB800300F00B802AF70FA61FF520A72
|
||||
:10099300FE05FFECF8FF0E717BFAC1C7FB04088C60
|
||||
:1009A30005C65C80FE0200C0D761DD717BFA70CFA3
|
||||
:1009B300C0FFA59FC0007CFF9FC000609FC0006177
|
||||
:1009C300CDD7618BFEE2FF717BBE410011FB0000BE
|
||||
:1009D30017CEFC0061CB089EFDF31161C999A58375
|
||||
:1009E30092DFF7D7FE7CFED57EFADF23C1CF030863
|
||||
:1009F300035109FEBFFDC0D2DF37FE3800A2040851
|
||||
:100A0300CF0308075109FEACFDD2B20408DF22C7A9
|
||||
:100A1300FB0408318302C6D7C6510AFE97FD624C18
|
||||
:100A23001FDF06CF7EFA01EF04CF7EFA00C0EE2669
|
||||
:100A3300FEC0EE20FEC7C1FB04088B31196C0161B7
|
||||
:100A4300589BC0C6D7717BFAFE18FEAF0408040694
|
||||
:100A530000C11436AC09300000522DF3FE77FF8F2E
|
||||
:100A6300C000FEF6FD61CF5C807C8073C00419007A
|
||||
:100A7300CEFC0F61CBC55404EF03C55417FEE3FD51
|
||||
:100A8300C7360008BB629C0288089C03D1DD334C47
|
||||
:100A930041DE2F70F1312DB161090033081C0008CC
|
||||
:100AA30051FF612A410E118FD0FF613B118FD1FF9E
|
||||
:100AB3006138DC0E8B5C03DF0964C6C4FEF6FCEE12
|
||||
:070AC30095FDC6C4EE8EFD97
|
||||
:100ACA00400EF90161FC61FC61FC61FC61FCC1C37F
|
||||
:100ADA00C5C7520C929269D4FEC1DFF88EFD708EA2
|
||||
:100AEA00FCC1301324FDA533C09EFC609EFD34D4A6
|
||||
:100AFA00FE5206C0B9A5A592DFF9C6C4C2C061FC00
|
||||
:100B0A00C1C3C5C7520C929269D4FEC1DFF88EFDEB
|
||||
:100B1A00708EFCC13184510DF562FA71483002FDC4
|
||||
:100B2A00EC2BED130C31A25139F562FA71483002FF
|
||||
:100B3A0071603002FDEC2BD542F9DF0FD543F9DFA6
|
||||
:100B4A000AD544F9DF05D545F9DD11710A233102C9
|
||||
:100B5A000302EFFA710303710B23EF03710A23ED0A
|
||||
:100B6A00130C319451124062FA03DD064062FA0412
|
||||
:100B7A00DF06F562FAFDEC2B8F62FAD1DD0891DD12
|
||||
:100B8A001291DD29EF467140300271503002E56260
|
||||
:100B9A00FAEF768E509F08F971503002D908F9F1B0
|
||||
:100BAA00FD792E629F0AF9CF62FA02EF5C31945105
|
||||
:100BBA001731C45106CF62FA03EF11F562FA714890
|
||||
:100BCA00300271603002EF41CF62FA044062FA03E8
|
||||
:100BDA00DF0E8F0AF99E50D908F9F1FD912EEF1513
|
||||
:100BEA008E509F0AF9D90AF9F1C1D908F9FD372CB3
|
||||
:100BFA00C071503002A008F94062FA03DF0BD9082D
|
||||
:100C0A00F9F1FD792E629F0AF9C09EFC609EFD34BF
|
||||
:100C1A00D4FE5206C0B9A5A592DFF9C6C4C2C06106
|
||||
:100C2A00FCC1C7F616710BE2714AE5717BBD710A08
|
||||
:100C3A00E651405F0401D1DD05A7F647DFF3710AEB
|
||||
:100C4A00E6300400BF2401F6BF2A01300B0BBF288F
|
||||
:100C5A000100000000510FBF280100000000500FE2
|
||||
:100C6A00BF2801715320716320C6C061FCC1C53120
|
||||
:100C7A00542016D51AF9DD0EEB18F9899E44A218EC
|
||||
:100C8A00F9B01AF9EF2B715320710AE6300400BF4C
|
||||
:100C9A002401F6BF2A01300B0BBF28010000000017
|
||||
:100CAA00510FBF280100000000500FBF28017163D7
|
||||
:100CBA0020C4C061FCEFFE61FCEFFE61FCEFFE6147
|
||||
:100CCA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61F2
|
||||
:100CDA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61E2
|
||||
:100CEA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61D2
|
||||
:100CFA00FCEFFE61FCEFFE61FCEFFE61FCEFFE61C2
|
||||
:100D0A00FCEFFE61FCEFFE61FCEFFE61FCEFFE61B1
|
||||
:100D1A00FCE51CF961FC71422161FCC18F6CF94F41
|
||||
:100D2A0096FFDF2B8F6DF94F97FFDF238F6EF94FF9
|
||||
:100D3A0098FFDF1B8F4BF95C04D1DF13712043F955
|
||||
:100D4A00710303710B23400EF90161F8E50FF9C035
|
||||
:100D5A0061FC61FCC1C3C5C7520C929269D4FEC141
|
||||
:100D6A00DFF88EFD708EFCC1717AFA8E312C06DDA9
|
||||
:100D7A000991DD1D91DD3191EF49D9AEF9F104A553
|
||||
:100D8A00F9148D1F9930A5F9FDE932629F3AF9EFFE
|
||||
:100D9A0032D9AEF9F104A8F9148D1F9930A8F9FDDA
|
||||
:100DAA00E932629F3BF9EF1BD9AEF9F104ABF914B2
|
||||
:100DBA008D1F9930A5F9FDE932629F02F93012229E
|
||||
:100DCA00FDA5334031FF08DD05A031FFEF1771584B
|
||||
:100DDA00F00071322140AEF902DF03F1EF048FAE69
|
||||
:100DEA00F9819FAEF9C09EFC609EFD34D4FE520686
|
||||
:100DFA00C0B9A5A592DFF9C6C4C2C061FCC1C3C50A
|
||||
:100E0A00C7520C929269D4FEC1DFF88EFD708EFC37
|
||||
:100E1A00C18F72F95C03D1DD16400EF903DD06407D
|
||||
:100E2A000EF905DF0A31240F0630B737FDA533C0A6
|
||||
:100E3A009EFC609EFD34D4FE5206C0B9A5A592DF81
|
||||
:070E4A00F9C6C4C2C061FC3F
|
||||
:0A0FF60030383A34353A3339000040
|
||||
:10200000EA0102030405060708090A0B0C0D0E0F6E
|
||||
:10201000101112131415161718191A1B1C1D1E1F48
|
||||
:10202000202122232425262728292A2B2C2D2E2F38
|
||||
:10203000303132333435363738393A3B3C3D3E3F28
|
||||
:102040004A574000F6DA6E9472362B329223D2272A
|
||||
:0E2050008F29EB2AC52F653168311035080144
|
||||
:10205E000B001F0000000000000000000000000048
|
||||
:06206E000000000000006C
|
||||
:08207400317503F7332312D785
|
||||
:0A21000030383A34353A3339000024
|
||||
:10210A00F7D7C7C1FBF8FF31642002EFFA715220FA
|
||||
:10211A00340020C5304000C1C1506CFD05261006B0
|
||||
:10212A0017C1E6A1C1500EC1506CFD492510061712
|
||||
:10213A00C1E6A1C1500EC1506CFD4925100617C158
|
||||
:10214A00E6A1C1A1A1C1506CFD4925100617C1E63F
|
||||
:10215A00A1C1500EC1506CFD05261006CC0100CC61
|
||||
:10216A00000017C1E6A1C1503EC1506CFD05261002
|
||||
:10217A0006CF03F99EAF5AFABF04F9AF5CFABF065D
|
||||
:10218A00F9C0C6D7C72006FBF8FFC7170403001615
|
||||
:10219A00F74940209BA3A75102614ADFF4C6C7173B
|
||||
:1021AA00A116F74942209BA3A75102614ADFF4C650
|
||||
:1021BA0017A1C1E6A1C15006C1506CFD0526100643
|
||||
:1021CA0017040300C1E6A1C1503EC1506CFD0526AB
|
||||
:1021DA001006716201300900FD3B3362316A9C05C9
|
||||
:1021EA00716301FD0C21717201300800FD3B3362FD
|
||||
:1021FA009F02F9301222FDA533F6C15084FDD02486
|
||||
:10220A00C0629C051006C6D7C7C1FBF8FF51E0D9CA
|
||||
:10221A0002F9D651A36128319E9F3DF92F5EFA310A
|
||||
:10222A008EFD74201344040071FEDE05D55FFADFCB
|
||||
:10223A00548F3DF97C804C95DC15D93DF9F1241475
|
||||
:10224A0000BDD8AF04F9FDEF0512F623BBEF13D991
|
||||
:10225A003DF9F1241400BDD8AF06F9FDEF0512F6D9
|
||||
:10226A0023BBD903F9F1610900BB17C1E6A1C1502B
|
||||
:10227A000CC1506CFD05261006D2DF068F3DF99F72
|
||||
:10228A005EFAA05FFAF7C0C6D7300500FDEC34301D
|
||||
:10229A000500FDEC34717041F9E7D7303300FDECED
|
||||
:1022AA0034F6C1E6A1C15084FDC5251004717841F8
|
||||
:1022BA00F9F7D7300A00FDEC34716041F9E7D771BC
|
||||
:1022CA006841F9F7D7F7D7FDCF22F7D7FD9322F761
|
||||
:1022DA00D7FDBD22F7D7FDC922F7D7FDA522F7D72B
|
||||
:1022EA00C75A00FC8E205CFC9E2071030E715207B7
|
||||
:1022FA0030A000FDEC34715307300400C1506CFD6E
|
||||
:10230A00D024C056C866318EF7BDD813BDDAFD1089
|
||||
:10231A0007C9DCCCCC30F440FD7C06DE03E7EF2BAA
|
||||
:10232A00669F3CF9710A2071003000711200710237
|
||||
:10233A000E306400FDEC343102000F5A00FC8E208E
|
||||
:10234A005CFC9E2071030EE7EF01F7C6D73104004B
|
||||
:10235A00245A00FC8E205CFC9E2071030E715207E9
|
||||
:10236A0030FA00FDEC3430FA00FDEC3430FA00FDAE
|
||||
:10237A00EC347153075A00FC8E205CFC9E207103DA
|
||||
:10238A000EF7D7FDA522F7D7D560FADD04B060FABB
|
||||
:10239A00D7CF60FA3331040706713041F9EF04717F
|
||||
:1023AA003841F931120506714041F9EF047148418B
|
||||
:1023BA00F9403DF957DC09403DF9B861D8E561FAC1
|
||||
:1023CA00403DF947DC09403DF9BD61D8F561FA4065
|
||||
:1023DA0061FA01DF0C403DF947DC06403DF9BDDCFE
|
||||
:1023EA0011D561FADF11403DF957DC0B403DF9B8D0
|
||||
:1023FA00DE05712204EF03712304311205058F5A99
|
||||
:10240A00F9EF01F1318EBE6AD7F7D77140F000714A
|
||||
:10241A00783002713AE6713BE2713BEA713BEE5A5F
|
||||
:10242A0006FCCF34024AE552FF711A52710A527100
|
||||
:10243A004830027130300271203002CF330208CFA7
|
||||
:10244A0032020A71303102713BE6717030028E2617
|
||||
:10245A005CFC9E26D7717830027148F000D7FD6186
|
||||
:10246A002BFD65278F10F9313305F50EF9EF04CFEF
|
||||
:10247A000EF903FD2B2CFDA62EFD3727FDAD24FDFD
|
||||
:10248A006B33715221717AFAFD5D02FD6E3331545C
|
||||
:10249A002108715321FD6E33EFF4FD7834FD660196
|
||||
:1024AA00EFE6D731020403F1EF01E13410F9718C40
|
||||
:1024BA008971899931120403F1EF01E13410F9713C
|
||||
:1024CA008C89719999D7C7C1C1FBF8FF3172200372
|
||||
:1024DA00FD37273164200300EFF9716220F51BF9FB
|
||||
:1024EA008C02318EFD8826D2DD0ACF1BF902716378
|
||||
:1024FA0020F7EF478C0A318EFD9E26FDE8268C02D6
|
||||
:10250A006C01318EFD9E26300400BF240130174035
|
||||
:10251A00BF1C01300400BF2201F6BF2A01710BE281
|
||||
:10252A00CE44FF3182E202EFFA8E449C01FD13276A
|
||||
:10253A00710BE27163208C01318E121004C6D7C769
|
||||
:10254A00C1FBF8FF31722003FD37273164200300F5
|
||||
:10255A00EFF97162208B318EFD8826D2DD06716318
|
||||
:10256A0020E7EF548C08318EFD9E26FDE8268B6C01
|
||||
:10257A0001318EFD9E26300400BF2401301740BF72
|
||||
:10258A001C01300400BF22018C0A91DF04F6BF2A25
|
||||
:10259A0001710BE2CE44FF3182E202EFFAAC0C1475
|
||||
:1025AA008E449961790C61690A8C0AD1DFDAFD13CC
|
||||
:1025BA0027710BE2716320F7C0C6D7C7C1FBF8FFCA
|
||||
:1025CA0031722003FD37273164200300EFF971626D
|
||||
:1025DA0020710AE68B318EFD8826D2DD06716320D2
|
||||
:1025EA00E7EF158C08318EFD9E268C0A318EFD9EF2
|
||||
:1025FA0026FD1327716320F7C0C6D7C7C1FBF8FFB2
|
||||
:10260A0031722003FD37273164200300EFF971622C
|
||||
:10261A0020710AE6710BE28B318EFD8826D2DD0924
|
||||
:10262A00716320717AFAE7EF52710BE23152203965
|
||||
:10263A00C73414F9AC0C1652048B99A5A792DFF98A
|
||||
:10264A00C63184BD02EFFA717ABDCEB144CBB4145F
|
||||
:10265A00F98C0A318EBEB8CEBB48714BE1714BE59D
|
||||
:10266A00710ABD8C089E44EF118C089E44710BE6DA
|
||||
:10267A008C0A9F1AF9AC0CBF18F9F7C0C6D7C7164F
|
||||
:10268A00FDBF2617F1FD9E26D2DD06FD1327E7EFD3
|
||||
:10269A0001F7C6D7C716710BE2669E443182E20380
|
||||
:1026AA0000EFF9F6420401DD09AF0401BF0C01E7AE
|
||||
:1026BA00EF01F7C6D7AF2801085CFB08BF28010065
|
||||
:1026CA00000000AF28015CFBBF2801300400BF2ACC
|
||||
:1026DA0001301780BF1C01300400BF2201D7AF248C
|
||||
:1026EA0001086C0408BF2401AF28016C0F086C0BA9
|
||||
:1026FA0008BF280100000000AF2A01085CFB08BFE0
|
||||
:10270A002A0100000000EDBF26300400BF2401F6B4
|
||||
:10271A00BF2A01300B0BBF280100000000510FBF78
|
||||
:10272A00280100000000500FBF2801D7D7710BBD48
|
||||
:10273A00717BBD7132057120F00000000000F6BF08
|
||||
:10274A0026015014BF1401CB44000A300F0FBF28D2
|
||||
:10275A0001716320715320717220D731642002EF16
|
||||
:10276A00FAFDE8267133057128F000717320D7D776
|
||||
:10277A00D77100F200301100BFB601300188BF9056
|
||||
:10278A0001300984BF9E01BF9C01BF9A01BF980115
|
||||
:10279A00BF9601BF9401BF9201F53CFF30FE00BF16
|
||||
:1027AA00BE015004BFBC01F6BFB80150EEBFBA016A
|
||||
:1027BA00A1BFB201C918FE00D730EF00BFB401F6BD
|
||||
:1027CA00BFBA017108F200D78F5BF9D1DD1191DD33
|
||||
:1027DA004991DD4291DD2091DD4491DD49EF3B8F46
|
||||
:1027EA000EF92C03DC47D1DD0A91DD4191DF04FDAE
|
||||
:1027FA00D528D7FD3828D7F6426CFF61E8E1318F3A
|
||||
:10280A0012AE6C23BE6CF6426EFF61E8E1318F12A4
|
||||
:10281A00AE6E23BE6ED7FDD528D7FD3828D7F6BEB3
|
||||
:10282A006CCB6EFF00D7CB6CFF00F6BE6ED78F3C29
|
||||
:10283A00F9318EF7BDD813BDDAFD1007C9DC0000E7
|
||||
:10284A00304C41FD7C06DE17A01DF9401DF97FDEE4
|
||||
:10285A0007F6BE6CBE6EEF06D95AF9F1BE6ED78F77
|
||||
:10286A003CF9318EF7BDD813BDDAFD1007C9DC007B
|
||||
:10287A0000304C42FD7C06DE29F6426CFF61E8B26C
|
||||
:10288A006CFFD95AF9F1426EFFDD3FD95AF912AEFF
|
||||
:10289A006E43DE03E1EF0251FF318F12AE6E03BECB
|
||||
:1028AA006ED7D95AF9F1426CFFDD16D95AF912AE30
|
||||
:1028BA006C43DE03E1EF0251FF318F12AE6C03BEAF
|
||||
:1028CA006CF6426EFF61E8B26EFFD7D51EF9DD04E1
|
||||
:1028DA00B01EF9D7CF1EF903AE6E4222F9DD13AF4F
|
||||
:1028EA0022F9426EFFDE05B26EFFEF06AE6EA1A1BF
|
||||
:1028FA00BE6EAE6C4220F9DD13AF20F9426CFFDEEA
|
||||
:10290A0005B26CFFEF06AE6CA1A1BE6C8F1FF9D1A8
|
||||
:10291A00DD082C02DD042C02DF338F3CF9318EF7FF
|
||||
:10292A00BDD813BDDAFD1007C9DC0000304C42FDEA
|
||||
:10293A007C06DE0CF6BF20F9D95AF9BF22F9EF332B
|
||||
:10294A00D95AF9F1BF20F9F6BF22F9EF268F3CF9DF
|
||||
:10295A00318EF7BDD813BDDAFD1007C9DC0000308F
|
||||
:10296A004C42FD7C06DE07E6A1BF22F9EF05E6A18F
|
||||
:10297A00BF20F9AE6C4220F9DF0AAE6E4222F9613D
|
||||
:10298A00F8A01FF9D7C7D524F9DD06B024F9EDE977
|
||||
:10299A002A8F5CF9D1DD1491DD2391DD359161F83F
|
||||
:1029AA00ED322A9161F8ED612AEF12F6BE66F51C46
|
||||
:1029BA00F9F526F9F525F9714302EDE92AD95AF90B
|
||||
:1029CA00F1BE66F51CF9F526F9F525F9714202ED15
|
||||
:1029DA00E92AD51CF9DD07F51CF9CF25F902D52519
|
||||
:1029EA00F9DD358F26F991DD082C02DD042C02DF92
|
||||
:1029FA0008F6BE66714302EF09D95AF9F1BE66714B
|
||||
:102A0A004202A026F94026F920DF06F526F9B0256C
|
||||
:102A1A00F9CF24F916EDE92AD95AF9F1BE667142BD
|
||||
:102A2A0002CF24F9C8EDE92A7142028F26F991DD15
|
||||
:102A3A00082C02DD042C02DF08D95AF9F1BE66EF30
|
||||
:102A4A0003F6BE66A026F94026F91061F8F526F9C4
|
||||
:102A5A00CF24F932EDE92A714202D525F9DD0CF6C7
|
||||
:102A6A00BE66F525F9CF24F93CEF748F26F95C038D
|
||||
:102A7A003119728F26F931AE0444201489D2DD054A
|
||||
:102A8A00311992DFFB318FF1085CC076D1DF03F197
|
||||
:102A9A00EF048F26F9819F26F966D1DD0E2C40DDE1
|
||||
:102AAA00162C40DD1E2C40DD29EF0CF6BE66F525FE
|
||||
:102ABA00F9CF24F9B4EF28F6BE66E525F9CF24F953
|
||||
:102ACA003CEF1CD95AF9F1BE66E525F9CF24F93C49
|
||||
:102ADA00EF0DD95AF9F1BE66E525F9CF24F9B4C646
|
||||
:102AEA00D7D527F9DD04B027F9D78F5DF9D1DD0FE6
|
||||
:102AFA0091DD1D91DD1091DD1791DD2F91DD43F6FA
|
||||
:102B0A00BE64F564FAD7D95AF9F1BE64F564FAD706
|
||||
:102B1A00D564FADF0BD95AF9F1BE64E564FAEF0617
|
||||
:102B2A00F6BE64F564FACF27F9FAD7D564FADF0E50
|
||||
:102B3A00D95AF9F1BE64E564FACF27F9FAD7F55DF7
|
||||
:102B4A00F9D7D564FADF0BF6BE64E564FACF27F944
|
||||
:102B5A00FAD7CF5DF902D7C736F00071F4DC1371EA
|
||||
:102B6A0070F000CE9D08CE9EC0CE9F80CE9C7FE5A1
|
||||
:102B7A0034F9711BE3712BE3711AE7712BE7717A50
|
||||
:102B8A009D710A9E31929E02EFFA710B9E7103218A
|
||||
:102B9A00711321712321C6D7C73102211E71022167
|
||||
:102BAA00710A9E31929E02EFFA3462F93692FF520E
|
||||
:102BBA00078B99A5A792DFF9710B9EC6D7C788061E
|
||||
:102BCA001631122115711221C7342AF93092FF16D3
|
||||
:102BDA0052078B99A5A792DFF9C6667367182AF977
|
||||
:102BEA00C6D7C77103213114211E711321710A9EA0
|
||||
:102BFA0031929E02EFFA3492FF362AF952078B99E4
|
||||
:102C0A00A5A792DFF9710B9E31242113717B9E8F48
|
||||
:102C1A006AF99E9A8F6BF99E9B711321717A9EC6EF
|
||||
:102C2A00D7CF5AF9FFF532F9CF33F905D7C7880656
|
||||
:102C3A001666320002F02361F8EDE52C912361D883
|
||||
:102C4A00EDF22C2361D8ED012DD161F8ED0A2D2C7E
|
||||
:102C5A00032361D8ED622E2C0C2C0461D8ED262DAD
|
||||
:102C6A002C0461F8ED2F2D9161F8ED412D2361F8C7
|
||||
:102C7A00ED6A2E912C0461D8EDC72DD161F8EDD003
|
||||
:102C8A002D9161F8EDD92D9161F8EDE22D9161F860
|
||||
:102C9A00EDEB2D9161F8EDF42D2C042C0761D8EDA4
|
||||
:102CAA00FC2DD161F8ED0B2E912361D8ED152E2C58
|
||||
:102CBA000361D8ED202E2C0361F8ED282E9161F8DE
|
||||
:102CCA00ED362E2361F8ED442E9161F8ED4C2E2C51
|
||||
:102CDA00072C0361D8ED5A2EED772E675CBF72661A
|
||||
:102CEA0073621832F9ED772E30D122FDA53366735F
|
||||
:102CFA00671832F9ED772E6673671832F9ED772E79
|
||||
:102D0A006673671832F94037F96ADF0D4038F96897
|
||||
:102D1A00DF074C6C61F8FD6102ED772E6673671868
|
||||
:102D2A0032F9ED772E6673671832F9D1DD0630A0D5
|
||||
:102D3A0031FDA533ED772E6673671832F9D1DD7A46
|
||||
:102D4A008F53F95C01D1DD05308000EF01F6609FF9
|
||||
:102D5A0092F98F53F95C02D1DD03E1EF01F172348C
|
||||
:102D6A0092F989616A998F53F95C04D1DD045102A1
|
||||
:102D7A00EF01F1723492F989616A998F53F95C080B
|
||||
:102D8A00D1DD045120EF01F1723492F989616A9917
|
||||
:102D9A008F53F95C10D1DD045110EF01F1723492B6
|
||||
:102DAA00F989616A998F53F95C20D1DD045140EFAA
|
||||
:102DBA0001F1723492F989616A99ED772E66736727
|
||||
:102DCA001832F9ED772E6673671832F9ED772E66A9
|
||||
:102DDA0073671832F9ED772E6673671832F9ED7753
|
||||
:102DEA002E6673671832F9ED772E6673671832F913
|
||||
:102DFA00EF7B67318EC1662C30318EFDC72BC0EF59
|
||||
:102E0A006C6673671832F99E99EF626673671832B7
|
||||
:102E1A00F9712221EF576673671832F9EF4F66731B
|
||||
:102E2A00671832F9303139FDA533EF4166736718F7
|
||||
:102E3A0032F930EA38FDA533EF336673671832F991
|
||||
:102E4A00EF2B6673671832F9300D39FDA533EF1D84
|
||||
:102E5A006673671832F9EF156673671832F9EF0D62
|
||||
:102E6A006673671832F92C7261F8CEABAAC6D7C757
|
||||
:102E7A0016664C30DC074C3761D8FDA22B66730905
|
||||
:102E8A0032F9318E12C6D7C716664C13DF0CF545D8
|
||||
:102E9A00F9F544F9F543F9F542F9C6D7CF82F93580
|
||||
:102EAA00CF88F90FCF89F907CF8DF903E58EF9E5B8
|
||||
:102EBA0091F9CF92F960D7C7880616662C042C02BE
|
||||
:102ECA00DC0B912C05DC062C062C08DE06667367E3
|
||||
:102EDA001882F9662C04DF1667D1DD128F4DF95C72
|
||||
:102EEA0010D1DF0A714045F9710303710B23C6D76C
|
||||
:102EFA00C71666730982F9318E12C6D7C7C1C1FBDC
|
||||
:102F0A00F8FF8C025CF09C018C025C0F9B8C014CDC
|
||||
:102F1A0081DC05F792EDC12F8C014C50DF05F79249
|
||||
:102F2A00EDC12F8C014C31DE468C014C11DE1E8C1A
|
||||
:102F3A00014C10DF0D8B4C03DE3351030D318E1221
|
||||
:102F4A00EF758B4C03DE268B318E12EF6A8C014CA7
|
||||
:102F5A0020DF0D8B4C02DE1551060D318E12EF5714
|
||||
:102F6A008B4C02DE5051080D318E12EF4AEF468C1F
|
||||
:102F7A00014C61DE208C014C60DF0D8B4C04DE3588
|
||||
:102F8A00510E0D318E12EF2F8B4C02DE28510A0D95
|
||||
:102F9A00318E12EF228C014C70DF0D8B4C08DE153E
|
||||
:102FAA0051120D318E12EF0F8B4C02DE08511A0DA1
|
||||
:102FBA00318E12EF02F7921004C6D7C7D566FADD32
|
||||
:102FCA0006B066FAED6331CF66FA02713203312434
|
||||
:102FDA000C06712041F9EF04712841F931140706F2
|
||||
:102FEA00711041F9EF04711841F9713303400EF978
|
||||
:102FFA0003DD09400EF90561E8ED63318F41F97F80
|
||||
:10300A009EF976D161F8ED51318F41F99F9EF966AB
|
||||
:10301A005C80D1DD2E8F41F95C80D1DD148F4DF9B2
|
||||
:10302A005C08D1DF1E713045F9710303710B23EF80
|
||||
:10303A00128F4DF95C04D1DF0A712045F97103033F
|
||||
:10304A00710B23665C40D1DD2E8F41F95C40D1DDE6
|
||||
:10305A00148F4DF95C02D1DF1E711045F97103031B
|
||||
:10306A00710B23EF128F4DF95C01D1DF0A71004514
|
||||
:10307A00F9710303710B23665C10D1DD2E8F41F9C0
|
||||
:10308A005C10D1DD148F4CF95C80D1DF1E71704465
|
||||
:10309A00F9710303710B23EF128F4CF95C40D1DFF6
|
||||
:1030AA000A716044F9710303710B23665C08D1DD70
|
||||
:1030BA002E8F41F95C08D1DD148F4CF95C20D1DFE9
|
||||
:1030CA001E715044F9710303710B23EF128F4CF9EF
|
||||
:1030DA005C10D1DF0A714044F9710303710B236656
|
||||
:1030EA005C04D1DD2E8F41F95C04D1DD148F4CF9DB
|
||||
:1030FA005C04D1DF1E712044F9710303710B23EFC5
|
||||
:10310A00128F4CF95C08D1DF0A713044F97103035C
|
||||
:10311A00710B23665C02D1DD2E8F41F95C02D1DD91
|
||||
:10312A00148F4CF95C02D1DF1E711044F97103034C
|
||||
:10313A00710B23EF128F4CF95C01D1DF0A71004445
|
||||
:10314A00F9710303710B238F72F95C03D1DD0A3124
|
||||
:10315A00240F0630B737FDA533C6D7C7C6D7C72051
|
||||
:10316A0004FBF8FF400EF903DD06400EF905DF22E5
|
||||
:10317A008F42F99C038F43F99C028F44F99C018F7B
|
||||
:10318A0041F99B17C1300400C1F6C15044FD052620
|
||||
:10319A0010061004C6D78F52F95C01D1DD05F50E71
|
||||
:1031AA00F9EF398F52F95C02D1DD0C5A00FC8E20FE
|
||||
:1031BA005CFC9E2071030E8F52F95C04D161E871A8
|
||||
:1031CA0013008F52F95C08D161E871030E300500D3
|
||||
:1031DA00FDEC34710A2071120071020E8F52F95CF3
|
||||
:1031EA0020D1DD0830DB22FDA533EF0E8F52F95CCA
|
||||
:1031FA0010D1DD0630E022FDA5338F52F95C80D173
|
||||
:10320A00DD0830D622FDA533EF0E8F52F95C40D18E
|
||||
:10321A00DD0630E522FDA533F552F9F7D700EFFDBB
|
||||
:10322A00D7C7400EF903DD09400EF90561E8EDE75D
|
||||
:10323A003231342170D568FADD06B068FAEDE7322A
|
||||
:10324A00CF68FA088FA3F92F3BF9318EFD7420134A
|
||||
:10325A0044040071FEDC258F3BF99FA3F98F3BF9EB
|
||||
:10326A00315A4FA4F9DD159FA4F98F4AF95C40D170
|
||||
:10327A00DF0A716042F9710303710B238F3BF94F27
|
||||
:10328A00A1F9DD1E8F3BF9311A738F3BF9312A619F
|
||||
:10329A000B9FA1F9D9A1F9F1C1F6C15050FDC5257D
|
||||
:1032AA0010047133217150F000CE301BCF17000685
|
||||
:1032BA00CE3106717A30710BE3710BE78F5EF991AB
|
||||
:1032CA00DD0591DD0AEF13D95AF9F1BD1AEF0E5156
|
||||
:1032DA00FF2F3AF9318EBD1AEF03F6BD1AC6D7C7CA
|
||||
:1032EA00C1C1FBF8FFAC021489728A016142DE1186
|
||||
:1032FA00899C01AC02148A017299AC02148C019A5D
|
||||
:10330A0001AC021489728A01614ADC0689318E1283
|
||||
:10331A00EF1BAC02148A01728A02614ADE078A0133
|
||||
:10332A00318E12EF08AC02148A02318E121004C6D2
|
||||
:10333A00D7C716710AE7710BE37150F000717B3041
|
||||
:10334A00CE3023CF170006669E31717A30710BE7B3
|
||||
:10335A003182E302EFFA8D1F7158F000318E12C6E6
|
||||
:10336A00D7ED8D33C73144211771432130482016D8
|
||||
:10337A0017445C20DD0AABCEFC0061CAA7A7EFF0B8
|
||||
:10338A00F7C6D7C75600664C0FDE0BF0317E12F631
|
||||
:10339A0078B0F986EFF0F56AFAC6D7717BFAC7C139
|
||||
:1033AA00C1FBF8FFD56BFADD0300EFFDE56BFA40D0
|
||||
:1033BA006AFA0FDC0300EFFDCC01008C014F6AFAB8
|
||||
:1033CA00DE1D8C01F0317E1279B0F9614902DF0A03
|
||||
:1033DA0000F56BFA717AFAE7EF60615901EFDCCC1C
|
||||
:1033EA0001008C014C0FDE188C01F0317E04B0F91B
|
||||
:1033FA0014A96168DF05AC02B9EF05615901EFE272
|
||||
:10340A00A06AFACC0000CC01008C014C0EDE168CAE
|
||||
:10341A0001F0317E04B0F914A9616861E8615900CC
|
||||
:10342A00615901EFE48B4F6AFADD0300EFFDF56B9A
|
||||
:10343A00FA717AFAF7EF0300EFFD1004C6D7C71640
|
||||
:10344A00667767F0317E04B0F914A96168DD1A67FE
|
||||
:10345A004C0FDE1581F0317E04B0F914A91267F021
|
||||
:10346A00317E3378B0F987EFD9B06AFAC6D7C72068
|
||||
:10347A0004FBF8FFCC0200CC03008C034C0FDE39AE
|
||||
:10348A008C03F0317E04B0F914A96168DD26A9CE57
|
||||
:10349A00FC0061CAD2DF1DD50EF9DF0BCC01008C0E
|
||||
:1034AA0001D1DF0300EFF8717BFA8C03318EFD48FE
|
||||
:1034BA0034717AFA615903EFC1CC03008C034C0FC3
|
||||
:1034CA00DE168C03F0317E04B0F914A9616861E854
|
||||
:1034DA00615902615903EFE48C02D1DF97F71004B6
|
||||
:1034EA00C6D7C7C1C1FBF8FFFD5D028C02D1DD1250
|
||||
:1034FA0061690230AE01BBF6614900DDEE61890007
|
||||
:10350A00EFF51004C6D7C7712BE78F0EF9D161F812
|
||||
:10351A00ED103691DD1B9161F8EDC2359161F8ED40
|
||||
:10352A00F5359161F8EDFC359161F8ED0536ED6DF3
|
||||
:10353A00368F0FF991DD30D5CEF9DF05D5D1F9DD1A
|
||||
:10354A0005F56CFAEF03A06CFA8F6CFA01DE09F547
|
||||
:10355A000EF9715221ED703640CEF903DE0940D1E1
|
||||
:10356A00F90361D8ED7036F56CFA716221710222A5
|
||||
:10357A00711222FD3727FD8E21FD0A21D2DD097144
|
||||
:10358A005221F50EF900EFFDFDEA22D2DD0C71524F
|
||||
:10359A0021FD6527E50EF9ED7036FDCF227163072F
|
||||
:1035AA00D50FF9DF05F55BF9EF04CF5BF903CF0E11
|
||||
:1035BA00F902715221ED7036FD7B27CF37001DCB02
|
||||
:1035CA00E43BEFCBE6F6F0CED4EFFD1524FD7A27E7
|
||||
:1035DA00714A9DCF0EF903308000C15008C1505086
|
||||
:1035EA00FDC525100400F50FF9EF7B31020001003B
|
||||
:1035FA00EF74CF0EF905FDC922EF6BCF0EF9023138
|
||||
:10360A0002006300EF60FDC327FD5F24FD7927F503
|
||||
:10361A0042F9F543F9F544F9F545F9717301717BFE
|
||||
:10362A00FA716207FD5723CF350003CF370019CE51
|
||||
:10363A003708CBE4BFFFCBE6FFF5CED4FFF6BEE0FA
|
||||
:10364A00BEE2BED0F56CFAE50EF931949E02EFFAAD
|
||||
:10365A00FD652761FD713AE7712BE7717AFA7152BC
|
||||
:10366A0021EF0300EFFDC6D7D56FFADD04B06FFA7C
|
||||
:10367A00D7CF6FFA08400EF903DD06400EF901DFD5
|
||||
:10368A006331340708716321F5CEF9EF15316421EE
|
||||
:10369A0005F5CEF9EF0CA0CEF9D5CEF961F8CFCE6B
|
||||
:1036AA00F9FF31440708711322F5D1F9EF153114E6
|
||||
:1036BA002205F5D1F9EF0CA0D1F9D5D1F961F8CFEE
|
||||
:1036CA00D1F9FF31040208710322F5D0F9EF15315F
|
||||
:1036DA00042205F5D0F9EF0CA0D0F9D5D0F961F89C
|
||||
:1036EA00CFD0F9FF8F0EF9D1DD092C03DD122C02A0
|
||||
:1036FA00DD0ED7F5CEF9F5D1F9F5D0F9F56DFAD792
|
||||
:10370A00D5CEF9DF20406EFA04DC40406EFA32DE94
|
||||
:10371A003A8F4AF95C04D1DF32712042F97103030E
|
||||
:10372A00710B23EF2640CEF932DF148F4AF95C0879
|
||||
:10373A00D1DF18713042F9710303710B23EF0C408A
|
||||
:10374A00CEF9C8DF06F50EF97152218FCEF99F6EB8
|
||||
:10375A00FA8F42F95C08D1DD20A06DFA406DFA0DAE
|
||||
:10376A00DC1ACF5BF903F6426CFFDF10426EFFDF13
|
||||
:10377A000BF50EF9715221EF03F56DFA40D1F90AF2
|
||||
:10378A00DF128F4AF95C10D1DF0A714042F97103E6
|
||||
:10379A0003710B2340D0F90ADF128F4AF95C20D15A
|
||||
:1037AA00DF0A715042F9710303710B23D7C7400E28
|
||||
:1037BA00F90361E8EDD9383477F9C5300600C1500C
|
||||
:1037CA00A8C15030FD492510068F78F9F0F977F92C
|
||||
:1037DA00F303FD7420131431FF31EE05312FC18F2D
|
||||
:1037EA007AF9F0F979F9F303FD7420C01413C514BA
|
||||
:1037FA0031FF31EE05312FC405C18F7CF9F0F97B19
|
||||
:10380A00F9F303FD7420C01413C51431FF31EE051A
|
||||
:10381A00312FC40516F1609F77F917709F78F98FD9
|
||||
:10382A0056FA5C1FF0317E04D2F914A9BDDCF6BD4C
|
||||
:10383A00DEAF52FABDD8AF54FABDDAADDEFD0F06DF
|
||||
:10384A00ADDABF54FAADD8BF52FA8F56FA5C1FF000
|
||||
:10385A00317E121778D2F9BDDCF6BDDEAF52FABD61
|
||||
:10386A00D8AF54FABDDAADDEFD0006ADDABF54FAC0
|
||||
:10387A00ADD8BF52FAA056FAAF52FABDD8AF54FA31
|
||||
:10388A00BDDA5106FD2106C9DCFF00F6FD40068DB2
|
||||
:10389A00D89F79F9AF52FABDD8AF54FABDDA5106BA
|
||||
:1038AA00FD21065108FD2106C9DCFF00F6FD400690
|
||||
:1038BA008DD89F7AF98F72F95C03D1DD128F4BF99B
|
||||
:1038CA005C10D1DF0A714043F9710303710B238F36
|
||||
:1038DA0072F95C02D1DD068F72F95C01D1F7C6D7A5
|
||||
:1038EA00D973F9F1C15030FDD024C0629F76F971C5
|
||||
:1038FA003043F98F4BF95C08D1DF06710303710B72
|
||||
:10390A0023F7D7D976F9F1C1D975F9C15030FDC578
|
||||
:10391A00251004713043F98F4BF95C08D1DF067129
|
||||
:10392A000303710B23F7D7C72004FBF8FF300F00FE
|
||||
:10393A00C15030FDD024C0401BF902DF03F7EF3736
|
||||
:10394A00CC0100CC0202CC03808F72F95C03D1DF78
|
||||
:10395A0005CC0007EF108F72F95C01D1DD05CC00B0
|
||||
:10396A002FEF03CC002F17C1300400C150A0C15063
|
||||
:0B397A0030FD05261006F71004C6D72C
|
||||
:103986004040666D756C00004040666469760000D4
|
||||
:1039960040406661646400004040667375620000E2
|
||||
:1039A600404066636D70000061636F730000000045
|
||||
:1039B6006173696E000000006174616E00000000B2
|
||||
:1039C6006174616E32000000636F730000000000D6
|
||||
:1039D60073696E000000000074616E000000000054
|
||||
:1039E600636F73680000000073696E680000000072
|
||||
:1039F60074616E68000000006578700000000000C9
|
||||
:103A060066726578700000006C646578700000006E
|
||||
:103A16006C6F6700000000006C6F673130000000BB
|
||||
:103A26006D6F646600000000706F77000000000094
|
||||
:103A360073717274000000006365696C0000000019
|
||||
:0E3A4600666C6F6F72000000666D6F640000AA
|
||||
:0A47F60030383A34353A3339000008
|
||||
:00000001FF
|
||||
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -1,288 +0,0 @@
|
||||
/* ========================================================
|
||||
対SoC 新規チャンネル I2C通信
|
||||
藤田@開技.nintendo
|
||||
'09 Apr
|
||||
======================================================== */
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#ifdef _MCU_KE3_
|
||||
#pragma interrupt INTIICA int_iic_ctr // CTR側
|
||||
#else
|
||||
// TSはマザボでテレコ、WMは回路図がテレコで結局一致…
|
||||
#pragma interrupt INTIICA1 int_iic_ctr RB1
|
||||
#endif
|
||||
|
||||
|
||||
#include "incs.h"
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
// #ifdef _MODEL_TS0_ || _MODEL_WM0_
|
||||
|
||||
// ワーキングモデルはI2Cが逆
|
||||
// TEGは回路図でテレコ
|
||||
#define ACKD ACKD1
|
||||
#define ACKE ACKE1
|
||||
#define COI COI1
|
||||
#define IICAEN IICA1EN
|
||||
#define IICRSV IICRSV1
|
||||
#define IICA IICA1
|
||||
#define IICAIF IICAIF1
|
||||
#define IICAMK IICAMK1
|
||||
#define IICAPR0 IICAPR11
|
||||
#define IICAPR1 IICAPR01
|
||||
#define IICCTL0 IICCTL10
|
||||
#define IICE IICE1
|
||||
#define IICF IICF1
|
||||
#define IICS IICS1
|
||||
#define IICWH IICWH1
|
||||
#define IICWL IICWL1
|
||||
#define LREL LREL1
|
||||
#define SPD SPD1
|
||||
#define SPIE SPIE1
|
||||
#define STCEN STCEN1
|
||||
#define STD STD1
|
||||
#define SVA SVA1
|
||||
#define WREL WREL1
|
||||
#define WTIM WTIM1
|
||||
#define TRC TRC1
|
||||
#define SMC SMC1
|
||||
#define DFC DFC1
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
// ==============================================
|
||||
extern bit irq_readed; // いずれかのIRQレジスタが読まれた
|
||||
|
||||
u8 iic_burst_state;
|
||||
|
||||
|
||||
/* ========================================================
|
||||
======================================================== */
|
||||
enum IIC_STATE
|
||||
{
|
||||
IIC_IDLE = 0,
|
||||
IIC_RCV_REG_ADRS,
|
||||
IIC_TX_OR_RX,
|
||||
IIC_TX,
|
||||
IIC_RX
|
||||
};
|
||||
|
||||
|
||||
// 1バイト送受の度に割り込みが発生するバージョン
|
||||
__interrupt void int_iic_ctr( )
|
||||
{
|
||||
static u8 state = IIC_IDLE;
|
||||
static u8 reg_adrs;
|
||||
static u8 reg_adrs_internal;
|
||||
static u8 tx_buf;
|
||||
u8 rx_buf;
|
||||
static u8 adrs_access_from;
|
||||
|
||||
EI();
|
||||
|
||||
// 読み出し終了
|
||||
if( !ACKD ) // 割り込み要因はNAK(データ送信の最後)
|
||||
{
|
||||
state = IIC_IDLE;
|
||||
SPIE = 0;
|
||||
LREL = 1;
|
||||
|
||||
// レジスタリードで、割り込みピンをネゲート
|
||||
// まだ読まれてない割り込みがあれば、再度アサート
|
||||
if( irq_readed )
|
||||
{
|
||||
IRQ0_neg;
|
||||
irq_readed = false;
|
||||
if( !( (( vreg_ctr[VREG_C_IRQ0] & vreg_ctr[VREG_C_IRQ_MASK0 ] ) == 0 )
|
||||
&& (( vreg_ctr[VREG_C_IRQ1] & vreg_ctr[VREG_C_IRQ_MASK1 ] ) == 0 )
|
||||
&& (( vreg_ctr[VREG_C_IRQ2] & vreg_ctr[VREG_C_IRQ_MASK2 ] ) == 0 )
|
||||
&& (( vreg_ctr[VREG_C_IRQ3] & vreg_ctr[VREG_C_IRQ_MASK3 ] ) == 0 ) ))
|
||||
{
|
||||
while( !IRQ0 ){;} // 時間稼ぎ不要かも
|
||||
IRQ0_ast;
|
||||
}
|
||||
}
|
||||
|
||||
// 歩数計読み出し終了
|
||||
hosu_read_end( );
|
||||
rtc_unlock( );
|
||||
iic_burst_state = 0;
|
||||
return;
|
||||
}
|
||||
|
||||
if( SPD ) // 割り込み要因はストップコンディション
|
||||
// 通信の最後。↑の !ACKD に来たときは割り込み来ない (SPIE = 0 のため )
|
||||
{
|
||||
state = IIC_IDLE;
|
||||
SPIE = 0;
|
||||
// I2C終了時に何かする物 //
|
||||
rtc_unlock( );
|
||||
return;
|
||||
}
|
||||
|
||||
if( STD ) // 割り込み要因:スタートコンディション
|
||||
{
|
||||
if( ( state == IIC_TX ) || ( state == IIC_RX )
|
||||
|| ( state == IIC_RCV_REG_ADRS )
|
||||
)
|
||||
{
|
||||
state = IIC_IDLE;
|
||||
// no break //
|
||||
}
|
||||
}
|
||||
|
||||
switch ( state )
|
||||
{
|
||||
case ( IIC_IDLE ):
|
||||
// 自局呼び出しに応答。
|
||||
// 初期化など
|
||||
SPIE = 1;
|
||||
state = IIC_RCV_REG_ADRS;
|
||||
WREL = 1; // ウェイト解除
|
||||
break;
|
||||
|
||||
case ( IIC_RCV_REG_ADRS ): // 2バイト目(レジスタアドレス)受信後に来る
|
||||
// レジスタアドレス受信
|
||||
reg_adrs = IICA;
|
||||
adrs_access_from = reg_adrs;
|
||||
tx_buf = vreg_ctr_read( reg_adrs ); // データの準備をしておく
|
||||
if( reg_adrs != VREG_CX_INFO ) // 特殊なバーストリードを行うため、割り込み駆動から外す
|
||||
{
|
||||
state = IIC_TX_OR_RX;
|
||||
}
|
||||
else
|
||||
{
|
||||
state = IIC_IDLE;
|
||||
}
|
||||
WREL = 1;
|
||||
break;
|
||||
|
||||
case ( IIC_TX_OR_RX ): // ↑の次に来る割り込み。STなら送信準備、データが来たら書き込まれ
|
||||
// if( TRC ){ // 送信方向フラグ で区別するのは、割り込み遅延時に不具合が起こりえる
|
||||
if( STD )
|
||||
{ // スタートコンディション検出フラグ
|
||||
// リードされる
|
||||
if( COI )
|
||||
{ // アドレス一致フラグ
|
||||
state = IIC_TX;
|
||||
// no break, no return //
|
||||
}
|
||||
else
|
||||
{
|
||||
// リスタートで違うデバイスが呼ばれた!
|
||||
state = IIC_IDLE; // 終了処理
|
||||
SPIE = 0;
|
||||
LREL = 1; // ウェイト解除?
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
state = IIC_RX; // データ1バイト受信の割り込みだった
|
||||
// no break, no return //
|
||||
}
|
||||
|
||||
default: // バースト R/W でここが何回も呼ばれることになる
|
||||
if( state == IIC_TX )
|
||||
{ // 送信
|
||||
IICA = tx_buf;
|
||||
vreg_ctr_after_read( reg_adrs, tx_buf ); // 読んだらクリアなどの処理
|
||||
}
|
||||
else
|
||||
{ // 受信
|
||||
rx_buf = IICA;
|
||||
vreg_ctr_write( reg_adrs, rx_buf );
|
||||
WREL = 1;
|
||||
}
|
||||
|
||||
// レジスタアドレスのインクリメント
|
||||
/// アクセスポインタを進めない特殊なレジスタ
|
||||
switch( adrs_access_from )
|
||||
{
|
||||
case( VREG_C_ACC_HOSU_HIST ):
|
||||
case( VREG_C_LED_NOTIFY_DATA ):
|
||||
case( VREG_C_LED_POW ):
|
||||
case( VREG_CX_INFO ):
|
||||
case( VREG_CX_FREE_DATA ):
|
||||
break;
|
||||
case( VREG_CX_FREE_ADRS ):
|
||||
if( reg_adrs == VREG_CX_FREE_ADRS )
|
||||
{
|
||||
reg_adrs = VREG_CX_FREE_DATA;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
iic_burst_state = 0; // 保険
|
||||
reg_adrs += 1;
|
||||
}
|
||||
|
||||
if( state == IIC_TX )
|
||||
{ // さらにつぎに送るデータの準備だけシテオク。SPが来て使われないかもしれない
|
||||
tx_buf = vreg_ctr_read( reg_adrs );
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void IIC_ctr_Init( void )
|
||||
{
|
||||
|
||||
IICAEN = 1;
|
||||
|
||||
IICE = 0; /* IICA disable */
|
||||
|
||||
IICAMK = 1; /* INTIICA disable */
|
||||
IICAIF = 0; /* clear INTIICA interrupt flag */
|
||||
|
||||
IICAPR0 = 1; /* set INTIICA high priority */
|
||||
IICAPR1 = 0; /* set INTIICA high priority */
|
||||
|
||||
#ifdef _MODEL_TEG2_
|
||||
P6 &= ~0x3;
|
||||
#else
|
||||
P20 &= ~0x3;
|
||||
#endif
|
||||
|
||||
SVA = IIC_C_SLAVEADDRESS;
|
||||
IICF = 0x01;
|
||||
|
||||
STCEN = 1; // リスタートの許可
|
||||
IICRSV = 1; // 通信予約をさせない:スレーブに徹する
|
||||
|
||||
SPIE = 0; // ストップコンディションでの割り込みを禁止
|
||||
WTIM = 1; // 自動でACKを返した後clkをLに固定する
|
||||
ACKE = 1; // ダメCPUは無視して次の通信をはじめるかもしれないんで早くclkを開放しないといけない
|
||||
|
||||
IICWH = 5;
|
||||
IICWL = 10; // L期間の長さ
|
||||
|
||||
SMC = 1; // 高速モード
|
||||
DFC = 1; // デジタルフィルタon (@fast mode)
|
||||
|
||||
IICAMK = 0; // 割り込みを許可
|
||||
|
||||
IICE = 1;
|
||||
|
||||
#ifdef _MODEL_TEG2_
|
||||
PM6 &= ~0x3; /* set clock pin for IICA */
|
||||
#else
|
||||
PM20 &= ~0x3; /* set clock pin for IICA */
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void IIC_ctr_Stop( void )
|
||||
{
|
||||
IICE = 0; /* IICA disable */
|
||||
IICAEN = 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,210 +0,0 @@
|
||||
#ifndef _MDSERIAL_A_
|
||||
#define _MDSERIAL_A_
|
||||
|
||||
|
||||
/* IIC operation enable (IICE0) */
|
||||
#define IIC0_OPERATION 0x80
|
||||
#define IIC0_OPERATION_DISABLE 0x00 /* stop operation */
|
||||
#define IIC0_OPERATION_ENABLE 0x80 /* enable operation */
|
||||
|
||||
/* Exit from communications (LREL0) */
|
||||
#define IIC0_COMMUNICATION 0x40
|
||||
#define IIC0_COMMUNICATION_NORMAL 0x00 /* normal operation */
|
||||
#define IIC0_COMMUNICATION_EXIT 0x40 /* exit from current communication */
|
||||
|
||||
/* Wait cancellation (WREL0) */
|
||||
#define IIC0_WAITCANCEL 0x20
|
||||
#define IIC0_WAIT_NOTCANCEL 0x00 /* do not cancel wait */
|
||||
#define IIC0_WAIT_CANCEL 0x20 /* cancel wait */
|
||||
|
||||
/* Generation of interrupt when stop condition (SPIE0) */
|
||||
#define IIC0_STOPINT 0x10
|
||||
#define IIC0_STOPINT_DISABLE 0x00 /* disable */
|
||||
#define IIC0_STOPINT_ENABLE 0x10 /* enable */
|
||||
|
||||
/* Wait and interrupt generation (WTIM0) */
|
||||
#define IIC0_WAITINT 0x08
|
||||
#define IIC0_WAITINT_CLK8FALLING 0x00 /* generate at the eighth clocks falling edge */
|
||||
#define IIC0_WAITINT_CLK9FALLING 0x08 /* generated at the ninth clocks falling edge */
|
||||
|
||||
/* Acknowledgement control (ACKE0) */
|
||||
#define IIC0_ACK 0x04
|
||||
#define IIC0_ACK_DISABLE 0x00 /* enable acknowledgement */
|
||||
#define IIC0_ACK_ENABLE 0x04 /* disable acknowledgement */
|
||||
|
||||
/* Start condition trigger (STT0) */
|
||||
#define IIC0_STARTCONDITION 0x02
|
||||
#define IIC0_START_NOTGENERATE 0x00 /* do not generate start condition */
|
||||
#define IIC0_START_GENERATE 0x02 /* generate start condition */
|
||||
|
||||
/* Stop condition trigger (SPT0) */
|
||||
#define IIC0_STOPCONDITION 0x01
|
||||
#define IIC0_STOP_NOTGENERATE 0x00 /* do not generate stop condition */
|
||||
#define IIC0_STOP_GENERATE 0x01 /* generate stop condition */
|
||||
|
||||
/*
|
||||
IIC Status Register 0 (IICS0)
|
||||
*/
|
||||
/* Master device status (MSTS0) */
|
||||
#define IIC0_MASTERSTATUS 0x80
|
||||
#define IIC0_STATUS_NOTMASTER 0x00 /* slave device status or communication standby status */
|
||||
#define IIC0_STATUS_MASTER 0x80 /* master device communication status */
|
||||
|
||||
/* Detection of arbitration loss (ALD0) */
|
||||
#define IIC0_ARBITRATION 0x40
|
||||
#define IIC0_ARBITRATION_NO 0x00 /* arbitration win or no arbitration */
|
||||
#define IIC0_ARBITRATION_LOSS 0x40 /* arbitration loss */
|
||||
|
||||
/* Detection of extension code reception (EXC0) */
|
||||
#define IIC0_EXTENSIONCODE 0x20
|
||||
#define IIC0_EXTCODE_NOT 0x00 /* extension code not received */
|
||||
#define IIC0_EXTCODE_RECEIVED 0x20 /* extension code received */
|
||||
|
||||
/* Detection of matching addresses (COI0) */
|
||||
#define IIC0_ADDRESSMATCH 0x10
|
||||
#define IIC0_ADDRESS_NOTMATCH 0x00 /* addresses do not match */
|
||||
#define IIC0_ADDRESS_MATCH 0x10 /* addresses match */
|
||||
|
||||
/* Detection of transmit/receive status (TRC0) */
|
||||
#define IIC0_STATUS 0x08
|
||||
#define IIC0_STATUS_RECEIVE 0x00 /* receive status */
|
||||
#define IIC0_STATUS_TRANSMIT 0x08 /* transmit status */
|
||||
|
||||
/* Detection of acknowledge signal (ACKD0) */
|
||||
#define IIC0_ACKDETECTION 0x04
|
||||
#define IIC0_ACK_NOTDETECTED 0x00 /* ACK signal was not detected */
|
||||
#define IIC0_ACK_DETECTED 0x04 /* ACK signal was detected */
|
||||
|
||||
/* Detection of start condition (STD0) */
|
||||
#define IIC0_STARTDETECTION 0x02
|
||||
#define IIC0_START_NOTDETECTED 0x00 /* start condition not detected */
|
||||
#define IIC0_START_DETECTED 0x02 /* start condition detected */
|
||||
|
||||
/* Detection of stop condition (SPD0) */
|
||||
#define IIC0_STOPDETECTION 0x01
|
||||
#define IIC0_STOP_NOTDETECTED 0x00 /* stop condition not detected */
|
||||
#define IIC0_STOP_DETECTED 0x01 /* stop condition detected */
|
||||
|
||||
/*
|
||||
IIC Flag Register 0 (IICF0)
|
||||
*/
|
||||
/* STT0 clear flag (STCF) */
|
||||
#define IIC0_STARTFLAG 0x80
|
||||
#define IIC0_STARTFLAG_GENERATE 0x00 /* generate start condition */
|
||||
#define IIC0_STARTFLAG_UNSUCCESSFUL 0x80 /* start condition generation unsuccessful */
|
||||
|
||||
/* IIC bus status flag (IICBSY) */
|
||||
#define IIC0_BUSSTATUS 0x40
|
||||
#define IIC0_BUS_RELEASE 0x00 /* bus release status */
|
||||
#define IIC0_BUS_COMMUNICATION 0x40 /* bus communication status */
|
||||
|
||||
/* Initial start enable trigger (STCEN) */
|
||||
#define IIC0_STARTWITHSTOP 0x02
|
||||
#define IIC0_START_WITHSTOP 0x00 /* generation of a start condition without detecting a stop condition */
|
||||
#define IIC0_START_WITHOUTSTOP 0x02 /* generation of a start condition upon detection of a stop condition */
|
||||
|
||||
/* Communication reservation function disable bit (IICRSV) */
|
||||
#define IIC0_RESERVATION 0x01
|
||||
#define IIC0_RESERVATION_ENABLE 0x00 /* enable communication reservation */
|
||||
#define IIC0_RESERVATION_DISABLE 0x01 /* disable communication reservation */
|
||||
|
||||
/*
|
||||
IIC clock selection register 0 (IICCL0)
|
||||
*/
|
||||
#define IICCL0_INITIALVALUE 0x00
|
||||
/* Detection of SCL0 pin level (CLD0) */
|
||||
#define IIC0_SCLLEVEL 0x20
|
||||
#define IIC0_SCL_LOW 0x00 /* clock line at low level */
|
||||
#define IIC0_SCL_HIGH 0x20 /* clock line at high level */
|
||||
|
||||
/* Detection of SDA0 pin level (DAD0) */
|
||||
#define IIC0_SDALEVEL 0x10
|
||||
#define IIC0_SDA_LOW 0x00 /* data line at low level */
|
||||
#define IIC0_SDA_HIGH 0x10 /* data line at high level */
|
||||
|
||||
/* Operation mode switching (SMC0) */
|
||||
#define IIC0_OPERATIONMODE 0x08
|
||||
#define IIC0_MODE_STANDARD 0x00 /* operates in standard mode */
|
||||
#define IIC0_MODE_HIGHSPEED 0x08 /* operates in high-speed mode */
|
||||
|
||||
/* Digital filter operation control (DFC0) */
|
||||
#define IIC0_DIGITALFILTER 0x04
|
||||
#define IIC0_FILTER_OFF 0x00 /* digital filter off */
|
||||
#define IIC0_FILTER_ON 0x04 /* digital filter on */
|
||||
|
||||
/* Operation mode switching (CL01, CL00) */
|
||||
#define IIC0_CLOCKSELECTION 0x03
|
||||
|
||||
/* Combine of (SMC0, CL01, CL00)*/
|
||||
#define IIC0_CLOCK0 0x00
|
||||
#define IIC0_CLOCK1 0x01
|
||||
#define IIC0_CLOCK2 0x02
|
||||
#define IIC0_CLOCK3 0x03
|
||||
#define IIC0_CLOCK4 0x08
|
||||
#define IIC0_CLOCK5 0x09
|
||||
#define IIC0_CLOCK6 0x0a
|
||||
#define IIC0_CLOCK7 0x0b
|
||||
|
||||
/*
|
||||
IIC function expansion register 0 (IICX0)
|
||||
*/
|
||||
/* IIC clock expension (CLX0) */
|
||||
#define IIC0_CLOCKEXPENSION 0x01
|
||||
#define IIC0_EXPENSION0 0x00
|
||||
#define IIC0_EXPENSION1 0x01
|
||||
|
||||
/* Operation clock (CLX0, SMC0, CL01, CL00)
|
||||
| IIC0_EXPENSION0 | IIC0_EXPENSION1 |
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK0 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/88 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK1 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/172 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK2 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/344 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK3 |prohibited/fexscl0 | prohibited | selection clock(fw)
|
||||
| fw/66 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK4 | fprs/2 | fprs/2 | selection clock(fw)
|
||||
| fprs/48 | fprs/24 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK5 | fprs/2 | fprs/2 | selection clock(fw)
|
||||
| fprs/48 | fprs/24 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK6 | fprs/4 | fprs/4 | selection clock(fw)
|
||||
| fprs/96 | fprs/48 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK7 |prohibited/fexscl0 | prohibited | selection clock(fw)
|
||||
| fw/18 | | transfer clock
|
||||
| high speed | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
*/
|
||||
|
||||
#define ADDRESS_COMPLETE 0x80
|
||||
#define IIC_MASTER_FLAG_CLEAR 0x00
|
||||
|
||||
/******************************************************************************
|
||||
* Macro define
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
* Function define
|
||||
******************************************************************************/
|
||||
|
||||
void IIC_ctr_Init( void );
|
||||
void IIC_ctr_Stop( void );
|
||||
|
||||
|
||||
#endif
|
@ -1,652 +0,0 @@
|
||||
/* ========================================================
|
||||
簡易I2C(内蔵ペリフェラル使用)通信
|
||||
de JHL 藤田@開技
|
||||
'09 Feb -
|
||||
======================================================== */
|
||||
#pragma sfr
|
||||
#pragma di
|
||||
#pragma ei
|
||||
#pragma nop
|
||||
#pragma inline // memcpy()をインライン展開する(の方が小さい!)
|
||||
|
||||
#include "incs_loader.h"
|
||||
#include "i2c_mcu.h"
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// レジスタのビット名
|
||||
// プリフィックスbだが、一部のビット名がレジスタ名にかぶるため...
|
||||
// SMR0n
|
||||
#define bCKS0 ( 1 << 15 )
|
||||
#define bCCS0 ( 1 << 14 )
|
||||
#define bSTS0 ( 1 << 8 )
|
||||
#define bSIS0 ( 1 << 6 )
|
||||
#define bMD0n2 ( 1 << 2 )
|
||||
#define bMD0n1 ( 1 << 1 )
|
||||
#define bMD0n0 ( 1 << 0 )
|
||||
#define bSMR0n_FIXEDBIT ( 1 << 5 )
|
||||
|
||||
// SSR0n
|
||||
#define bit_TSF0 6
|
||||
#define PEF0 ( 1 << 1 )
|
||||
|
||||
// SIR0n
|
||||
#define PECT0 ( 1 << 1 )
|
||||
|
||||
// SCR0n
|
||||
#define TXE0 ( 1 << 15 )
|
||||
#define RXE0 ( 1 << 14 )
|
||||
#define SLC02 4
|
||||
#define DLS02 0
|
||||
#define TSF0 ( 1 << 6 )
|
||||
|
||||
// SOn
|
||||
#define TAUS_MASK 0b0000101100001011;
|
||||
|
||||
// DMCn
|
||||
#define DRS ( 1 << 6 )
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void iic_mcu_send_st( );
|
||||
static void iic_mcu_send_re_st( );
|
||||
static void iic_mcu_send_sp( );
|
||||
static err iic_mcu_send_a_byte( u8 );
|
||||
static err iic_mcu_call_slave( u8 slave );
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
bit iic_mcu_wo_dma;
|
||||
volatile bit iic_mcu_busy;
|
||||
volatile bit iic_mcu_initialized;
|
||||
|
||||
|
||||
u8 iic_send_work[4];
|
||||
u8 *p_iic_send_wo_dma_dat;
|
||||
u8 iic_send_wo_dma_len;
|
||||
|
||||
u8 iic_mcu_result; // 一文字リードの時はデータを返す。
|
||||
// ステータスが必要ならこっちを呼んで
|
||||
|
||||
#ifdef i2c_timeout_test
|
||||
extern bit i2c_mcu_time_out_error;
|
||||
#endif
|
||||
|
||||
// ========================================================
|
||||
void nop8()
|
||||
{
|
||||
// 実は nop11 位なのだが
|
||||
}
|
||||
|
||||
|
||||
static err iic_mcu_wait_free()
|
||||
{
|
||||
u16 tot = 0;
|
||||
|
||||
iic_mcu_start( );
|
||||
while( 1 )
|
||||
{
|
||||
DI();
|
||||
if( !iic_mcu_busy )
|
||||
{
|
||||
iic_mcu_busy = true;
|
||||
break;
|
||||
}
|
||||
EI();
|
||||
if( ++tot == 0 )
|
||||
{
|
||||
#ifdef i2c_timeout_test
|
||||
i2c_mcu_time_out_error = true;
|
||||
#endif
|
||||
return( ERR_ERR );
|
||||
}
|
||||
}
|
||||
EI();
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブからの 『1文字』 リード
|
||||
返値がデータそのものです。
|
||||
======================================================== */
|
||||
u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs )
|
||||
{
|
||||
u8 dat;
|
||||
|
||||
#if 1
|
||||
// ラッパー
|
||||
if( iic_mcu_read( SLA, adrs, 1, &dat ) == ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_result = ERR_OK;
|
||||
}
|
||||
else
|
||||
{
|
||||
iic_mcu_result = ERR_NOSLAVE;
|
||||
}
|
||||
return ( dat );
|
||||
|
||||
#else
|
||||
iic_mcu_wait_free();
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
|
||||
if( iic_mcu_call_slave( SLA ) != 0 )
|
||||
{
|
||||
iic_mcu_result = ERR_NOSLAVE;
|
||||
iic_mcu_busy = false;
|
||||
return ( 0 );
|
||||
}
|
||||
|
||||
// レジスタアドレスの送信
|
||||
iic_mcu_send_a_byte( adrs ); // 終わるまで帰ってこない
|
||||
// if( err != ERR_SUCCESS )~
|
||||
|
||||
// データ受信 //
|
||||
iic_mcu_send_re_st( ); // リスタートコンディション
|
||||
iic_mcu_send_a_byte( SLA | 0x01 ); // 送信完了まで戻ってきません。
|
||||
|
||||
ST0 = 0x0004; // 受信モードに設定を変えるのでロジック停止
|
||||
SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // 受信設定
|
||||
SS0 = 0x0004; // 通信待機
|
||||
|
||||
SOE0 = 0x0000; // 1バイト送信なので、最後のNAKを送る
|
||||
IICIF10 = 0;
|
||||
SIO10 = 0xFF; // ダミーデータを書くと受信開始
|
||||
|
||||
while( IICIF10 == 0 )
|
||||
{ // 受信完了待ち
|
||||
;
|
||||
}
|
||||
dat = SIO10;
|
||||
|
||||
iic_mcu_send_sp( );
|
||||
IICIF10 = 0; // 後を濁さないこと
|
||||
iic_mcu_busy = false;
|
||||
return ( dat );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブからのリード
|
||||
0 正常終了
|
||||
1 スレーブが応答しない
|
||||
2 バスが誰かに占有されていてタイムアウト
|
||||
3 意味不明エラー
|
||||
【注】
|
||||
スレーブがウェイトコンディションを出すことは禁止です。
|
||||
その場合でもエラー検出などできません
|
||||
======================================================== */
|
||||
err iic_mcu_read( u8 slave, u8 adrs, u8 len, u8 * dest )
|
||||
{
|
||||
|
||||
#if 1
|
||||
if( iic_mcu_wait_free() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
#else
|
||||
// 使用中なら帰る
|
||||
#endif
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し、レジスタアドレスの送信
|
||||
if( iic_mcu_call_slave( slave ) != 0 )
|
||||
{
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_NOSLAVE );
|
||||
}
|
||||
|
||||
// レジスタアドレスの送信
|
||||
iic_mcu_send_a_byte( adrs ); // 終わるまで帰ってこない
|
||||
// if( err != ERR_SUCCESS )~
|
||||
|
||||
// データ受信 //
|
||||
iic_mcu_send_re_st( ); // リスタートコンディション
|
||||
iic_mcu_send_a_byte( slave | 0x01 ); // 送信完了まで戻ってきません。
|
||||
|
||||
// データ受信
|
||||
ST0 = 0x0004; // 受信モードに設定を変えるのでロジック停止
|
||||
SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // 受信設定
|
||||
SS0 = 0x0004; // 通信待機
|
||||
|
||||
do
|
||||
{
|
||||
if( len == 1 )
|
||||
{
|
||||
SOE0 = 0x0000; // 最後のNAK
|
||||
}
|
||||
IICIF10 = 0;
|
||||
SIO10 = 0xFF; // ダミーデータを書くと受信開始
|
||||
while( IICIF10 == 0 )
|
||||
{;} // 受信完了待ち
|
||||
|
||||
*dest = SIO10;
|
||||
dest++;
|
||||
len--;
|
||||
}
|
||||
while( len != 0 );
|
||||
|
||||
iic_mcu_send_sp( );
|
||||
|
||||
IICIF10 = 0;
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブへ 『1バイト』 ライト
|
||||
前の転送が終わるのを待って、ライトします。
|
||||
返値 iic_mcu_write に同じ
|
||||
======================================================== */
|
||||
err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat )
|
||||
{
|
||||
|
||||
#if 0
|
||||
static u8 temp; // 書きっぱなしで終了を見ずに関数を抜ける(可能性が高い)のでstatic
|
||||
|
||||
// これをしないと、立て続けに書いたときに前のデータを破壊してしまう
|
||||
while( iic_mcu_busy )
|
||||
{
|
||||
NOP( );
|
||||
}
|
||||
|
||||
temp = dat;
|
||||
iic_mcu_wo_dma = true;
|
||||
return ( iic_mcu_write( SLA, adrs, 1, &temp ) );
|
||||
#else
|
||||
// 1文字の時はDMAとか起動しないでさっさと終わらせる
|
||||
if( iic_mcu_wait_free() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し...
|
||||
IICMK10 = 1;
|
||||
if( iic_mcu_call_slave( SLA ) != ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_NOSLAVE );
|
||||
}
|
||||
iic_mcu_send_a_byte( adrs );
|
||||
iic_mcu_send_a_byte( dat );
|
||||
iic_mcu_send_sp( );
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_SUCCESS );
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブへライト
|
||||
レジスタ adrs を先頭に、
|
||||
*strから
|
||||
len文字書きます。
|
||||
|
||||
0 正常終了
|
||||
1 スレーブが応答しない
|
||||
2 バスが誰かに占有されていてタイムアウト
|
||||
3 前に指示された通信がまだ終わってない
|
||||
【注】
|
||||
スレーブがウェイトコンディションを出すことは禁止です。
|
||||
その場合でもエラー検出などできません
|
||||
DMA1を使用します。
|
||||
******************************************************************************/
|
||||
err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src )
|
||||
{
|
||||
if( iic_mcu_wait_free() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
#if 0
|
||||
// 使用中なら帰る
|
||||
#endif
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し...
|
||||
IICMK10 = 1;
|
||||
IICIF10 = 0;
|
||||
if( iic_mcu_call_slave( slave ) != ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_NOSLAVE );
|
||||
}
|
||||
|
||||
IICIF10 = 0;
|
||||
if( !iic_mcu_wo_dma )
|
||||
{
|
||||
// DMAを使用する(通常)
|
||||
|
||||
// レジスタアドレスを送り、データの準備
|
||||
memcpy( iic_send_work, src, 4 ); //バッファとして4バイトしか用意して無いため。
|
||||
// DMAセット
|
||||
while( DST1 )
|
||||
{;}
|
||||
|
||||
DEN1 = 1;
|
||||
DSA1 = (u8)( &SIO10 );
|
||||
DRA1 = (u16)( &iic_send_work[0] );
|
||||
DBC1 = len;
|
||||
DMC1 = DRS | 8; // RAM -> SFR, 8bit, IRQ, IIC10
|
||||
|
||||
DMAIF1 = 0;
|
||||
DMAMK1 = 0;
|
||||
DST1 = 1;
|
||||
|
||||
SIO10 = adrs; // 書きっぱなし! 割り込みが発生してDMAスタート
|
||||
// 残りは割り込みルーチン内で
|
||||
}
|
||||
else
|
||||
{
|
||||
// DMAを使用しない //
|
||||
|
||||
// レジスタアドレスの送信
|
||||
IICMK10 = 0;
|
||||
SIO10 = adrs;
|
||||
|
||||
iic_send_wo_dma_len = len;
|
||||
p_iic_send_wo_dma_dat = src;
|
||||
// 残りは割り込みルーチン内で
|
||||
}
|
||||
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
DMA1転送終了割り込み
|
||||
IIC_mcu の送信完了コールバック関数のようなもの
|
||||
注:DMA転送が終わっただけで、I2Cの転送は終わってません
|
||||
割り込み中などで、DMA1の処理が遅延した場合、
|
||||
IIC10の割り込みの準備ができずに、割り込みを発生させられなくなる
|
||||
恐れがあります。また、回避方法も特にありません。
|
||||
そのため、DMA仕様の差異は、最後のバイトは送信完了を
|
||||
フラグのポーリングで確認します。
|
||||
======================================================== */
|
||||
__interrupt void int_dma1( )
|
||||
{
|
||||
u16 i = 0;
|
||||
|
||||
EI();
|
||||
|
||||
DMAMK1 = 1;
|
||||
DEN1 = 0;
|
||||
while( ( SSR02L & TSF0 ) != 0 )
|
||||
{
|
||||
if( ++i == 0 ) // タイムアウト?
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// iic_mcu_send_sp(); // ISR中で外の関数を呼ぶのは都合が悪いので展開
|
||||
{
|
||||
ST0 = 0x0004;
|
||||
SOE0 = 0; // 受信の時はもっと前に「も」設定してる。(NACK出力)
|
||||
SO0 = 0x0000 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0400 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0404 | TAUS_MASK;
|
||||
}
|
||||
IICMK10 = 1;
|
||||
iic_mcu_busy = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
IIC MCUのバイト送出完了割り込み
|
||||
※DMA使用時は使用されません。
|
||||
他の割り込み処理中でDMAの割り込みにすぐ飛ばない場合、
|
||||
IIC割り込みのセットが間に合わず困ることがあります。
|
||||
======================================================== */
|
||||
__interrupt void int_iic10( )
|
||||
{
|
||||
EI();
|
||||
if( iic_send_wo_dma_len != 0 )
|
||||
{
|
||||
SIO10 = *p_iic_send_wo_dma_dat;
|
||||
p_iic_send_wo_dma_dat++;
|
||||
iic_send_wo_dma_len--;
|
||||
return;
|
||||
}
|
||||
|
||||
// 最後のバイト送信完了
|
||||
IICMK10 = 1;
|
||||
// iic_mcu_send_sp(); // ISR中で外の関数を呼ぶのは都合が悪いので展開
|
||||
{
|
||||
ST0 = 0x0004;
|
||||
SOE0 = 0; // 受信の時はもっと前に「も」設定してる。(NACK出力)
|
||||
SO0 = 0x0000 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0400 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0404 | TAUS_MASK;
|
||||
}
|
||||
iic_mcu_wo_dma = false;
|
||||
iic_mcu_busy = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スレーブの呼び出し
|
||||
スレーブアドレスを呼んで、ACKの確認。
|
||||
ACK → 返:0
|
||||
NACK → ストップコンディションを出す。 返:1
|
||||
======================================================== */
|
||||
static err iic_mcu_call_slave( u8 slave )
|
||||
{
|
||||
iic_mcu_send_st( );
|
||||
|
||||
// SIR02 = SSR02; // NAKエラーのフラグクリア
|
||||
if( iic_mcu_send_a_byte( slave ) != ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_send_sp( );
|
||||
return ( ERR_NAK ); // 指定のスレーブがいない / busy
|
||||
}
|
||||
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ほんとに1バイト書くのみ
|
||||
書き終わるまで帰りません
|
||||
======================================================== */
|
||||
static err iic_mcu_send_a_byte( u8 dat )
|
||||
{
|
||||
IICMK10 = 1;
|
||||
IICIF10 = 0;
|
||||
SIO10 = dat;
|
||||
while( IICIF10 == 0 )
|
||||
{
|
||||
// NOP( );
|
||||
} // 通信中
|
||||
if( SSR02 != 0 )
|
||||
{
|
||||
SIR02 = SSR02;
|
||||
return ( ERR_NAK );
|
||||
}
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スタートコンディションを発行
|
||||
ソフトウェア制御
|
||||
======================================================== */
|
||||
static void iic_mcu_send_st( )
|
||||
{
|
||||
SO0 &= ~0x0004; // SDA
|
||||
nop8();
|
||||
|
||||
SO0 &= ~0x0400; // SCL
|
||||
SOE0 = 0x0004; // ハード制御へ
|
||||
|
||||
SCR02 = TXE0 | 1 << SLC02 | 7 << DLS02; // 送信許可、データは8ビット単位
|
||||
SS0 = 0x0004; // 通信待機
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
リスタート発行
|
||||
======================================================== */
|
||||
static void iic_mcu_send_re_st( )
|
||||
{
|
||||
ST0 |= 0x0004;
|
||||
SO0 |= 0x0400 | TAUS_MASK; // ( SDA = H ), SCL -> H
|
||||
nop8();
|
||||
|
||||
SOE0 &= ~0x0004; // ( SCL = H ), SDA -> L
|
||||
nop8();
|
||||
|
||||
iic_mcu_send_st( );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ストップコンディション発行
|
||||
この前に、「最後のバイトの送受信」の時に前準備が必要です。
|
||||
======================================================== */
|
||||
static void iic_mcu_send_sp( )
|
||||
{
|
||||
ST0 = 0x0004;
|
||||
SOE0 = 0; // 受信の時はもっと前に「も」設定してる。(NACK出力)
|
||||
SO0 = 0x0000 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0400 | TAUS_MASK; // SCL
|
||||
nop8();
|
||||
|
||||
SO0 = 0x0404 | TAUS_MASK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ペリフェラルモジュールの初期化
|
||||
======================================================== */
|
||||
void iic_mcu_start( )
|
||||
{
|
||||
if( iic_mcu_initialized )
|
||||
{
|
||||
return;
|
||||
}
|
||||
iic_mcu_busy = true;
|
||||
DST1 = 0;
|
||||
NOP( ); // 2clkもしくは、DSTn==0をポーリング
|
||||
NOP( );
|
||||
DEN1 = 0;
|
||||
|
||||
I2C_PU_on();
|
||||
wait_ms( 10 ); // 立ち上がるのに50us位かかる
|
||||
|
||||
SAU0EN = 1;
|
||||
nop8();
|
||||
|
||||
SPS0 = 0x0000; // シリアルユニットのクロック0。(8M/2)/1
|
||||
SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // 簡易I2Cに設定
|
||||
SDR02 = 10 << 9; // ボーレート設定 8M/1/(x+1)/2
|
||||
|
||||
SO0 = 0x0404 | TAUS_MASK; // 最初はHH
|
||||
iic_mcu_wo_dma = false;
|
||||
|
||||
|
||||
// バスのリセット
|
||||
IICIF10 = 0;
|
||||
IICMK10 = 1;
|
||||
|
||||
iic_mcu_send_st();
|
||||
|
||||
SIO10 = 0xFF;
|
||||
while( IICIF10 == 0 ){;} // 通信中
|
||||
iic_mcu_send_sp();
|
||||
|
||||
SIR02 = SSR02;
|
||||
|
||||
iic_mcu_busy = false;
|
||||
iic_mcu_initialized = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
モジュールの停止
|
||||
再度使うときは初期化が必要
|
||||
======================================================== */
|
||||
void iic_mcu_stop( )
|
||||
{
|
||||
while( iic_mcu_busy )
|
||||
{;} // DMA動作中はもう少し待つ
|
||||
iic_mcu_send_re_st( ); // SCL,SDAをLLにする
|
||||
I2C_PU_off();
|
||||
SAU0EN = 0;
|
||||
iic_mcu_initialized = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
コーデックに 『1バイト』 ライト
|
||||
iic_mcu_write_a_byte CODEC不具合ワークアラウンド
|
||||
======================================================== */
|
||||
err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat )
|
||||
{
|
||||
static u8 count;
|
||||
|
||||
// 1文字の時はDMAとか起動しないでさっさと終わらせる
|
||||
if( iic_mcu_wait_free() != ERR_SUCCESS )
|
||||
{
|
||||
return( ERR_ERR );
|
||||
}
|
||||
|
||||
// スタートコンディションとスレーブの呼び出し...
|
||||
IICMK10 = 1;
|
||||
if( iic_mcu_call_slave( IIC_SLA_CODEC ) != ERR_SUCCESS )
|
||||
{
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_NOSLAVE );
|
||||
}
|
||||
iic_mcu_send_a_byte( adrs );
|
||||
iic_mcu_send_a_byte( dat );
|
||||
|
||||
// ワークアラウンドここから
|
||||
/// リスタートにしてダミーライト
|
||||
iic_mcu_send_re_st( );
|
||||
iic_mcu_send_a_byte( IIC_SLA_CODEC ); // ダミーライト
|
||||
iic_mcu_send_a_byte( 0x20 );
|
||||
iic_mcu_send_a_byte( count );
|
||||
|
||||
count++;
|
||||
|
||||
iic_mcu_send_sp( );
|
||||
iic_mcu_busy = false;
|
||||
return ( ERR_SUCCESS );
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
#ifndef __ic2_mcu__
|
||||
#define __ic2_mcu__
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define ERR_OK 0
|
||||
#define ERR_NAK 1
|
||||
#define ERR_NOSLAVE 2
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
extern volatile bit iic_mcu_busy;
|
||||
extern bit iic_mcu_wo_dma;
|
||||
|
||||
extern u8 iic_mcu_result;
|
||||
|
||||
|
||||
// ========================================================
|
||||
err iic_mcu_read( u8 SLA, u8 adrs, u8 len, u8 * dest );
|
||||
u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs );
|
||||
|
||||
err iic_mcu_write( u8 SLA, u8 adrs, u8 len, void * src );
|
||||
err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat );
|
||||
|
||||
err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat );
|
||||
|
||||
|
||||
// ↓その通信が完了したら解除されます。
|
||||
#define iic_mcu_set_wo_dma() { while( iic_mcu_busy ){;} iic_mcu_wo_dma = 1; }
|
||||
|
||||
void iic_mcu_start( );
|
||||
void iic_mcu_stop( );
|
||||
|
||||
|
||||
#endif
|
@ -1,224 +0,0 @@
|
||||
#pragma sfr /* 特殊機能レジスタ使用 */
|
||||
|
||||
|
||||
|
||||
/*============================================================================*/
|
||||
|
||||
#include "config.h"
|
||||
#ifdef _MCU_KE3_
|
||||
#else
|
||||
#pragma interrupt INTIICA0 int_iic_twl RB2
|
||||
#endif
|
||||
|
||||
#include "incs.h"
|
||||
#include "i2c_twl_defs.h"
|
||||
#include "i2c_twl.h"
|
||||
|
||||
extern u8 vreg_twl[];
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
//#ifdef _MODEL_TS0_ || _MODEL_WM0_
|
||||
|
||||
// ワーキングモデルはI2Cが逆
|
||||
#define ACKD ACKD0
|
||||
#define ACKE ACKE0
|
||||
#define COI COI0
|
||||
#define IICAEN IICA0EN
|
||||
#define IICRSV IICRSV0
|
||||
#define IICA IICA0
|
||||
#define IICAIF IICAIF0
|
||||
#define IICAMK IICAMK0
|
||||
#define IICAPR0 IICAPR00
|
||||
#define IICAPR1 IICAPR10
|
||||
#define IICCTL0 IICCTL00
|
||||
#define IICE IICE0
|
||||
#define IICF IICF0
|
||||
#define IICS IICS0
|
||||
#define IICWH IICWH0
|
||||
#define IICWL IICWL0
|
||||
#define LREL LREL0
|
||||
#define SPD SPD0
|
||||
#define SPIE SPIE0
|
||||
#define STCEN STCEN0
|
||||
#define STD STD0
|
||||
#define SVA SVA0
|
||||
#define WREL WREL0
|
||||
#define WTIM WTIM0
|
||||
#define SMC SMC0
|
||||
#define TRC TRC0
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef _MCU_BSR_
|
||||
|
||||
// ke3の時はダミー関数
|
||||
void IIC_twl_Stop( void )
|
||||
{
|
||||
}
|
||||
void IIC_twl_Init( void )
|
||||
{
|
||||
}
|
||||
#else
|
||||
|
||||
|
||||
|
||||
enum IIC_TWL_STATE{
|
||||
WAIT_ADRS = 0,
|
||||
WAIT_DATA,
|
||||
DATA_READED
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
/*============================================================================*/
|
||||
|
||||
// 注! ↓はマクロなので、returnはメインループに戻ります。
|
||||
#define wait_next { \
|
||||
tot = 0; \
|
||||
while( IICAIF != 1 ){ \
|
||||
tot++; \
|
||||
if( tot == 0 ){ \
|
||||
LREL = 1; \
|
||||
return; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
__interrupt void int_iic_twl( )
|
||||
{
|
||||
u8 vreg_adrs;
|
||||
u8 pre_dat;
|
||||
u8 rcvd;
|
||||
u16 tot;
|
||||
u8 state;
|
||||
|
||||
// ①
|
||||
WREL = 1; // ウェイト解除して次のバイトを待つ
|
||||
WDT_Restart();
|
||||
state = WAIT_ADRS;
|
||||
|
||||
while( 1 )
|
||||
{
|
||||
u8 my_iics;
|
||||
|
||||
wait_next; // 1バイト受信完了を待つ
|
||||
|
||||
my_iics = IICS;
|
||||
IICAIF = 0;
|
||||
|
||||
if( my_iics & 0x02 ) // ( STD && !SPD )
|
||||
{
|
||||
// スタートコンディションがきた
|
||||
if( ( my_iics & 0x08 ) == 0 ) // ( TRC ) 送信方向フラグ 0:マイコンが受信
|
||||
{
|
||||
// ①’マイコンが応答できず、TWLがリトライしたときとか
|
||||
// ここに来るのはスレーブ呼び出しの時 //
|
||||
WREL = 1;
|
||||
state = WAIT_ADRS;
|
||||
/// レジスタアドレスが書かれるのを待つ
|
||||
}
|
||||
else
|
||||
{
|
||||
// ③R Rでのスレーブ呼び出し(リスタートコンディション) //
|
||||
IICA = vreg_twl_read( vreg_adrs ); // データ送信
|
||||
// ストップ待ち後、LREL = 1 にしないと、送信バッファが破壊されることがある
|
||||
state = DATA_READED;
|
||||
}
|
||||
}
|
||||
else if( ( my_iics & 0x03 ) == 0 ) // ( !STD && !SPD )
|
||||
{
|
||||
// 何らか受信
|
||||
rcvd = IICA;
|
||||
WREL = 1;
|
||||
|
||||
if( state == WAIT_ADRS )
|
||||
{
|
||||
// ②
|
||||
vreg_adrs = adrs_table_twl_ext2int( rcvd );
|
||||
/// データが書かれるか、リスタートで読み出されるのを待つ
|
||||
state = WAIT_DATA;
|
||||
}
|
||||
else if( state == DATA_READED )
|
||||
{
|
||||
// データ1バイト送信後発生する
|
||||
LREL = 1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// ③W
|
||||
// データ書き込まれ
|
||||
SVA = 0x5A;
|
||||
LREL = 1; // スタートコンディション待ちへ(連続書き込み未対応のため)
|
||||
vreg_twl_write( vreg_adrs, rcvd );
|
||||
SVA = IIC_T_SLAVEADDRESS;
|
||||
return; // 受信おしまい //
|
||||
}
|
||||
}
|
||||
else if( my_iics & 0x01 ) // SPD
|
||||
{
|
||||
// 終了
|
||||
LREL = 1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
// NOP();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************/
|
||||
void IIC_twl_Init( void )
|
||||
{
|
||||
|
||||
IICAEN = 1;
|
||||
|
||||
IICE = 0; /* IICA disable */
|
||||
|
||||
IICAMK = 1; /* INTIICA disable */
|
||||
IICAIF = 0; /* clear INTIICA interrupt flag */
|
||||
|
||||
IICAPR0 = 0; /* set INTIICA high priority */
|
||||
IICAPR1 = 0; /* set INTIICA high priority */
|
||||
P20 &= ~0x3;
|
||||
|
||||
SVA = IIC_T_SLAVEADDRESS;
|
||||
IICF = 0x01;
|
||||
|
||||
STCEN = 1; // リスタートの許可
|
||||
IICRSV = 1; // 通信予約をさせない:スレーブに徹する
|
||||
|
||||
SPIE = 0; // ストップコンディションでの割り込みを禁止
|
||||
WTIM = 1; // 自動でACKを返した後clkをLに固定する
|
||||
ACKE = 1; // ダメCPUは無視して次の通信をはじめるかもしれないんで早くclkを開放しないといけない
|
||||
|
||||
IICWH = 5;
|
||||
IICWL = 10; // L期間の長さ(?)
|
||||
|
||||
SMC = 1;
|
||||
|
||||
IICAMK = 0; // 割り込みを許可
|
||||
|
||||
IICE = 1;
|
||||
|
||||
PM20 &= ~0x3; /* set clock pin for IICA */
|
||||
|
||||
LREL = 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//****************************************************************************
|
||||
void IIC_twl_Stop( void )
|
||||
{
|
||||
IICE = 0; /* IICA disable */
|
||||
IICAEN = 0;
|
||||
}
|
||||
|
||||
|
||||
#endif
|
@ -1,7 +0,0 @@
|
||||
#ifndef _iic_twl_
|
||||
#define _iic_twl_
|
||||
|
||||
void IIC_twl_Init( void );
|
||||
void IIC_twl_Stop( void );
|
||||
|
||||
#endif
|
@ -1,196 +0,0 @@
|
||||
#ifndef _MDSERIAL_
|
||||
#define _MDSERIAL_
|
||||
|
||||
|
||||
/* IIC operation enable (IICE0) */
|
||||
#define IIC0_OPERATION 0x80
|
||||
#define IIC0_OPERATION_DISABLE 0x00 /* stop operation */
|
||||
#define IIC0_OPERATION_ENABLE 0x80 /* enable operation */
|
||||
|
||||
/* Exit from communications (LREL0) */
|
||||
#define IIC0_COMMUNICATION 0x40
|
||||
#define IIC0_COMMUNICATION_NORMAL 0x00 /* normal operation */
|
||||
#define IIC0_COMMUNICATION_EXIT 0x40 /* exit from current communication */
|
||||
|
||||
/* Wait cancellation (WREL0) */
|
||||
#define IIC0_WAITCANCEL 0x20
|
||||
#define IIC0_WAIT_NOTCANCEL 0x00 /* do not cancel wait */
|
||||
#define IIC0_WAIT_CANCEL 0x20 /* cancel wait */
|
||||
|
||||
/* Generation of interrupt when stop condition (SPIE0) */
|
||||
#define IIC0_STOPINT 0x10
|
||||
#define IIC0_STOPINT_DISABLE 0x00 /* disable */
|
||||
#define IIC0_STOPINT_ENABLE 0x10 /* enable */
|
||||
|
||||
/* Wait and interrupt generation (WTIM0) */
|
||||
#define IIC0_WAITINT 0x08
|
||||
#define IIC0_WAITINT_CLK8FALLING 0x00 /* generate at the eighth clocks falling edge */
|
||||
#define IIC0_WAITINT_CLK9FALLING 0x08 /* generated at the ninth clocks falling edge */
|
||||
|
||||
/* Acknowledgement control (ACKE0) */
|
||||
#define IIC0_ACK 0x04
|
||||
#define IIC0_ACK_DISABLE 0x00 /* enable acknowledgement */
|
||||
#define IIC0_ACK_ENABLE 0x04 /* disable acknowledgement */
|
||||
|
||||
/* Start condition trigger (STT0) */
|
||||
#define IIC0_STARTCONDITION 0x02
|
||||
#define IIC0_START_NOTGENERATE 0x00 /* do not generate start condition */
|
||||
#define IIC0_START_GENERATE 0x02 /* generate start condition */
|
||||
|
||||
/* Stop condition trigger (SPT0) */
|
||||
#define IIC0_STOPCONDITION 0x01
|
||||
#define IIC0_STOP_NOTGENERATE 0x00 /* do not generate stop condition */
|
||||
#define IIC0_STOP_GENERATE 0x01 /* generate stop condition */
|
||||
|
||||
/*
|
||||
IIC Status Register 0 (IICS0)
|
||||
*/
|
||||
/* Master device status (MSTS0) */
|
||||
#define IIC0_MASTERSTATUS 0x80
|
||||
#define IIC0_STATUS_NOTMASTER 0x00 /* slave device status or communication standby status */
|
||||
#define IIC0_STATUS_MASTER 0x80 /* master device communication status */
|
||||
|
||||
/* Detection of arbitration loss (ALD0) */
|
||||
#define IIC0_ARBITRATION 0x40
|
||||
#define IIC0_ARBITRATION_NO 0x00 /* arbitration win or no arbitration */
|
||||
#define IIC0_ARBITRATION_LOSS 0x40 /* arbitration loss */
|
||||
|
||||
/* Detection of extension code reception (EXC0) */
|
||||
#define IIC0_EXTENSIONCODE 0x20
|
||||
#define IIC0_EXTCODE_NOT 0x00 /* extension code not received */
|
||||
#define IIC0_EXTCODE_RECEIVED 0x20 /* extension code received */
|
||||
|
||||
/* Detection of matching addresses (COI0) */
|
||||
#define IIC0_ADDRESSMATCH 0x10
|
||||
#define IIC0_ADDRESS_NOTMATCH 0x00 /* addresses do not match */
|
||||
#define IIC0_ADDRESS_MATCH 0x10 /* addresses match */
|
||||
|
||||
/* Detection of transmit/receive status (TRC0) */
|
||||
#define IIC0_STATUS 0x08
|
||||
#define IIC0_STATUS_RECEIVE 0x00 /* receive status */
|
||||
#define IIC0_STATUS_TRANSMIT 0x08 /* transmit status */
|
||||
|
||||
/* Detection of acknowledge signal (ACKD0) */
|
||||
#define IIC0_ACKDETECTION 0x04
|
||||
#define IIC0_ACK_NOTDETECTED 0x00 /* ACK signal was not detected */
|
||||
#define IIC0_ACK_DETECTED 0x04 /* ACK signal was detected */
|
||||
|
||||
/* Detection of start condition (STD0) */
|
||||
#define IIC0_STARTDETECTION 0x02
|
||||
#define IIC0_START_NOTDETECTED 0x00 /* start condition not detected */
|
||||
#define IIC0_START_DETECTED 0x02 /* start condition detected */
|
||||
|
||||
/* Detection of stop condition (SPD0) */
|
||||
#define IIC0_STOPDETECTION 0x01
|
||||
#define IIC0_STOP_NOTDETECTED 0x00 /* stop condition not detected */
|
||||
#define IIC0_STOP_DETECTED 0x01 /* stop condition detected */
|
||||
|
||||
/*
|
||||
IIC Flag Register 0 (IICF0)
|
||||
*/
|
||||
/* STT0 clear flag (STCF) */
|
||||
#define IIC0_STARTFLAG 0x80
|
||||
#define IIC0_STARTFLAG_GENERATE 0x00 /* generate start condition */
|
||||
#define IIC0_STARTFLAG_UNSUCCESSFUL 0x80 /* start condition generation unsuccessful */
|
||||
|
||||
/* IIC bus status flag (IICBSY) */
|
||||
#define IIC0_BUSSTATUS 0x40
|
||||
#define IIC0_BUS_RELEASE 0x00 /* bus release status */
|
||||
#define IIC0_BUS_COMMUNICATION 0x40 /* bus communication status */
|
||||
|
||||
/* Initial start enable trigger (STCEN) */
|
||||
#define IIC0_STARTWITHSTOP 0x02
|
||||
#define IIC0_START_WITHSTOP 0x00 /* generation of a start condition without detecting a stop condition */
|
||||
#define IIC0_START_WITHOUTSTOP 0x02 /* generation of a start condition upon detection of a stop condition */
|
||||
|
||||
/* Communication reservation function disable bit (IICRSV) */
|
||||
#define IIC0_RESERVATION 0x01
|
||||
#define IIC0_RESERVATION_ENABLE 0x00 /* enable communication reservation */
|
||||
#define IIC0_RESERVATION_DISABLE 0x01 /* disable communication reservation */
|
||||
|
||||
/*
|
||||
IIC clock selection register 0 (IICCL0)
|
||||
*/
|
||||
#define IICCL0_INITIALVALUE 0x00
|
||||
/* Detection of SCL0 pin level (CLD0) */
|
||||
#define IIC0_SCLLEVEL 0x20
|
||||
#define IIC0_SCL_LOW 0x00 /* clock line at low level */
|
||||
#define IIC0_SCL_HIGH 0x20 /* clock line at high level */
|
||||
|
||||
/* Detection of SDA0 pin level (DAD0) */
|
||||
#define IIC0_SDALEVEL 0x10
|
||||
#define IIC0_SDA_LOW 0x00 /* data line at low level */
|
||||
#define IIC0_SDA_HIGH 0x10 /* data line at high level */
|
||||
|
||||
/* Operation mode switching (SMC0) */
|
||||
#define IIC0_OPERATIONMODE 0x08
|
||||
#define IIC0_MODE_STANDARD 0x00 /* operates in standard mode */
|
||||
#define IIC0_MODE_HIGHSPEED 0x08 /* operates in high-speed mode */
|
||||
|
||||
/* Digital filter operation control (DFC0) */
|
||||
#define IIC0_DIGITALFILTER 0x04
|
||||
#define IIC0_FILTER_OFF 0x00 /* digital filter off */
|
||||
#define IIC0_FILTER_ON 0x04 /* digital filter on */
|
||||
|
||||
/* Operation mode switching (CL01, CL00) */
|
||||
#define IIC0_CLOCKSELECTION 0x03
|
||||
|
||||
/* Combine of (SMC0, CL01, CL00)*/
|
||||
#define IIC0_CLOCK0 0x00
|
||||
#define IIC0_CLOCK1 0x01
|
||||
#define IIC0_CLOCK2 0x02
|
||||
#define IIC0_CLOCK3 0x03
|
||||
#define IIC0_CLOCK4 0x08
|
||||
#define IIC0_CLOCK5 0x09
|
||||
#define IIC0_CLOCK6 0x0a
|
||||
#define IIC0_CLOCK7 0x0b
|
||||
|
||||
/*
|
||||
IIC function expansion register 0 (IICX0)
|
||||
*/
|
||||
/* IIC clock expension (CLX0) */
|
||||
#define IIC0_CLOCKEXPENSION 0x01
|
||||
#define IIC0_EXPENSION0 0x00
|
||||
#define IIC0_EXPENSION1 0x01
|
||||
|
||||
/* Operation clock (CLX0, SMC0, CL01, CL00)
|
||||
| IIC0_EXPENSION0 | IIC0_EXPENSION1 |
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK0 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/88 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK1 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/172 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK2 | fprs/2 | prohibited | selection clock(fw)
|
||||
| fprs/344 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK3 |prohibited/fexscl0 | prohibited | selection clock(fw)
|
||||
| fw/66 | | transfer clock
|
||||
| normal | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK4 | fprs/2 | fprs/2 | selection clock(fw)
|
||||
| fprs/48 | fprs/24 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK5 | fprs/2 | fprs/2 | selection clock(fw)
|
||||
| fprs/48 | fprs/24 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK6 | fprs/4 | fprs/4 | selection clock(fw)
|
||||
| fprs/96 | fprs/48 | transfer clock
|
||||
| high speed | high speed | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
IIC0_CLOCK7 |prohibited/fexscl0 | prohibited | selection clock(fw)
|
||||
| fw/18 | | transfer clock
|
||||
| high speed | | mode
|
||||
------------|-------------------|-------------------|----------------------
|
||||
*/
|
||||
|
||||
#define ADDRESS_COMPLETE 0x80
|
||||
#define IIC_MASTER_FLAG_CLEAR 0x00
|
||||
|
||||
#endif
|
@ -1,45 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma di
|
||||
#pragma ei
|
||||
#pragma nop
|
||||
#pragma stop
|
||||
#pragma halt
|
||||
|
||||
#pragma section @@CODE ROM_CODE
|
||||
//#pragma section @@CNST ROM_CNST
|
||||
|
||||
//=========================================================
|
||||
#ifndef _incs_h_
|
||||
#define _incs_h_
|
||||
|
||||
// ↓ 歩数計で_pc_とで切り替えてます
|
||||
#define _mcu_
|
||||
|
||||
#include "jhl_defs.h"
|
||||
#include "user_define.h"
|
||||
|
||||
#include "bsr_system.h"
|
||||
#include "renge\renge.h"
|
||||
#include "loader.h"
|
||||
|
||||
#include "vreg_ctr.h"
|
||||
#include "vreg_twl.h"
|
||||
|
||||
#include "i2c_mcu.h"
|
||||
#include "i2c_twl.h"
|
||||
|
||||
#include "rtc.h"
|
||||
|
||||
#include "accero.h"
|
||||
|
||||
#include "pm.h"
|
||||
|
||||
#include "sw.h"
|
||||
|
||||
#include "adc.h"
|
||||
|
||||
#include "wdt.h"
|
||||
|
||||
//=========================================================
|
||||
|
||||
#endif
|
@ -1,38 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma di
|
||||
#pragma ei
|
||||
#pragma nop
|
||||
#pragma stop
|
||||
#pragma halt
|
||||
|
||||
|
||||
#pragma section @@CODE LDR_CODE
|
||||
#pragma section @@CODEL LDR_CODL
|
||||
|
||||
//#pragma section @@R_INIT FSL_RINT // これやるとスタートアップルーチンが初期値を
|
||||
//#pragma section @@CNST FSL_CNST // セットしてくれない
|
||||
#pragma section @@CNSTL LDR_CNSL
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
#include "jhl_defs.h"
|
||||
#include "user_define.h"
|
||||
|
||||
#include "bsr_system.h"
|
||||
#include "renge\renge.h"
|
||||
|
||||
#include "vreg_ctr.h"
|
||||
#include "vreg_twl.h"
|
||||
|
||||
#include "loader.h"
|
||||
|
||||
#include "i2c_mcu.h"
|
||||
|
||||
#include "WDT.h"
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
void firm_update( );
|
||||
void firm_restore( );
|
@ -1,382 +0,0 @@
|
||||
#pragma nop
|
||||
|
||||
|
||||
#include "config.h"
|
||||
|
||||
//#pragma interrupt INTWDTI fn_intwdti // 未使用
|
||||
//#pragma interrupt INTLVI fn_intlvi // 未使用
|
||||
|
||||
//#pragma interrupt INTP0 intp0_slp // SLP (CPUより、要求) ポーリング
|
||||
//#pragma interrupt INTP1 fn_intp1 // (I2C)
|
||||
//#pragma interrupt INTP2 fn_intp2 // (I2C)
|
||||
//#pragma interrupt INTP3 fn_intp3 // 未搭載
|
||||
#pragma interrupt INTP4 intp4_extdc // EXTDC, ただし電源offから起こすのみ。通常はポーリング
|
||||
#pragma interrupt INTP5 intp5_shell // SHELL_CLOSE, ただし電源offから起こすのみ。通常はポーリング
|
||||
#pragma interrupt INTP6 intp6_PM_irq // CODEC経由で旧PMICへのコマンド書き込み
|
||||
|
||||
//#ifdef _MCU_BSR_ // 割り込みそのものは使いません
|
||||
//#pragma interrupt INTP21 intp21_RFTx // 電波送信パルス
|
||||
//#else
|
||||
//#pragma interrupt INTP7 intp21_RFTx
|
||||
//#endif
|
||||
|
||||
|
||||
/*
|
||||
|
||||
acceroへ
|
||||
#ifdef _MCU_BSR_
|
||||
#pragma interrupt INTP23 intp23_ACC_ready RB3 // 加速度センサ、データ準備完了
|
||||
#endif
|
||||
*/
|
||||
|
||||
//#pragma interrupt INTCMP0 fn_intcmp0
|
||||
//#pragma interrupt INTCMP1 fn_intcmp1
|
||||
//#pragma interrupt INTDMA0 fn_intdma0
|
||||
#pragma interrupt INTDMA1 int_dma1
|
||||
|
||||
//#pragma interrupt INTST0 fn_intst0
|
||||
/* #pragma interrupt INTCSI00 fn_intcsi00 */
|
||||
//#pragma interrupt INTSR0 fn_intsr0
|
||||
/* #pragma interrupt INTCSI01 fn_intcsi01 */
|
||||
//#pragma interrupt INTSRE0 fn_intsre0
|
||||
|
||||
//#pragma interrupt INTST1 fn_intst1
|
||||
/* #pragma interrupt INTCSI10 fn_intcsi10 */
|
||||
#pragma interrupt INTIIC10 int_iic10
|
||||
//#pragma interrupt INTSR1 fn_intsr1
|
||||
//#pragma interrupt INTSRE1 fn_intsre1
|
||||
|
||||
|
||||
/*
|
||||
それぞれの .c へ
|
||||
#ifdef _MCU_KE3_
|
||||
#pragma interrupt INTIICA int_iic_ctr RB1 // CTR側
|
||||
#else
|
||||
// TSはマザボでテレコ、WMは回路図がテレコで結局一致…
|
||||
#pragma interrupt INTIICA1 int_iic_ctr RB1
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef _MCU_KE3_
|
||||
#else
|
||||
#pragma interrupt INTIICA0 int_iic_twl RB2
|
||||
#endif
|
||||
*/
|
||||
|
||||
//#pragma interrupt INTTM00 fn_inttm00
|
||||
//#pragma interrupt INTTM01 fn_inttm01
|
||||
//#pragma interrupt INTTM02 fn_inttm02
|
||||
//#pragma interrupt INTTM03 fn_inttm03
|
||||
|
||||
#pragma interrupt INTAD int_adc
|
||||
#pragma interrupt INTRTC int_rtc
|
||||
#pragma interrupt INTRTCI int_rtc_int
|
||||
#pragma interrupt INTKR int_kr
|
||||
//#pragma interrupt INTMD fn_intmd
|
||||
|
||||
//#pragma interrupt INTTM04 fn_inttm04
|
||||
//#pragma interrupt INTTM05 fn_inttm05
|
||||
//#pragma interrupt INTTM06 fn_inttm06
|
||||
//#pragma interrupt INTTM07 fn_inttm07
|
||||
|
||||
//#define _irq_debug_
|
||||
/****************************************************/
|
||||
/* 未使用時のダミー関数定義 */
|
||||
/****************************************************/
|
||||
__interrupt void fn_intwdti( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intlvi( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intp0(){
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intp1( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
} //
|
||||
__interrupt void fn_intp2( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
__interrupt void fn_intp3( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
__interrupt void intp21_RFTx( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
//__interrupt void fn_intp4(){ while(1){} } // pm.c
|
||||
//__interrupt void fn_intp5(){ while(1){} } // pm.c
|
||||
//__interrupt void fn_intp6(){ while(1){} } // pm.c
|
||||
//__interrupt void fn_intp7(){ while(1){} } // led.c
|
||||
//__interrupt void fn_intp21(){ while(1){} } // led.c
|
||||
|
||||
__interrupt void fn_intcmp0( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intcmp1( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intdma0( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//__interrupt void fn_intdma1(){} // i2c_mcu.cにある
|
||||
|
||||
__interrupt void fn_intst0( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* __interrupt void fn_intcsi00(){} */
|
||||
__interrupt void fn_intsr0( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* __interrupt void fn_intcsi01(){} */
|
||||
__interrupt void fn_intsre0( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intst1( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* __interrupt void fn_intcsi10(){} */
|
||||
//__interrupt void fn_intiic10(){ while(1){} }
|
||||
__interrupt void fn_intsr1( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_intsre1( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//__interrupt void fn_intiica(){} // i2c.cにある
|
||||
/* __interrupt void fn_inttm00(){} *//* sub.cにて定義 */
|
||||
__interrupt void fn_inttm01( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_inttm02( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
__interrupt void fn_inttm03( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//__interrupt void fn_intad(){ while(1){} } // adc.c
|
||||
__interrupt void fn_intrtc( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//__interrupt void int_rtcint(){} // rtc.cにある
|
||||
//__interrupt void fn_intkr(){} // main.c
|
||||
__interrupt void fn_intmd( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_inttm04( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_inttm05( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_inttm06( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
__interrupt void fn_inttm07( )
|
||||
{
|
||||
#ifdef _irq_debug_
|
||||
while( 1 )
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
キーリターン割り込み
|
||||
======================================================== */
|
||||
__interrupt void int_kr( )
|
||||
{
|
||||
// 起きるだけ
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ext dc
|
||||
======================================================== */
|
||||
__interrupt void intp4( )
|
||||
{
|
||||
// 起きるだけ
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
shell close
|
||||
======================================================== */
|
||||
__interrupt void intp5( )
|
||||
{
|
||||
// 起きるだけ
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,68 +0,0 @@
|
||||
#ifndef __jhl_defs_h__
|
||||
#define __jhl_defs_h__
|
||||
|
||||
typedef unsigned char u8;
|
||||
typedef signed char s8;
|
||||
typedef unsigned short u16;
|
||||
typedef signed short s16;
|
||||
|
||||
typedef unsigned short ux16;
|
||||
typedef signed short sx16;
|
||||
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
|
||||
// typedef unsigned char err;
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define set_bit( cond, reg, pos ) \
|
||||
{ \
|
||||
if( cond ){ \
|
||||
reg |= pos; \
|
||||
}else{ \
|
||||
reg &= ~pos; \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
# ifdef _WIN32
|
||||
|
||||
typedef bool bit;
|
||||
|
||||
void EI(){};
|
||||
void DI(){};
|
||||
void HALT(){};
|
||||
void NOP(){};
|
||||
|
||||
#define __interrupt
|
||||
#define __far
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned 7 :1;
|
||||
unsigned 6 :1;
|
||||
unsigned 5 :1;
|
||||
unsigned 4 :1;
|
||||
unsigned 3 :1;
|
||||
unsigned 2 :1;
|
||||
unsigned 1 :1;
|
||||
unsigned 0 :1;
|
||||
}mcu_reg;
|
||||
|
||||
mcu_reg P20;
|
||||
mcu_reg P7;
|
||||
mcu_reg P4;
|
||||
mcu_reg P2;
|
||||
|
||||
unsigned char PMK23;
|
||||
unsigned char RTCIMK;
|
||||
unsigned char WDTE;
|
||||
unsigned char PM2;
|
||||
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
@ -1,730 +0,0 @@
|
||||
/* ========================================================
|
||||
LED.c
|
||||
|
||||
======================================================== */
|
||||
#pragma sfr
|
||||
|
||||
|
||||
#include "incs.h"
|
||||
#include "led.h"
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// TPS0
|
||||
#define BIT_PRS012 ( 1 << 2 )
|
||||
#define BIT_PRS002 ( 1 << 6 )
|
||||
|
||||
// TMR0
|
||||
#define BIT_CKS0 15
|
||||
#define BIT_CCS0 12
|
||||
#define BIT_MASTER0 11
|
||||
#define BIT_STS0 8
|
||||
#define BIT_CIS0 6
|
||||
#define BIT_MD123 1
|
||||
#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 };
|
||||
|
||||
// お知らせ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;
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define led_fade_to( now, goal ) now = fade_to( now, goal )
|
||||
|
||||
/* ========================================================
|
||||
reg_ledをgoalになるまでグラデーションする
|
||||
とりあえず、ステップ固定
|
||||
====================================================== */
|
||||
u8 fade_to( u8 now, u8 goal )
|
||||
{
|
||||
if( now != goal )
|
||||
{
|
||||
if( now > goal )
|
||||
{
|
||||
now -= 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
now += 1;
|
||||
}
|
||||
}
|
||||
return( now );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define led_fade_to2( led, status ) \
|
||||
led = fade_to2( status )
|
||||
|
||||
|
||||
u8 fade_to2( st_LED_dim_status* status )
|
||||
{
|
||||
if( status->now != status->to )
|
||||
{
|
||||
if( abs(( status->to - status->now )) > abs(status->delta) )
|
||||
{
|
||||
status->now += status->delta;
|
||||
}
|
||||
else
|
||||
{
|
||||
status->now = status->to;
|
||||
}
|
||||
}
|
||||
return( status->now / 128 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
|
||||
|
||||
// ========================================================
|
||||
void LED_init( )
|
||||
{
|
||||
/**
|
||||
PWMのセット、とりあえず全部消灯
|
||||
|
||||
マスタチャネル:0 (P01:/reset2) マスターは偶数チャネルしかできない
|
||||
スレーブ 1 SLTO。(3D LED?)
|
||||
2 カメラ
|
||||
3 WiFi
|
||||
4 (ピンはRTC32kHz out に使用)
|
||||
5 充電
|
||||
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
|
||||
|
||||
TMR00 =
|
||||
1 << BIT_CKS0 | 0 << BIT_CCS0 | 1 << BIT_MASTER0 | 0 << BIT_STS0 | 0
|
||||
<< BIT_CIS0 | 0 << BIT_MD123 | 1 << BIT_MD0;
|
||||
TMR01 = TMR02 = TMR03 = TMR04 = TMR05 = TMR06 = TMR07 =
|
||||
1 << BIT_CKS0 | 0 << BIT_CCS0 | 0 << BIT_MASTER0 | 4 << BIT_STS0 | 0
|
||||
<< BIT_CIS0 | 4 << BIT_MD123 | 1 << BIT_MD0;
|
||||
ISC = 0;
|
||||
TOM0 = 0b0000000011111110; // 出力モード。4はPWM出力しないが1にしないとTO5以降にクロックが届かない
|
||||
|
||||
TOL0 = 0b0000000000000000; // 出力を反転させるかフラグ
|
||||
|
||||
TO0 = 0; // タイマー動作中で、タイマー出力にしてないときのピンのラッチ。タイマー出力を使わないなら0
|
||||
TOE0 = 0b0000000011101110; // TOxをタイマーモジュールが制御?
|
||||
|
||||
TS0 = 0b0000000011101111; // 動作開始
|
||||
|
||||
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;
|
||||
|
||||
LED_duty_notify_red = 0;
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_pow_red = 0;
|
||||
LED_CAM = 0;
|
||||
|
||||
if( system_status.reboot )
|
||||
{
|
||||
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO;
|
||||
LED_duty_pow_blu = LED_BRIGHT_MAX;
|
||||
}
|
||||
info_led_off = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void LED_stop( )
|
||||
{
|
||||
TT0 = 0b0000000011101111; // 一斉停止(しないとだめ)
|
||||
TOE0 = 0b0000000000000000; // TOxをタイマーモジュールが制御?(GPIOになる)
|
||||
TAU0EN = 0;
|
||||
LED_pow_red = 0;
|
||||
LED_CAM = 0;
|
||||
LED_old_pow_red = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
// 電源LED
|
||||
LED_POW_B,R 6,7
|
||||
|
||||
TDR00 周期(0x03FF。TPS0で250kHzでカウントアップ。10bitなら250Hz位になる)
|
||||
TDR0x Duty 0で消灯、TDR00(より大 =0x03FF以上)で点灯です。
|
||||
|
||||
enum pwr_state_{
|
||||
OFF_TRIG = 0,
|
||||
OFF,
|
||||
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( )
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
// 実際に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 少なかったので共通パターンにした
|
||||
======================================================== */
|
||||
static u8 led_pow_batt_low()
|
||||
{
|
||||
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_n )
|
||||
{
|
||||
// 赤点灯
|
||||
led_fade_to( LED_duty_pow_blu, 0 );
|
||||
LED_pow_red_Mirror = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
* 割り込みそのものは使いません *
|
||||
LED_Wifi 3
|
||||
======================================================== */
|
||||
void tsk_led_wifi( )
|
||||
{
|
||||
static u8 task_interval;
|
||||
static u8 state_wifi_tx;
|
||||
static u8 flag_wifi_TX;
|
||||
|
||||
if( task_interval-- != 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// 送信パルスのラッチ
|
||||
if( WIFI_txLatch ) // 割り込みフラグそのものを使ってしまう
|
||||
{
|
||||
WIFI_txLatch = 0;
|
||||
flag_wifi_TX = 1;
|
||||
}
|
||||
|
||||
if( flag_wifi_TX != 0 )
|
||||
{
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_WIFI_TX;
|
||||
// 送信パターン
|
||||
switch ( state_wifi_tx )
|
||||
{
|
||||
case ( 1 ):
|
||||
case ( 3 ):
|
||||
case ( 5 ):
|
||||
LED_duty_WiFi = 0;
|
||||
break;
|
||||
default:
|
||||
LED_duty_WiFi = vreg_ctr[VREG_C_LED_BRIGHT];
|
||||
}
|
||||
state_wifi_tx++;
|
||||
if( state_wifi_tx == 32 ) // ←点滅後、点灯している期間の長さ
|
||||
{
|
||||
state_wifi_tx = 0;
|
||||
flag_wifi_TX -= 1;
|
||||
}
|
||||
task_interval = 25;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
task_interval = 30;
|
||||
// 送信フラグ待ち
|
||||
vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_WIFI_TX;
|
||||
if( vreg_ctr[VREG_C_LED_WIFI] == WIFI_LED_OFF )
|
||||
{
|
||||
LED_duty_WiFi = 0;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( LED_duty_WiFi == vreg_ctr[VREG_C_LED_BRIGHT] )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if( LED_duty_WiFi < vreg_ctr[VREG_C_LED_BRIGHT] )
|
||||
{
|
||||
LED_duty_WiFi += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_duty_WiFi -= 1;
|
||||
}
|
||||
}
|
||||
task_interval = 3;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
bit info_led_pattern_updated;
|
||||
/* ========================================================
|
||||
お知らせLED
|
||||
======================================================== */
|
||||
void tsk_led_notify( )
|
||||
{
|
||||
static u8 time_to_next_frame;
|
||||
static u8 frame;
|
||||
static u8 loops;
|
||||
static st_LED_dim_status LED_dim_status_info_R, LED_dim_status_info_G, LED_dim_status_info_B;
|
||||
|
||||
if( info_led_override )
|
||||
{
|
||||
// 電池切れが優先する
|
||||
return;
|
||||
}
|
||||
|
||||
if( system_status.pwr_state == ON_TRIG )
|
||||
{
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_duty_notify_red = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_dim_status_info_R.now = 0;
|
||||
LED_dim_status_info_G.now = 0;
|
||||
LED_dim_status_info_B.now = 0;
|
||||
}
|
||||
|
||||
if( info_led_off ) // ←電源off時など強制off
|
||||
{
|
||||
// フェードアウトさせる
|
||||
LED_dim_status_info_R.to = 0;
|
||||
LED_dim_status_info_G.to = 0;
|
||||
LED_dim_status_info_B.to = 0;
|
||||
LED_dim_status_info_R.delta = ( 0 - LED_dim_status_info_R.now ) / 64;
|
||||
LED_dim_status_info_G.delta = ( 0 - LED_dim_status_info_G.now ) / 64;
|
||||
LED_dim_status_info_B.delta = ( 0 - LED_dim_status_info_B.now ) / 64;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 通常運転
|
||||
if( info_led_pattern_updated )
|
||||
{
|
||||
info_led_pattern_updated = false;
|
||||
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP;
|
||||
frame = 0; // ちゃんと書こう
|
||||
time_to_next_frame = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 次のフレームに進める?
|
||||
if( time_to_next_frame == 0 )
|
||||
{
|
||||
DBG_LED_on;
|
||||
time_to_next_frame = info_LED.info_LED.term;
|
||||
|
||||
if( frame >= NOTIFY_LED_TERM -1 )
|
||||
{
|
||||
DBG_LED2_on;
|
||||
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP;
|
||||
if( info_LED.info_LED.last_loop != 255 ) // 255:無限ループ
|
||||
{
|
||||
loops++;
|
||||
if( loops > info_LED.info_LED.last_loop )
|
||||
{
|
||||
frame = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
frame = (( frame + 1 ) & 0x1F ); // ←ここでマスクをかけておかないと最終フレーム~先頭間のグラデが効かない
|
||||
vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP;
|
||||
loops = 0;
|
||||
}
|
||||
|
||||
LED_dim_status_info_R.to = info_LED.info_LED.red[frame] * 128;
|
||||
LED_dim_status_info_G.to = info_LED.info_LED.grn[frame] * 128;
|
||||
LED_dim_status_info_B.to = info_LED.info_LED.blu[frame] * 128;
|
||||
|
||||
// グラデーションのデルタを計算
|
||||
LED_dim_status_info_R.delta = (( LED_dim_status_info_R.to - LED_dim_status_info_R.now ) ) / info_LED.info_LED.fade_time;
|
||||
LED_dim_status_info_G.delta = (( LED_dim_status_info_G.to - LED_dim_status_info_G.now ) ) / info_LED.info_LED.fade_time;
|
||||
LED_dim_status_info_B.delta = (( LED_dim_status_info_B.to - LED_dim_status_info_B.now ) ) / info_LED.info_LED.fade_time;
|
||||
|
||||
}
|
||||
DBG_LED_off;
|
||||
DBG_LED2_off;
|
||||
time_to_next_frame -= 1;
|
||||
}
|
||||
}
|
||||
|
||||
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 u8 task_interval;
|
||||
u8 LED_CAM_mirror;
|
||||
|
||||
if( !cam_led_update )
|
||||
{
|
||||
if( task_interval != 0 )
|
||||
{
|
||||
task_interval -= 1;
|
||||
return;
|
||||
}
|
||||
}
|
||||
cam_led_update = false; // TWL のブリンク設定(一発だけ点灯)のため
|
||||
|
||||
// ブリンクのように待たせたいとき以外は毎週起動する
|
||||
// (レジスタの変更にすぐに反応する)
|
||||
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 ):
|
||||
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 = 250;
|
||||
break;
|
||||
|
||||
case( TWL_CAMLED_ON ):
|
||||
case( TWL_CAMLED_DEF_ON ):
|
||||
default:
|
||||
LED_CAM_mirror = 1;
|
||||
state_led_cam = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 輝度更新 //
|
||||
if( system_status.info_fullcolor )
|
||||
{
|
||||
LED_CAM = LED_CAM_mirror;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_old_CAM = LED_CAM_mirror;
|
||||
}
|
||||
}
|
@ -1,153 +0,0 @@
|
||||
#ifndef __led__
|
||||
#define __led__
|
||||
|
||||
|
||||
|
||||
// ====================================
|
||||
|
||||
//#define LED_CHARGE P2.4 // PMで定義
|
||||
|
||||
// LED_DUTY
|
||||
#define LED_duty_pow_blu TDR06
|
||||
#define LED_duty_WiFi TDR03
|
||||
|
||||
#define LED_duty_3d TDR01
|
||||
#define LED_duty_notify_red TDR07
|
||||
#define LED_duty_notify_grn TDR05
|
||||
#define LED_duty_notify_blu TDR02
|
||||
|
||||
// これらはduty変えられません
|
||||
#define LED_pow_red P4.2
|
||||
#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
|
||||
|
||||
|
||||
#define LED_BRIGHT_MAX 0x00FF
|
||||
|
||||
// ====================================
|
||||
#ifdef _MCU_BSR_ // 電波送信パルス
|
||||
#define WIFI_txLatch PIF21
|
||||
#else
|
||||
#define WIFI_txLatch PIF7
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// ====================================
|
||||
enum LED_ILUM_MODE
|
||||
{
|
||||
LED_POW_ILM_AUTO = 0,
|
||||
LED_POW_ILM_ON,
|
||||
LED_POW_ILM_SLEEP,
|
||||
LED_POW_ILM_OFF,
|
||||
LED_POW_ILM_ONLY_RED,
|
||||
LED_POW_ILM_ONLY_BLUE,
|
||||
LED_POW_ILM_FORCE_BT_EMPTY
|
||||
};
|
||||
|
||||
|
||||
enum LED_MODE_TUNE
|
||||
{
|
||||
LED_TUNE_ILM_OFF = 0,
|
||||
LED_TUNE_ILM_ON
|
||||
};
|
||||
|
||||
|
||||
// VREG_C_WIFI_LED
|
||||
enum WIFI_LED_MODE
|
||||
{
|
||||
WIFI_LED_OFF = 0,
|
||||
WIFI_LED_ON
|
||||
};
|
||||
|
||||
|
||||
// VREG_C_WIFI_NOTIFY
|
||||
enum NOTIFY_LED_MODE
|
||||
{
|
||||
NOTIFY_LED_OFF = 0,
|
||||
NOTIFY_LED_ON,
|
||||
NOTIFY_LED_PTN0,
|
||||
NOTIFY_LED_PTN1,
|
||||
NOTIFY_LED_PTN2
|
||||
};
|
||||
|
||||
|
||||
// VREG_C_CAM_LED
|
||||
enum CAM_LED_MODE
|
||||
{
|
||||
CAM_LED_OFF = 0,
|
||||
CAM_LED_BLINK,
|
||||
CAM_LED_ON,
|
||||
CAM_LED_BY_TWL,
|
||||
CAM_LED_ON_PLUSE,
|
||||
CAM_LED_OFF_PLUSE
|
||||
};
|
||||
|
||||
|
||||
|
||||
// お知らせLED調光関係 //
|
||||
typedef struct _st_info_LED
|
||||
{
|
||||
u8 term; // 1フレーム何チック?
|
||||
u8 fade_time; // 何チックで次のフレームの色に達するか
|
||||
u8 last_loop; // 最終フレームを繰り返す?
|
||||
u8 resv1;
|
||||
u8 red[32];
|
||||
u8 grn[32];
|
||||
u8 blu[32];
|
||||
}st_info_LED;
|
||||
|
||||
typedef union _uni_info_LED
|
||||
{
|
||||
st_info_LED info_LED;
|
||||
u8 bindata[ sizeof( st_info_LED ) ];
|
||||
}uni_info_LED;
|
||||
|
||||
extern uni_info_LED info_LED;
|
||||
|
||||
|
||||
// 赤LED 点滅向け //
|
||||
typedef struct _st_led_red_batt_empty
|
||||
{
|
||||
u8 dats[4];
|
||||
}st_led_red_batt_empty;
|
||||
|
||||
extern st_led_red_batt_empty led_red_batt_empty;
|
||||
|
||||
|
||||
/*
|
||||
お知らせLED
|
||||
*/
|
||||
typedef struct _st_LED_dim_status
|
||||
{
|
||||
sx16 to;
|
||||
sx16 delta;
|
||||
sx16 now; // 小数点以下を覚えておかなくてはならないため
|
||||
}st_LED_dim_status;
|
||||
|
||||
|
||||
|
||||
// ====================================
|
||||
void LED_init( );
|
||||
void LED_stop( );
|
||||
|
||||
|
||||
extern void tsk_led_cam();
|
||||
|
||||
|
||||
#endif
|
@ -1,330 +0,0 @@
|
||||
/* ========================================================
|
||||
MCU CTR BSR
|
||||
2009/03/30
|
||||
開発技術部 藤田
|
||||
|
||||
ブートローダー部
|
||||
ホストの通信と、自己書き換え、ファームのチェックを行う。
|
||||
|
||||
======================================================== */
|
||||
#pragma SFR
|
||||
#pragma di
|
||||
#pragma ei
|
||||
#pragma nop
|
||||
#pragma stop
|
||||
#pragma halt
|
||||
#pragma opc
|
||||
|
||||
|
||||
#include "incs_loader.h"
|
||||
|
||||
#include <fsl.h>
|
||||
#include "fsl_user.h"
|
||||
|
||||
#include "i2c_ctr.h"
|
||||
#include "i2c_mcu.h"
|
||||
#include "pm.h"
|
||||
#include "rtc.h"
|
||||
|
||||
#include "reboot.h"
|
||||
|
||||
#include "magic.h"
|
||||
|
||||
|
||||
|
||||
#define REG_BIT_RESF_WDT 0x10
|
||||
#define REG_BIT_RESF_TRAP 0x80
|
||||
#define REG_BIT_RESF_LVI 0x01
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#if (FSL_DATA_BUFFER_SIZE>0)
|
||||
fsl_u08 fsl_data_buffer[FSL_DATA_BUFFER_SIZE];
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef FSL_INT_BACKUP
|
||||
static fsl_u08 fsl_MK0L_bak_u08; /* if (interrupt backup required) */
|
||||
static fsl_u08 fsl_MK0H_bak_u08; /* { */
|
||||
static fsl_u08 fsl_MK1L_bak_u08; /* reserve space for backup information */
|
||||
static fsl_u08 fsl_MK1H_bak_u08; /* of interrupt mask flags */
|
||||
static fsl_u08 fsl_MK2L_bak_u08; /* */
|
||||
static fsl_u08 fsl_MK2H_bak_u08; /* } */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void FSL_Open( void );
|
||||
void FSL_Close( void );
|
||||
void hdwinit( void );
|
||||
static void hdwinit2( );
|
||||
|
||||
extern void main_loop( );
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void main( )
|
||||
{
|
||||
while( 1 )
|
||||
{
|
||||
WDT_Restart( );
|
||||
|
||||
if( RTCEN ) // これはTRAP(自己update)にしか使えない。WDT等では立たない
|
||||
{
|
||||
system_status.reboot = true;
|
||||
}
|
||||
|
||||
{
|
||||
volatile u8 my_resf = RESF; // ←読むと消える
|
||||
if( ( my_resf & REG_BIT_RESF_WDT ) != 0 )
|
||||
{
|
||||
vreg_ctr[ VREG_C_MCU_STATUS ] |= REG_BIT_STATUS_WDT_RESET;
|
||||
// set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET );
|
||||
// ↑I2Cの初期化後に行う
|
||||
system_status.reboot = true;
|
||||
}
|
||||
else if( ( my_resf & REG_BIT_RESF_TRAP ) != 0 ) // ( FSL_ForceReset, 'r' )
|
||||
{
|
||||
system_status.reboot = true;
|
||||
}
|
||||
/*
|
||||
else if(( my_resf & REG_BIT_RESF_LVI ) != 0 )
|
||||
{
|
||||
vreg_ctr[ VREG_C_MCU_STATUS ] |= ( 1 << 2 );
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
if( !system_status.reboot )
|
||||
{
|
||||
// 通常の電源投入
|
||||
// 電池接続時、ちょっと待ってみる(チャタリング対策)
|
||||
u16 pwup_delay0 = 0;
|
||||
for( pwup_delay0 = 0; pwup_delay0 != 0xFFFF; pwup_delay0++ ){};
|
||||
}
|
||||
|
||||
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( );
|
||||
// 帰ってこない。リセットをかける。
|
||||
}
|
||||
}
|
||||
|
||||
// 試遊台判定
|
||||
// デバッガつないでると上手に判定できないことがあります。
|
||||
#ifndef _FORCE_TAIKENDAI_
|
||||
if( !DIPSW_0 )
|
||||
#else
|
||||
if(1)
|
||||
#endif
|
||||
{
|
||||
system_status.taikendai = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
system_status.taikendai = 0;
|
||||
}
|
||||
|
||||
// 通常運転
|
||||
main_loop( );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
void hdwinit( void )
|
||||
{ // スタートアップルーチンが勝手に呼びます
|
||||
DI( ); /* マスタ割り込み禁止 */
|
||||
|
||||
CMC = 0b00010000; /* X1発振せず(入力ポート)、XT1使用、超低電力発振は不安定に付き通常で */
|
||||
CSC = 0b10000000; /* X1発振なし、XT1発振あり、高速内蔵発振動作 */
|
||||
OSMC = 0x01; /* 隠しレジスタ */
|
||||
CKC = 0b00001000; /* CPU/周辺クロック=fMAIN、fMAIN=fMX、fCLK=fMX */
|
||||
|
||||
/*--- 低電圧検出回路の設定 ---*/
|
||||
/* リセット解除時のデフォルトは、オプション・バイトにて指定される */
|
||||
LVIS = 0b00000000; /* VLVI = 4.22±0.1V */
|
||||
LVIM = 0b00000000; /* LVI動作禁止 */
|
||||
/* 電源電圧(VDD)<検出電圧(VLVI)時に割込発生 */
|
||||
/* 電源電圧(VDD)≧検出電圧<VLVI)、または動作禁止時に低電圧検出 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ********************************************************
|
||||
リブート時とで動きが違うもの
|
||||
********************************************************** */
|
||||
void hdwinit2( )
|
||||
{
|
||||
// ポート設定 //
|
||||
if( system_status.reboot ) // リセットピンだけはすぐにセットする
|
||||
{
|
||||
P0 = 0b00000011;
|
||||
P3 = 0b00000111; // 簡易I2Cは出力ラッチを1にする
|
||||
P14 = 0b00000000;
|
||||
}
|
||||
else
|
||||
{
|
||||
P0 = 0b00000000;
|
||||
P3 = 0b00000110; // 簡易I2Cは出力ラッチを1にする
|
||||
P14 = 0b00000000;
|
||||
}
|
||||
|
||||
PM0 = 0b11111111; // BSRマイコンでは、reset1は監視のみになる。
|
||||
PM3 = 0b11110000; // P31,32は簡易I2C
|
||||
PM14 = 0b11111100; // debugger[1] とりあえず出力
|
||||
|
||||
if( !system_status.reboot ) // リセットピンだけはすぐにセットする
|
||||
{
|
||||
P20 = 0b00000000;
|
||||
|
||||
P1 = 0b11000000;
|
||||
P2 = 0b00000000;
|
||||
P4 = 0b00001000;
|
||||
P5 = 0b00000000;
|
||||
P6 = 0b00000000;
|
||||
P7 = 0b01000000;
|
||||
P12 = 0b00000000;
|
||||
P15 = 0b00000000;
|
||||
|
||||
/*--- タイマ・アレイ・ユニットの動作停止 ---*/
|
||||
TAU0EN = 0; /* タイマ・アレイ・ユニットへのクロック供給停止 */
|
||||
TT0 = 0x00ff; /* 全タイマ・チャネルの動作停止 */
|
||||
|
||||
/*--- RTCの動作停止 ---*/
|
||||
// 別途初期化関数
|
||||
// RTCEN = 0; /* RTCへのクロック供給停止 */
|
||||
// RTCC0 = 0b00000000; /* カウンタ動作停止 */
|
||||
}
|
||||
|
||||
/*--- 割り込み設定 ---------*/
|
||||
IF0 = 0x0000; /* 割り込み要求フラグクリア */
|
||||
IF1 = 0x0000;
|
||||
IF2 = 0x0000;
|
||||
MK0 = 0xFFFF; /* 割り込み禁止 */
|
||||
MK1 = 0xFFFF;
|
||||
MK2 = 0xFFFF;
|
||||
|
||||
|
||||
PM20 = 0b11111100;
|
||||
PM1 = 0b00000000;
|
||||
PM2 = 0b11101001;
|
||||
|
||||
PM4 = 0b11110011;
|
||||
PM5 = 0b11110010;
|
||||
PM6 = 0b11111100; // I2CのラインがL出力になってしまうが、システムがOFFなのでかまわない
|
||||
PM7 = 0b01011111;
|
||||
PM12 = 0b11111111; // 32kHzクロックのピン設定はどっちでもよい
|
||||
PM15 = 0b11111111;
|
||||
|
||||
PU20 = 0b00010001;
|
||||
PU0 = 0b00000000; // バッテリ認証後にそれぞれセット
|
||||
PU1 = 0b00000000;
|
||||
PU3 = 0b00000000; // 外部でプルアップしないと具合が悪い。CPUがプルアップする
|
||||
PU4 = 0b00000000; // 外部でプルアップしてほしいtool0,1)
|
||||
PU5 = 0b00000010;
|
||||
PU7 = 0b00011001;
|
||||
PU12 = 0b00000000;
|
||||
PU14 = 0b00000000;
|
||||
|
||||
// ポート入力モード・レジスタ設定 /////////////////////
|
||||
// [0:通常入力バッファ 1:TTL入力バッファ]
|
||||
PIM3 = 0b00000000;
|
||||
PIM7 = 0b00000000;
|
||||
|
||||
// ポート出力モード・レジスタ設定
|
||||
// [0:通常出力モード 1:N-chオープン・ドレーン出力]
|
||||
POM3 = 0b00000110;
|
||||
POM7 = 0b00000000;
|
||||
|
||||
/* 割り込み優先順位、全て低位(LV3) */
|
||||
PR00 = 0xFFFF;
|
||||
PR01 = 0xFFFF;
|
||||
PR10 = 0xFFFF;
|
||||
PR11 = 0xFFFE;
|
||||
PR02L = 0xFF;
|
||||
PR12L = 0xFF;
|
||||
|
||||
/*--- 外部割込の有効エッジ設定 ---*/
|
||||
EGP0 = 0b00110001;
|
||||
EGN0 = 0b01110000;
|
||||
EGP2 = 0b00001010;
|
||||
EGN2 = 0b00000000;
|
||||
|
||||
/*--- キー割り込み設定 ---*/
|
||||
KRM = 0b00000000; /* 全キー割り込み信号を検出しない */
|
||||
|
||||
/*--- ADCの動作停止 ---*/
|
||||
ADCEN = 0; /* ADCへのクロック供給停止 */
|
||||
ADM = 0b00000000; /* 変換動作停止 */
|
||||
|
||||
/*--- シリアル・アレイ・ユニットの動作停止 ---*/
|
||||
SAU0EN = 0; /* シリアル・アレイ・ユニット0へのクロック供給停止 */
|
||||
SCR00 = 0x0087; /* 各チャンネルの通信禁止 */
|
||||
SCR01 = 0x0087;
|
||||
SCR02 = 0x0087;
|
||||
SCR03 = 0x0087;
|
||||
|
||||
// IICの動作停止
|
||||
IICA0EN = 0; /* IICA0(CTR)へのクロック供給停止 */
|
||||
IICCTL00 = 0x00; /* IICA1動作停止 */
|
||||
IICA1EN = 0; // IICA1(TWL)へのクロック供給停止
|
||||
IICCTL01 = 0x00; // IICA1動作停止
|
||||
|
||||
/*--- DMAの動作停止 ---*/
|
||||
DRC0 = 0b00000000; /* DMAチャネル0の動作禁止 */
|
||||
DRC1 = 0b00000000; /* DMAチャネル1の動作禁止 */
|
||||
|
||||
/*--- クロック出力/ブザー出力停止 ---*/
|
||||
CKS0 = 0b00000000;
|
||||
CKS1 = 0b00000000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
単位は ms
|
||||
NOPを回すだけ、指定時間CPUを *占有します* 。
|
||||
割り込みとか入るとその分遅れます。
|
||||
少し誤差あります。
|
||||
*****************************************************************************/
|
||||
void wait_ms( u8 ms ){
|
||||
u16 fine;
|
||||
|
||||
WDT_Restart();
|
||||
while( ms != 0 ){
|
||||
ms--;
|
||||
fine = 860;
|
||||
while( fine != 0 ){
|
||||
fine -= 1;
|
||||
}
|
||||
}
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
#ifndef _loader_h_
|
||||
#define _loader_h_
|
||||
|
||||
void wait_ms( u8 );
|
||||
|
||||
#endif
|
||||
|
@ -1,72 +0,0 @@
|
||||
/*****************************************************************************
|
||||
ビルド時刻を埋め込みます。
|
||||
ビルドの度に更新されるようにする必要があります。
|
||||
(touchしてね)
|
||||
****************************************************************************/
|
||||
#include "config.h"
|
||||
#include "magic.h"
|
||||
|
||||
// V0.5 (ニセ0.1改)
|
||||
#pragma section @@CNSTL MGC_LOAD AT 0x0FF6
|
||||
__far const unsigned char MGC_LOADd[] = __TIME__;
|
||||
|
||||
#ifdef _firm_format_v3_
|
||||
#pragma section @@CNST MGC_MIMI AT 0x2000
|
||||
const unsigned char MGC_HEADdN[] = __TIME__;
|
||||
|
||||
#else
|
||||
#pragma section @@CNST MGC_MIM2 AT 0x2100
|
||||
const unsigned char MGC_HEADd[] = __TIME__;
|
||||
#endif
|
||||
|
||||
#pragma section @@CNST MGC_TAIL AT 0x4FF6
|
||||
const unsigned char MGC_TAILd[] = __TIME__;
|
||||
|
||||
|
||||
// 0Dまでこれを使用
|
||||
// #define SIG { 0x30, 0x38, 0x3A, 0x34, 0x35, 0x3A, 0x33, 0x39, 0x00, 0x00 }
|
||||
|
||||
|
||||
// あーあ。
|
||||
/*
|
||||
// V0.5 (ニセ0.1改)
|
||||
#define SIG { 0x30, 0x38, 0x3A, 0x34, 0x35, 0x3A, 0x33, 0x39, 0x00, 0x00 }
|
||||
*/
|
||||
|
||||
/*
|
||||
メモ
|
||||
(未使用)
|
||||
V0.2の署名 31 34 3A 33 35 3A 33 35 00 00
|
||||
#define SIG { 0x31, 0x34, 0x3A, 0x33, 0x35, 0x3A, 0x33, 0x35, 0x00, 0x00 };
|
||||
|
||||
ctr_wm0
|
||||
31373A30353A32310000
|
||||
#define SIG { 0x31, 0x37, 0x3A, 0x30, 0x35, 0x3A, 0x32, 0x31, 0x00, 0x00 };
|
||||
|
||||
ctr_wm0_2
|
||||
31303A34393A35390000
|
||||
#define SIG { 0x31, 0x30, 0x3A, 0x34, 0x39, 0x3A, 0x35, 0x39, 0x00, 0x00 };
|
||||
|
||||
bsr_V0.2_090828_WM2
|
||||
31323A35393A32350000
|
||||
#define SIG { 0x31, 0x32, 0x3A, 0x35, 0x39, 0x3A, 0x32, 0x35, 0x00, 0x00 };
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
// V0.1の署名(日付) 30 38 3A 34 35 3A 33 39 00 00
|
||||
#pragma section @@CNSTL MGC_LOAD AT 0x0FF6
|
||||
__far static const unsigned char MGC_LOAD[] =
|
||||
#define SIG { 0x30, 0x38, 0x3A, 0x34, 0x35, 0x3A, 0x33, 0x39, 0x00, 0x00 }
|
||||
|
||||
|
||||
// V0.4以降
|
||||
#pragma section @@CNSTL MGC_LOAD AT 0x0FF6
|
||||
__far const unsigned char MGC_LOAD[] = __TIME__;
|
||||
|
||||
#pragma section @@CNST MGC_MIMI AT 0x2100
|
||||
const unsigned char MGC_HEAD[] = __TIME__;
|
||||
|
||||
#pragma section @@CNST MGC_TAIL AT 0x47F6
|
||||
const unsigned char MGC_TAIL[] = __TIME__;
|
||||
*/
|
@ -1,24 +0,0 @@
|
||||
#ifndef _magic_h_
|
||||
|
||||
#define _magic_h_
|
||||
|
||||
// magic.c の記述と違わないように注意!
|
||||
#define MGC_LOAD 0x0FF6
|
||||
#define MGC_FOOT 0x4FF6
|
||||
|
||||
#ifdef _firm_format_v3_
|
||||
#define MGC_HEAD 0x2000
|
||||
#else
|
||||
#define MGC_HEAD 0x2100
|
||||
#endif
|
||||
|
||||
#define MGC_LOAD_BKUP 0x1FF6
|
||||
#define MGC_FOOT_BKUP 0x7FF6
|
||||
|
||||
#ifdef _firm_format_v3_
|
||||
#define MGC_HEAD_BKUP 0x5000
|
||||
#else
|
||||
#define MGC_HEAD_BKUP 0x5100
|
||||
#endif
|
||||
|
||||
#endif
|
@ -1,84 +0,0 @@
|
||||
/* ========================================================
|
||||
MCU CTR BSR
|
||||
2008,2009 nintendo
|
||||
開発技術部 藤田
|
||||
======================================================== */
|
||||
|
||||
|
||||
// ========================================================
|
||||
#include "incs_loader.h"
|
||||
|
||||
#include "WDT.h"
|
||||
#include "rtc.h"
|
||||
#include "pm.h"
|
||||
#include "accero.h"
|
||||
#include "led.h"
|
||||
#include "adc.h"
|
||||
|
||||
#include "pool.h"
|
||||
|
||||
|
||||
// ========================================================
|
||||
system_status_ system_status;
|
||||
uni_pool pool;
|
||||
|
||||
#ifdef i2c_timeout_test
|
||||
bit i2c_mcu_time_out_error; // I2Cが何らかで詰まった。結露など含む。
|
||||
extern void i2c_mcu_error_monitor();
|
||||
#endif
|
||||
|
||||
/* ========================================================
|
||||
本当のエントリ関数は loader.c にあります
|
||||
======================================================== */
|
||||
void main_loop( void )
|
||||
{
|
||||
#ifdef i2c_timeout_test
|
||||
i2c_mcu_time_out_error = false;
|
||||
#endif
|
||||
|
||||
// 電池投入時、ファームアップデート後のみ
|
||||
RTC_init( ); // 内部でリブートか判定しています
|
||||
|
||||
renge_init( );
|
||||
|
||||
iic_mcu_start( );
|
||||
EI( );
|
||||
|
||||
BT_chk();
|
||||
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
if( system_status.reboot )
|
||||
{
|
||||
// リブート時は電源onに上書き
|
||||
if( PM_chk_LDSW() != 0 )
|
||||
{
|
||||
system_status.pwr_state = ON_TRIG;
|
||||
}
|
||||
vreg_ctr[VREG_C_BT_REMAIN] = 100;
|
||||
}
|
||||
|
||||
vreg_ctr_init( );
|
||||
|
||||
clear_hosu_hist(); // 履歴クリア
|
||||
|
||||
renge_task_interval_run_force = true;
|
||||
|
||||
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
|
||||
|
||||
|
||||
// メインループ //
|
||||
while( 1 )
|
||||
{ // システムtick、または割り込みで廻ります。
|
||||
renge_task_interval_run( ); // 内部で、システムtickまたは強制起動します
|
||||
renge_task_immed_run();
|
||||
#ifdef i2c_timeout_test
|
||||
if( i2c_mcu_time_out_error )
|
||||
{
|
||||
i2c_mcu_error_monitor();
|
||||
}
|
||||
#endif
|
||||
HALT( );
|
||||
}
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -1,74 +0,0 @@
|
||||
#!/usr/bin/ruby
|
||||
$KCODE = "S"
|
||||
=begin
|
||||
|
||||
NECの環境が吐きだしたSRECを、
|
||||
●未指定部分には0xFFパディングし、
|
||||
●BSRのアップデート用に必要な部分だけ切り出します。
|
||||
(0x0000 - 0x0FFF, 0x2000-0x47FF)
|
||||
|
||||
=end
|
||||
|
||||
|
||||
=begin
|
||||
if( ARGV[0] == nil )
|
||||
print( "input file name is nessesary!\nabort.\n" )
|
||||
exit(1)
|
||||
end
|
||||
|
||||
|
||||
unless(File.exist?( ARGV[0] ))
|
||||
print( "file" << ARGV[0] << " not found.\nabort.\n" )
|
||||
exit(1)
|
||||
end
|
||||
=end
|
||||
|
||||
#src = File.open( '/cygdrive/c/78k_data/yav-mcu-basara/bsr.hex' )
|
||||
src = File.open( 'bsr.hex' )
|
||||
|
||||
dest = File.new( "hoge.bin","wb" )
|
||||
|
||||
|
||||
dest.write( 'jhl' )
|
||||
|
||||
### get data ##########################
|
||||
src_in = Hash.new
|
||||
tempA = Array.new
|
||||
dataTemp = Array.new
|
||||
|
||||
offset = Numeric.new
|
||||
bindata = Array.new( 32*1024, 0xFF )
|
||||
|
||||
while(src.readline)
|
||||
tempA = $_.scan(/(\:)(\w\w)(\w\w\w\w)(\w\w)(\w+)(\w\w)/)
|
||||
|
||||
break if( tempA.size == 0 )
|
||||
|
||||
src_in = { "len" => tempA[0][1], "offset" => tempA[0][2], "type" => tempA[0][3], "data" => tempA[0][4], "CRC" => tempA[0][5] }
|
||||
|
||||
break if src_in["type"].hex == 01
|
||||
break if src_in["len"].hex == 00
|
||||
# next if src_in["type"].hex != 00
|
||||
if( src_in["type"].hex != 00 )
|
||||
# p dat
|
||||
next
|
||||
end
|
||||
|
||||
offset = src_in["offset"].hex
|
||||
next if(( 0x1000 <= offset ) && ( offset < 0x2000 ))
|
||||
|
||||
dataTemp = src_in["data"].scan(/\w\w/)
|
||||
|
||||
( 0...(src_in["len"].to_s.hex) ).each{|i|
|
||||
bindata[ offset + i ] = ( dataTemp[ i ] ).to_s.hex
|
||||
}
|
||||
end
|
||||
|
||||
### format data and output #############
|
||||
4096.times{
|
||||
bindata.delete_at(4096)
|
||||
}
|
||||
dest.write( bindata[0..(0x4FFF - 0x1000)].pack("c*") )
|
||||
dest.close
|
||||
|
||||
printf( "intel-HEX to bsr bin converter\n file converted!\n\n" )
|
@ -1,497 +0,0 @@
|
||||
/* ********************************************************
|
||||
歩数計
|
||||
3軸加速度のリアルタイムデータから、ベクトルのノルムを出し、
|
||||
閾値を超える時間、間隔、ノルムの大きさで閾値を切り替えるなど
|
||||
********************************************************* */
|
||||
#pragma mul
|
||||
#pragma div
|
||||
#pragma bcd
|
||||
|
||||
#include "incs.h"
|
||||
#include <math.h>
|
||||
|
||||
#include "accero.h"
|
||||
#include "pedometer.h"
|
||||
|
||||
#include "pedo_lpf_coeff.h"
|
||||
#include "pool.h"
|
||||
|
||||
// ========================================================
|
||||
static void hosu_increment();
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
u16 get_long_hour();
|
||||
extern uni_pool pool;
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define _use_my_sqrt_
|
||||
#ifdef _use_my_sqrt_
|
||||
unsigned long my_sqrt();
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*=========================================================
|
||||
歩数計
|
||||
========================================================*/
|
||||
void pedometer()
|
||||
{
|
||||
static s16 th_H = 15000; // 閾値。暫定。動的変更とかしたい…ので変数
|
||||
static s16 th_L = 11000;
|
||||
static u16 acc_norm[3]; // 加速度の大きさのヒストリ。数字が大きい方が古い
|
||||
static u16 acc_norm_temp;
|
||||
static u8 interval_hh = 0xFF; // 山-山間の時間。短過ぎたらはじく。
|
||||
static u8 time_l; // 前回の極小からの経過時間
|
||||
static u16 peak_l; // 谷の深さ
|
||||
static u16 norm_hist[TAP];
|
||||
|
||||
static u8 hist_indx;
|
||||
|
||||
signed long filterd;
|
||||
|
||||
u8 i;
|
||||
|
||||
u16 sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] );
|
||||
u16 sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] );
|
||||
u16 sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] );
|
||||
|
||||
// ベクトルのノルム
|
||||
#ifdef _mcu_
|
||||
# ifndef _use_my_sqrt_
|
||||
norm_hist[ hist_indx & TAP-1 ] = sqrt( (long)sx16 * ( sx16 / 2 ) +
|
||||
(long)sy16 * ( sy16 / 2 ) +
|
||||
(long)sz16 * ( sz16 / 2 )
|
||||
);
|
||||
# else
|
||||
norm_hist[ hist_indx & TAP-1 ] = my_sqrt( (long)sx16 * ( sx16 / 2 ) +
|
||||
(long)sy16 * ( sy16 / 2 ) +
|
||||
(long)sz16 * ( sz16 / 2 )
|
||||
);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef _pc_
|
||||
norm_hist[ hist_indx & TAP-1 ] = normh * 256 + norml;
|
||||
#endif
|
||||
|
||||
hist_indx += 1;
|
||||
|
||||
// ヒストリにフィルタを掛けて、今回の値を求める
|
||||
filterd = 0;
|
||||
// for( i = 8; i != 55; i++ ) // 係数が0ばかりのため
|
||||
for( i = 0; i != 46; i++ ) // 係数テーブルをいじりました。パラメータ調整時注意
|
||||
{
|
||||
filterd += (signed long)norm_hist[ ( hist_indx + i ) & TAP-1 ] * lpf_coeff[ i ];
|
||||
}
|
||||
|
||||
filterd += (4096)*512;
|
||||
acc_norm_temp = (s16)( filterd /1024 & 0xFFFF ); // ←FIL_COEFF_QUANTから正規化
|
||||
/*
|
||||
if( acc_norm[0] < acc_norm_temp )
|
||||
{
|
||||
t_rise += 1;
|
||||
if( t_rise == 0 )
|
||||
t_rise == 254;
|
||||
}
|
||||
else
|
||||
{
|
||||
t_rise = 0;
|
||||
}
|
||||
*/
|
||||
if( acc_norm[0] != acc_norm_temp )
|
||||
{
|
||||
acc_norm[2] = acc_norm[1]; // ヒストリ
|
||||
acc_norm[1] = acc_norm[0];
|
||||
acc_norm[0] = acc_norm_temp;
|
||||
}
|
||||
|
||||
if( acc_norm[2] <= acc_norm[1] && acc_norm[1] > acc_norm[0]
|
||||
&& acc_norm[0] > th_H )
|
||||
// 極大で、閾値を超えていた
|
||||
{
|
||||
if( 21 < interval_hh )
|
||||
// 前回の極大からの間隔がほどよい
|
||||
{
|
||||
if(( interval_hh < 160 ) && ( time_l < interval_hh ))
|
||||
// 谷を挟んでいる
|
||||
{
|
||||
if( acc_norm[0] - peak_l > 4200 ){
|
||||
// 一歩増えました
|
||||
hosu_increment();
|
||||
}
|
||||
}
|
||||
interval_hh = 0;
|
||||
}
|
||||
if( acc_norm[0] > 18000 )
|
||||
{
|
||||
th_L = acc_norm[0] - 10000;
|
||||
}
|
||||
else
|
||||
{
|
||||
th_L = 11000;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
interval_hh += ( interval_hh != 255 ) ? 1: 0; // 飽和加算って楽に書けたらいいのに
|
||||
}
|
||||
|
||||
// (2) 直近の極小からの時間
|
||||
if( acc_norm[2] >= acc_norm[1] && acc_norm[1] < acc_norm[0]
|
||||
&& acc_norm[0] < th_L )
|
||||
{
|
||||
// 極小を検出
|
||||
time_l = 0;
|
||||
peak_l = acc_norm[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
time_l += ( time_l != 255 ) ? 1: 0;
|
||||
}
|
||||
|
||||
#ifdef _DBG_PEDO_AUTO_ENABLE_
|
||||
{
|
||||
static u8 i = 0;
|
||||
|
||||
vreg_ctr[ 0x50 ] = i++;
|
||||
|
||||
vreg_ctr[ 0x51 ] = (u8)( acc_norm[0] / 256 & 0x00FF );
|
||||
vreg_ctr[ 0x52 ] = (u8)( acc_norm[0] & 0x00FF );
|
||||
|
||||
vreg_ctr[ 0x53 ] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] / 256 & 0xFF );
|
||||
vreg_ctr[ 0x54 ] = (u8)( norm_hist[ hist_indx -1 & TAP-1 ] & 0xFF );
|
||||
|
||||
vreg_ctr[ 0x55 ] = interval_hh;
|
||||
vreg_ctr[ 0x56 ] = time_l;
|
||||
|
||||
vreg_ctr[ 0x57 ] = vreg_ctr[ VREG_C_ACC_HOSU_L ];
|
||||
vreg_ctr[ 0x58 ] = (u8)( peak_l / 256 & 0x00FF );
|
||||
vreg_ctr[ 0x59 ] = (u8)( peak_l & 0x00FF );
|
||||
// vreg_ctr[ 0x5A ] = (u8)( norm_avg[0] / 256 & 0x00FF );
|
||||
// vreg_ctr[ 0x5B ] = (u8)( norm_avg[0] & 0x00FF );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*=========================================================
|
||||
歩数+1
|
||||
累積をインクリメント
|
||||
履歴を更新
|
||||
========================================================*/
|
||||
u8 p_record;
|
||||
u8 last_hour = 0x23; // 履歴の最新は何時?
|
||||
u8 last_day = 0x30;
|
||||
u8 last_month = 0x12;
|
||||
u8 last_year = 0x99;
|
||||
u8 now_min;
|
||||
u8 now_sec;
|
||||
u8 log_year;
|
||||
|
||||
|
||||
#define HOSU_NODATA 0xFFFF
|
||||
#define HOSU_MAX 0xFFFE
|
||||
|
||||
static void hosu_increment()
|
||||
{
|
||||
static u16 last_hour_fny;
|
||||
|
||||
// 累積の更新 //
|
||||
// いろいろ失敗した...
|
||||
if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 )
|
||||
{
|
||||
if( ++vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 )
|
||||
{
|
||||
if( ++vreg_ctr[ VREG_C_ACC_HOSU_H ] == 0 ){
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_L ] = 255; // カンスト orz
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_M ] = 255;
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_H ] = 255;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// 毎時履歴の更新 /////////////////////////////
|
||||
// 空白の時間を考慮する。1時間以上放置されたなど。
|
||||
u16 now_longhour;
|
||||
u8 now_year;
|
||||
|
||||
// 時計を止める必要が有るので↓は一気に行って下さい
|
||||
DI();
|
||||
RWAIT = 1;
|
||||
while( !RWST ){;}
|
||||
log_year = now_year = bcdtob( YEAR );
|
||||
|
||||
// 履歴読み出し時に使用。BCDのままでよい
|
||||
last_hour = HOUR;
|
||||
last_day = DAY;
|
||||
last_month = MONTH;
|
||||
now_min = MIN;
|
||||
now_sec = SEC;
|
||||
now_longhour = get_long_hour();
|
||||
|
||||
// RWAIT = 0; ↑で行っています
|
||||
// EI(); 〃
|
||||
|
||||
// 元旦零時台で昨日扱いになった場合の帳尻合わせ
|
||||
if( now_longhour == 65535 )
|
||||
{
|
||||
now_longhour = ( ( 365 + (( now_year & 0x03 ) == 1 ? 1: 0 )) * 24 ) -1;
|
||||
now_year -= 1;
|
||||
}
|
||||
|
||||
// 歩数計が止まっていた時間を考慮して必要なら進める //
|
||||
if( last_year == now_year )
|
||||
{
|
||||
if( now_longhour > last_hour_fny )
|
||||
{
|
||||
fill_hosu_hist_hours( now_longhour - last_hour_fny );
|
||||
}
|
||||
}
|
||||
else if( last_year == ( now_year -1 ) )
|
||||
{
|
||||
// 年をまたいでいるとき
|
||||
fill_hosu_hist_hours( ( ( 365 + (( now_year & 0x03 ) == 1 ? 1: 0 )) * 24 ) - last_hour_fny + now_longhour );
|
||||
}
|
||||
else if( last_year < now_year )
|
||||
{
|
||||
// 数年放置
|
||||
fill_hosu_hist_hours( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
// カレンダーが巻き戻るなど
|
||||
// ノーケアでよい
|
||||
}
|
||||
last_year = now_year;
|
||||
last_hour_fny = now_longhour;
|
||||
|
||||
// 実際にインクリメント
|
||||
{
|
||||
u16* p_pedo_data = &pool.vreg_c_ext.pedo_log[ p_record ];
|
||||
|
||||
if( *p_pedo_data == HOSU_NODATA )
|
||||
{
|
||||
*p_pedo_data = 1;
|
||||
}
|
||||
else if( *p_pedo_data != HOSU_MAX )
|
||||
{
|
||||
*p_pedo_data += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
空白の時間を適切に0にして、
|
||||
今を含む1時間のデータを書く位置にポインタ?を進める
|
||||
======================================================== */
|
||||
void fill_hosu_hist_hours( u16 hours )
|
||||
{
|
||||
if( hours > PEDOMETER_LOG_SIZE )
|
||||
{
|
||||
hours = PEDOMETER_LOG_SIZE;
|
||||
}
|
||||
|
||||
// 空白の数時間の設定
|
||||
do
|
||||
{
|
||||
p_record += 1;
|
||||
if( p_record >= PEDOMETER_LOG_SIZE )
|
||||
{
|
||||
p_record = 0;
|
||||
}
|
||||
pool.vreg_c_ext.pedo_log[ p_record ] = 0;
|
||||
hours -= 1;
|
||||
}
|
||||
while( hours != 0 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
空白の時間を適切に0にして、
|
||||
今を含む1時間のデータを書く位置にポインタ?を進める
|
||||
======================================================== */
|
||||
void clear_hosu_hist()
|
||||
{
|
||||
u8 hours = PEDOMETER_LOG_SIZE;
|
||||
do
|
||||
{
|
||||
hours -= 1;
|
||||
pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF;
|
||||
}
|
||||
while( hours != 0 );
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_L ] = 0;
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_M ] = 0;
|
||||
vreg_ctr[ VREG_C_ACC_HOSU_H ] = 0;
|
||||
p_record = 0;
|
||||
}
|
||||
|
||||
|
||||
extern u8 iic_burst_state;
|
||||
bit record_read_msb_lsb;
|
||||
|
||||
/* ========================================================
|
||||
歩数計ヒストリ読み出しの後処理(初期化)
|
||||
読み出しポインタのクリア
|
||||
======================================================== */
|
||||
void hosu_read_end( )
|
||||
{
|
||||
record_read_msb_lsb = 0;
|
||||
}
|
||||
|
||||
|
||||
/* ========================================================
|
||||
歩数計のヒストリを返す。
|
||||
1回呼ぶ度に、ヒストリの下位、上位、一時間遡って下位上位...
|
||||
======================================================== */
|
||||
u8 hosu_read( )
|
||||
{
|
||||
u8 dat;
|
||||
u16 temp;
|
||||
static u8 p_record_buffer;
|
||||
|
||||
switch( iic_burst_state ){
|
||||
case( 0 ):
|
||||
p_record_buffer = p_record;
|
||||
iic_burst_state += 1;
|
||||
return( last_hour );
|
||||
|
||||
case( 1 ):
|
||||
iic_burst_state += 1;
|
||||
return( last_day );
|
||||
|
||||
case( 2 ):
|
||||
iic_burst_state += 1;
|
||||
return( last_month );
|
||||
|
||||
case( 3 ):
|
||||
iic_burst_state += 1;
|
||||
return( btobcd( log_year ) );
|
||||
|
||||
case( 4 ):
|
||||
iic_burst_state += 1;
|
||||
return( now_min ); // reserved dummy
|
||||
|
||||
case( 5 ):
|
||||
iic_burst_state += 1;
|
||||
return( now_sec ); // reserved. dummy
|
||||
|
||||
default:
|
||||
temp = pool.vreg_c_ext.pedo_log[ p_record_buffer ];
|
||||
if( record_read_msb_lsb == 0 )
|
||||
{
|
||||
dat = (u8)( temp & 0x00FF );
|
||||
}
|
||||
else
|
||||
{
|
||||
dat = (u8)(( temp >> 8 ) & 0x00FF );
|
||||
if( p_record_buffer == 0 )
|
||||
{
|
||||
p_record_buffer = PEDOMETER_LOG_SIZE-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
p_record_buffer -= 1;
|
||||
}
|
||||
}
|
||||
record_read_msb_lsb ^= 1;
|
||||
return( dat );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
今年の元旦からの経過時間(hour)を返す。
|
||||
引数 無し
|
||||
返値 u16 long_hour
|
||||
======================================================== */
|
||||
const u16 DAYS_FROM_HNY[] = {
|
||||
0,
|
||||
0, 31, 31+28, 59+31, 90+30,
|
||||
120+31, 151+30, 181+31, 212+31, 243+30,
|
||||
273+31, 304+30 };
|
||||
|
||||
u16 get_long_hour()
|
||||
{
|
||||
u16 long_hour;
|
||||
u8 year_hex;
|
||||
u8 month_hex;
|
||||
u8 day_hex;
|
||||
u8 hour_hex;
|
||||
|
||||
u8 min;
|
||||
u8 sec;
|
||||
|
||||
// RWAIT = 1 を確認してから↓に進んで下さい
|
||||
year_hex = YEAR;
|
||||
month_hex = MONTH;
|
||||
day_hex = DAY;
|
||||
hour_hex = HOUR;
|
||||
min = MIN;
|
||||
sec = SEC;
|
||||
|
||||
RWAIT = 0;
|
||||
EI();
|
||||
|
||||
year_hex = bcdtob( year_hex );
|
||||
month_hex = bcdtob( month_hex );
|
||||
day_hex = bcdtob( day_hex );
|
||||
hour_hex = bcdtob( hour_hex );
|
||||
|
||||
// まず日数の部分
|
||||
long_hour = DAYS_FROM_HNY[ month_hex ];
|
||||
if(( ( year_hex & 0x03 ) == 0 ) && ( ( 3 <= month_hex )))
|
||||
{
|
||||
// 閏年で、閏日より後
|
||||
long_hour += 1;
|
||||
}
|
||||
long_hour += day_hex - 1;
|
||||
long_hour *= 24; // 日数→時間
|
||||
|
||||
long_hour += hour_hex;
|
||||
|
||||
if( ( min > vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] )
|
||||
|| ( ( min >= vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] )
|
||||
&& ( sec > vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC ] ))
|
||||
)
|
||||
{
|
||||
return( long_hour );
|
||||
}
|
||||
else
|
||||
{
|
||||
return( long_hour -1 ); // 1時間前に含める 注意:元旦の0時
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned long my_sqrt(unsigned long x)
|
||||
{
|
||||
unsigned long s, t;
|
||||
|
||||
if (x <= 0) return 0;
|
||||
|
||||
s = 1;
|
||||
t = x;
|
||||
while (s < t)
|
||||
{
|
||||
s <<= 1;
|
||||
t >>= 1;
|
||||
}
|
||||
do
|
||||
{
|
||||
t = s;
|
||||
s = (x / s + s) >> 1;
|
||||
} while (s < t);
|
||||
|
||||
return t;
|
||||
}
|
@ -1,84 +0,0 @@
|
||||
#ifndef _pedo_coeff_h_
|
||||
#define _pedo_coeff_h_
|
||||
|
||||
// =========================================================
|
||||
#define TAP 64
|
||||
#define FIL_COEFF_QUANT 10
|
||||
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
|
||||
*/
|
||||
};
|
||||
#endif
|
@ -1,22 +0,0 @@
|
||||
#ifndef _pedo_
|
||||
#define _pedo_
|
||||
|
||||
|
||||
// =========================================================
|
||||
void hosu_read_end( );
|
||||
u8 hosu_read( );
|
||||
void fill_hosu_hist_hours( u16 );
|
||||
void clear_hosu_hist();
|
||||
void pedometer();
|
||||
|
||||
|
||||
|
||||
// =========================================================
|
||||
#define PEDOMETER_LOG_SIZE ( 24 * 7 )
|
||||
|
||||
|
||||
|
||||
// =========================================================
|
||||
|
||||
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -1,205 +0,0 @@
|
||||
#ifndef __PM__
|
||||
#define __PM__
|
||||
|
||||
|
||||
|
||||
#define IIC_SLA_PMIC 0x84
|
||||
#define IIC_SLA_BT_GAUGE 0x6C
|
||||
|
||||
#define VCOM_DEFAULT_T 92
|
||||
#define VCOM_DEFAULT_B 95
|
||||
|
||||
|
||||
|
||||
#define BATT_TH_LO 10
|
||||
#define BATT_TH_EMPTY 5
|
||||
|
||||
// 電圧レジスタと直接比較できる用にオフセット
|
||||
#define V_TH_30 (u16)( 3300 * 12.8 )
|
||||
#define V_TH_LO (u16)( 3200 * 12.8 )
|
||||
#define V_TH_EMPTY (u16)( 3150 * 12.8 )
|
||||
#define V_TH_ZERO (u16)( 3100 * 12.8 )
|
||||
#define V_TH_FORCE_OFF (u16)( 2900 * 12.8 )
|
||||
|
||||
|
||||
//=========================================================
|
||||
#define LED_CHARGE P2.4
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
enum PMIC_REG_ADRS
|
||||
{
|
||||
PM_REG_ADRS_VER = 0x00, // verinfo など
|
||||
PM_REG_ADRS_VDD_SYS, // システムが使用する電源
|
||||
PM_REG_ADRS_VDD_LCD, // 液晶電源
|
||||
PM_REG_ADRS_CONT, // /RESET1, LoadSwitch
|
||||
PM_REG_ADRS_BL, // バックライト on/off
|
||||
PM_REG_ADRS_POW_SAVE, // 省電力設定
|
||||
PM_REG_ADRS_POW_DAC1,
|
||||
PM_REG_ADRS_POW_DAC2
|
||||
};
|
||||
|
||||
enum BT_GAUGE_REG_ADRS
|
||||
{
|
||||
BT_GAUGE_REG_VCELL = 0x02, // それぞれ16ビットのため
|
||||
BT_GAUGE_REG_SOC = 0x04,
|
||||
BT_GAUGE_REG_MODE = 0x06,
|
||||
BT_GAUGE_REG_VERSION = 0x08,
|
||||
BT_GAUGE_REG_OCV = 0x0E,
|
||||
BT_GAUGE_REG_RCOMP = 0x0C,
|
||||
BT_GAUGE_REG_LOCK = 0x3E,
|
||||
BT_GAUGE_REG_BT_PARAM = 0x40,
|
||||
BT_GAUGE_REG_COMMAND = 0xFE
|
||||
};
|
||||
|
||||
|
||||
typedef enum BT_VENDER
|
||||
{
|
||||
BT_VENDER_MAXELL = 0, // ショート
|
||||
BT_VENDER_1, // 120
|
||||
BT_VENDER_2, // 360
|
||||
BT_VENDER_3, // 750
|
||||
BT_VENDER_4, // 1.3k
|
||||
BT_VENDER_PANA = 5, // 2.7k
|
||||
BT_VENDER_6, // 8.2k
|
||||
BT_VENDER_OPEN = 7, // open
|
||||
BT_VENDER_NOT_CHECKED = 0xFF,
|
||||
}BT_VENDER;
|
||||
|
||||
|
||||
|
||||
enum NTR_PM_BT_STATUS{
|
||||
NTR_PM_BT_ENOUGH,
|
||||
NTR_PM_BT_EMPTY,
|
||||
NTR_PM_BT_NOT_INITIALIZED = 0xFF
|
||||
};
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
// CODEC上のPMIC互換レジスタ
|
||||
#define CODEC_REG_PM 0x10
|
||||
#define CODEC_REG_BL 0x11
|
||||
#define CODEC_REG_BT 0x12
|
||||
//#define CODEC_REG_VOL 0x13 // ...都合により、adc.hで定義
|
||||
|
||||
// TWLがSPIでPMICに投げたコマンド
|
||||
#define REG_BIT_TWL_REQ_OFF_REQ ( 1 << 6 )
|
||||
#define REG_BIT_TWL_REQ_RST_REQ ( 1 << 0 )
|
||||
#define REG_BIT_TWL_REQ_BL ( 3 << 2 )
|
||||
|
||||
|
||||
|
||||
|
||||
// 0x03 pw cnt3
|
||||
#define PM_REG_BIT_LDSW ( 1 << 0 )
|
||||
#define PM_REG_BIT_nRST1 ( 1 << 1 )
|
||||
|
||||
// 0x01 pw cnt1
|
||||
#define PM_REG_BIT_VDD 0x0F
|
||||
#define PM_REG_BIT_VDD50A ( 1 << 4 )
|
||||
|
||||
// 0x02 pw cnt2
|
||||
#define PM_REG_BIT_VDDLCD 0x07
|
||||
#define PM_REG_BIT_LCD_VCS ( 0x01 << 4 )
|
||||
#define PM_REG_BIT_LCD_TCOM ( 0x01 << 3 )
|
||||
|
||||
// 0x04 bl cnt
|
||||
#define PM_REG_BIT_BL_U 0x01
|
||||
#define PM_REG_BIT_BL_L 0x02
|
||||
|
||||
|
||||
// 0x05 pow save
|
||||
#define PM_REG_BIT_VDD1P_1R15 0b00000000
|
||||
#define PM_REG_BIT_VDD1P_1R05 0b00001000
|
||||
#define PM_REG_BIT_VDD1P_0R90 0b00100000
|
||||
#define PM_REG_BIT_VDD_AUTO 0b00000111
|
||||
#define PM_REG_BIT_VDD_PWM 0b00000000
|
||||
|
||||
|
||||
#define DELAY_PM_TW_PWUP 16 + 2
|
||||
#define DELAY_PM_TSS_50B_AND_TCOM 17 + 1
|
||||
#define DELAY_PM_5V_TO_TCOM 17 + 1
|
||||
#define DELAY_PM_TCOM_TO_VCS 3
|
||||
#define DELAY_PM_VCS_TO_BL ( 17 + 5 )
|
||||
#define DELAY_PM_LCD_OFF ( 50 + 1 )
|
||||
|
||||
|
||||
//=========================================================
|
||||
extern u8 raw_adc_temperature;
|
||||
extern BT_VENDER battery_manufacturer;
|
||||
extern bit bt_force_update;
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
err PM_sys_pow_on( );
|
||||
void PM_sys_pow_off( );
|
||||
//err PM_bt_auth( );
|
||||
void PM_LCD_vcom_set( );
|
||||
|
||||
err PM_LCD_on( );
|
||||
void PM_LCD_off( );
|
||||
err PM_BL_set( u8 );
|
||||
|
||||
|
||||
void BT_chk();
|
||||
void BT_get_left();
|
||||
void pm_chk_adapter();
|
||||
|
||||
void codec_reg_init();
|
||||
|
||||
|
||||
|
||||
task_status_immed tski_BT_temp_update( );
|
||||
task_status_immed tski_vcom_set( );
|
||||
task_status_immed tski_PM_LCD_on();
|
||||
task_status_immed tski_PM_LCD_off();
|
||||
task_status_immed tski_PM_BL_set();
|
||||
|
||||
|
||||
#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); while( !BT_IN_CHG_n ){;}; LED_CHARGE = 0; bt_chg_ready = false; }
|
||||
|
||||
|
||||
// これを呼ぶ前に、現在温度を教えておく必要があります。
|
||||
#define PM_reset() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, 0x00 ) )
|
||||
|
||||
|
||||
//=========================================================
|
||||
|
||||
|
||||
// 元栓 //
|
||||
#define PM_LDSW_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, PM_REG_BIT_LDSW ))
|
||||
#define PM_LDSW_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, 0 ))
|
||||
|
||||
|
||||
// システム電源 //
|
||||
#define PM_VDD_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD ))
|
||||
#define PM_VDD50A_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD | PM_REG_BIT_VDD50A )))
|
||||
#define PM_VDD_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, 0 ))
|
||||
#define PM_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_SYS, 0 ))
|
||||
|
||||
#define PM_VDD_normMode() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_1R15 | PM_REG_BIT_VDD_PWM ))
|
||||
#define PM_VDD_ecoMode() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_0R90 | PM_REG_BIT_VDD_AUTO ))
|
||||
|
||||
// ほか //
|
||||
#define PM_reset_neg() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW | PM_REG_BIT_nRST1 )))
|
||||
#define PM_reset_ast() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW )))
|
||||
#define PM_chk_LDSW() ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_CONT ) & PM_REG_BIT_LDSW )
|
||||
// ↑ 0 だと異常
|
||||
|
||||
// 液晶系電源 //
|
||||
#define PM_VDDLCD_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, PM_REG_BIT_VDDLCD ))
|
||||
#define PM_TCOM_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_TCOM )))
|
||||
#define PM_VCS_on() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS | PM_REG_BIT_LCD_TCOM )))
|
||||
#define PM_TCOM_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, ( PM_REG_BIT_VDDLCD | PM_REG_BIT_LCD_VCS )))
|
||||
#define PM_TCOM_VCS_off() PM_VDDLCD_on()
|
||||
#define PM_VDDLCD_off() ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD, 0 ) )
|
||||
|
||||
#define PM_set_BL( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL, dat ) )
|
||||
#define PM_set_adc1( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC1, dat ) )
|
||||
#define PM_set_adc2( dat ) ( iic_mcu_write_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_POW_DAC2, dat ) )
|
||||
|
||||
|
||||
#endif // __PM__
|
@ -1,24 +0,0 @@
|
||||
#ifndef _pool_h_
|
||||
#define _pool_h_
|
||||
|
||||
|
||||
#include "pedometer.h"
|
||||
|
||||
#define VREG_C_FREE_SIZE 200
|
||||
|
||||
// 空いてるメモリ
|
||||
typedef struct _st_vreg_c_ext{
|
||||
unsigned short pedo_log[ PEDOMETER_LOG_SIZE ];
|
||||
unsigned char vreg_c_free[ VREG_C_FREE_SIZE ];
|
||||
}st_vreg_c_ext;
|
||||
|
||||
typedef union _uni_pool
|
||||
{
|
||||
st_vreg_c_ext vreg_c_ext;
|
||||
u8 self_update_work[ 256 ]; // 256以上はまとめ書きできない
|
||||
}uni_pool;
|
||||
|
||||
extern uni_pool pool;
|
||||
|
||||
|
||||
#endif
|
@ -1,24 +0,0 @@
|
||||
/********************************************************//*
|
||||
|
||||
むりやりリブート
|
||||
|
||||
ファイル中にインラインアセンブラがあると、
|
||||
そのモジュール全部最適化が聞かなくなるため追い出した
|
||||
|
||||
**********************************************************/
|
||||
#pragma SFR
|
||||
|
||||
#include "incs_loader.h"
|
||||
|
||||
|
||||
void my_reboot(){
|
||||
#asm
|
||||
|
||||
MOV PSW,#06H ; ダミーのPSWをセット
|
||||
MOVW AX,#000d0h ; リセットのベクタ値を取り込んでいます。
|
||||
PUSH PSW
|
||||
PUSH AX ; これでRETIのためのスタックを準備
|
||||
RETI ; これでリセット・ベクタに分岐
|
||||
|
||||
#endasm
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
#ifndef __MYREBOOT__
|
||||
#define __MYREBOOT__
|
||||
|
||||
void my_reboot();
|
||||
|
||||
#endif
|
@ -1,306 +0,0 @@
|
||||
#pragma section @@CODE ROM_CODE
|
||||
#pragma nop
|
||||
#pragma ei
|
||||
#pragma di
|
||||
#pragma sfr
|
||||
|
||||
/******************************************************************************
|
||||
タスクシステム?
|
||||
なるほど、iTRONにはコンフィギュレータがあるはずだ。
|
||||
→作りました
|
||||
ctr_mcu_config.rb 参照。 task_config.hが作成されます。
|
||||
*****************************************************************************/
|
||||
#include "renge.h"
|
||||
#include "renge_task_intval.h"
|
||||
#include "renge_task_immediate.h"
|
||||
#include "..\WDT.h"
|
||||
#include "..\config.h"
|
||||
#include "..\user_define.h"
|
||||
|
||||
|
||||
//#define _renge_test_
|
||||
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
//******************************************************************************
|
||||
u8 renge_flg_interval;
|
||||
bit renge_task_interval_run_force;
|
||||
bit renge_task_immediate_not_empty;
|
||||
|
||||
bit renge_task_interval_in_force;
|
||||
|
||||
|
||||
|
||||
#include "..\bsr_system.h"
|
||||
extern system_status_ system_status;
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
static void renge_task_immed_init();
|
||||
static void renge_task_immed_del();
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
task_status_immed ( *tasks_immed[ TASK_IMMED_RUN_LIST_MAX ] )();
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
初期化
|
||||
・タスクシステムの動的部分の初期化
|
||||
・インターバルタイマ
|
||||
*****************************************************************************/
|
||||
void renge_init(){
|
||||
renge_task_immed_init();
|
||||
/*
|
||||
イベントタイマのセットなど
|
||||
今回はRTCを流用しているのでコメントアウト
|
||||
#define renge_tick 19xxxxxxx [ms]
|
||||
renge_interval_init(); → RTC_init();
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
システムチックを進める
|
||||
*****************************************************************************/
|
||||
/*
|
||||
void renge_interval(){
|
||||
// RTCがやってくれる
|
||||
→__interrupt void int_rtc_int();
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
コンパイル時に決まっている、インターバル起動のタスク
|
||||
そのうち、逐次起動と混ぜるかもしれない。
|
||||
*****************************************************************************/
|
||||
err renge_task_interval_run(){
|
||||
u8 i;
|
||||
|
||||
// インターバル起動
|
||||
DI();
|
||||
if(( renge_flg_interval != 0 ) ||
|
||||
( renge_task_interval_run_force )) // todo 統合
|
||||
{
|
||||
renge_task_interval_in_force = renge_task_interval_run_force;
|
||||
renge_task_interval_run_force = false; // 今から起動するタスク、割り込むタスクでフラグが立つかもなので
|
||||
if( renge_flg_interval != 0 )
|
||||
{
|
||||
renge_flg_interval -= 1;
|
||||
WDT_Restart( );
|
||||
}
|
||||
EI();
|
||||
for( i = 0; i != TSK_LAST; i += 1 )
|
||||
{
|
||||
tasks[ i ]();
|
||||
// 逐次起動タスクがあったら間に挟む
|
||||
renge_task_immed_run();
|
||||
}
|
||||
}
|
||||
EI();
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
■逐一起動タスク■
|
||||
|
||||
●task_immed を返す関数。
|
||||
●システムtick、何らかの割り込み(I2C通信完了など)で
|
||||
スリープから復帰したタイミングで実行されます。
|
||||
|
||||
■返値 ERR_FINISED タスクを削除
|
||||
それ以外 次のタイミングでまた実行
|
||||
|
||||
*****************************************************************************/
|
||||
|
||||
|
||||
/**************************************
|
||||
**************************************/
|
||||
void renge_task_immed_init(){
|
||||
u8 i;
|
||||
|
||||
for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i++ ){
|
||||
tasks_immed[ i ] = TSK_IMM_EMPTY_;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************
|
||||
逐次実行タスクの登録
|
||||
割り込み禁止 36us →
|
||||
**************************************/
|
||||
err renge_task_immed_add( task_status_immed (*new_task)() ){
|
||||
u8 i;
|
||||
|
||||
// リストの空きの先頭に登録
|
||||
// 削除したばかりのタスクは、削除マーク(TSK_IMM_DELETED_)となり、空きとは明示的に区別される
|
||||
// 重複登録を避ける
|
||||
for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i += 1 )
|
||||
{
|
||||
DI();
|
||||
if( tasks_immed[ i ] == TSK_IMM_EMPTY_ )
|
||||
{
|
||||
// 空きを見つけた
|
||||
tasks_immed[ i ] = new_task;
|
||||
EI();
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
else
|
||||
{
|
||||
// 重複登録チェック
|
||||
/// 歯抜けになってない、前詰めされてる前提
|
||||
if( tasks_immed[ i ] == new_task )
|
||||
{
|
||||
// 重複登録はしない
|
||||
EI();
|
||||
return( ERR_ERR );
|
||||
}
|
||||
}
|
||||
EI();
|
||||
}
|
||||
// タスク登録しすぎ(無いはず
|
||||
return( ERR_ERR );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**************************************
|
||||
逐次実行タスクの実行
|
||||
**************************************/
|
||||
err renge_task_immed_run(){
|
||||
u8 list_id;
|
||||
|
||||
// while( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ )
|
||||
if( tasks_immed[ 0 ] != TSK_IMM_EMPTY_ )
|
||||
{
|
||||
DI();
|
||||
for( list_id = 0; list_id < TASK_IMMED_RUN_LIST_MAX; list_id += 1 ){
|
||||
if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){
|
||||
// リスト完了
|
||||
EI();
|
||||
break;
|
||||
}
|
||||
#ifdef _renge_test_
|
||||
else if( tasks_immed[ list_id ] == TSK_IMM_DELETED_ )
|
||||
{
|
||||
EI();
|
||||
NOP();
|
||||
// タスク管理の不備
|
||||
// 存在しないタスクを実行しようとした
|
||||
// タスクの削除後の処理がまずい
|
||||
// 予期しないタイミングで immed_run が呼ばれた
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
u8 rv;
|
||||
|
||||
EI();
|
||||
rv = tasks_immed[ list_id ]();
|
||||
if( rv == ERR_SUCCESS )
|
||||
{
|
||||
tasks_immed[ list_id ] = TSK_IMM_DELETED_;
|
||||
}
|
||||
}
|
||||
DI();
|
||||
}
|
||||
// リスト上のタスクを一通り実行した
|
||||
|
||||
// タスク削除 //
|
||||
{
|
||||
u8 i = 0; // リストの並べ替え先
|
||||
u8 j = 1;
|
||||
|
||||
// 必ず i < j、j < TASK_IMMED_RUN_LIST_MAX (でないとタスクあふれ)
|
||||
while( 1 )
|
||||
{
|
||||
if( tasks_immed[ i ] == TSK_IMM_EMPTY_ )
|
||||
{
|
||||
// 前詰め完了 && リスト空っぽ
|
||||
// break;
|
||||
goto imm_list_sort_fin;
|
||||
}
|
||||
else if( tasks_immed[ i ] == TSK_IMM_DELETED_ )
|
||||
{
|
||||
for( ; j < TASK_IMMED_RUN_LIST_MAX; j++ )
|
||||
{
|
||||
if( tasks_immed[ j ] == TSK_IMM_DELETED_ )
|
||||
{
|
||||
// 隣(?)も削除対象だった
|
||||
// next j
|
||||
}
|
||||
else
|
||||
{
|
||||
DI();
|
||||
if( tasks_immed[ j ] == TSK_IMM_EMPTY_ )
|
||||
{
|
||||
do{
|
||||
j -= 1;
|
||||
DI();
|
||||
tasks_immed[ j ] = TSK_IMM_EMPTY_;
|
||||
// リスト前詰め完了
|
||||
EI();
|
||||
}while( i < j );
|
||||
goto imm_list_sort_fin;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 前詰めすべきタスクを見つけた
|
||||
tasks_immed[ i ] = tasks_immed[ j ];
|
||||
tasks_immed[ j ] = TSK_IMM_DELETED_;
|
||||
i += 1;
|
||||
EI();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// このタスク、滞留
|
||||
}
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
imm_list_sort_fin:
|
||||
// ここまでで完全に前詰めされている
|
||||
#ifdef _renge_test_
|
||||
/// ほんと?
|
||||
{
|
||||
u8 a,b;
|
||||
|
||||
a = 0;
|
||||
for( b = 0 ; b < TASK_IMMED_RUN_LIST_MAX; b++ )
|
||||
{
|
||||
if( tasks_immed[ b ] == TSK_IMM_EMPTY_ )
|
||||
{
|
||||
a = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( a != 0 )
|
||||
{
|
||||
NOP(); // EMPTYより後ろにタスクやdeletedが有る
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
NOP(); // リンカが怒る
|
||||
#endif
|
||||
// }
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
|
||||
|
@ -1,28 +0,0 @@
|
||||
#ifndef __renge__
|
||||
#define __renge__
|
||||
|
||||
//******************************************************************************
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
#include "renge_defs.h"
|
||||
#include "renge_task_immediate.h"
|
||||
// #include "renge_task_interval_run.h" // 外から強制起動禁止!
|
||||
|
||||
//******************************************************************************
|
||||
void renge_init();
|
||||
void renge_task_immed_init();
|
||||
err renge_task_immed_run();
|
||||
err renge_task_immed_add( task_status_immed (*p_task_func)() );
|
||||
// static err renge_task_immed_del( u8 );
|
||||
|
||||
|
||||
|
||||
//******************************************************************************
|
||||
err renge_task_interval_run();
|
||||
extern u8 renge_flg_interval;
|
||||
extern bit renge_task_interval_run_force; // タスク強制実行フラグ
|
||||
extern bit renge_task_interval_in_force; // 強制実行中フラグ
|
||||
|
||||
#endif
|
@ -1,55 +0,0 @@
|
||||
#ifndef __renge_defs__
|
||||
#define __renge_defs__
|
||||
/******************************************************************************
|
||||
Renge Ver.0 (2009/04/09)
|
||||
2009- 7k4jhl R.Fujita @ RED.nintendo
|
||||
|
||||
OSにはほど遠い、簡易的なタスクシステム。
|
||||
Range の Typo ではないです。レンゲです。
|
||||
|
||||
なんと レンゲ は俗称で日本名は ゲンゲ
|
||||
小さいけど役に立つ役草です。
|
||||
大きく育ってね!
|
||||
******************************************************************************/
|
||||
|
||||
typedef unsigned char u8;
|
||||
typedef signed char s8;
|
||||
typedef unsigned short u16;
|
||||
typedef signed short s16;
|
||||
|
||||
|
||||
// ************************************
|
||||
#define SYS_INTERVAL_TICK 1.953
|
||||
|
||||
|
||||
|
||||
// ************************************
|
||||
typedef enum _ERR
|
||||
{
|
||||
ERR_SUCCESS = 0,
|
||||
ERR_ERR
|
||||
}err;
|
||||
|
||||
|
||||
typedef enum _IMMED_TASK_ERR
|
||||
{
|
||||
ERR_FINISED = 0,
|
||||
ERR_CONTINUE
|
||||
}IMMED_TASK_ERR;
|
||||
|
||||
|
||||
|
||||
/**************************************
|
||||
インターバル起動
|
||||
*************************************/
|
||||
typedef void task_status;
|
||||
|
||||
|
||||
/**************************************
|
||||
逐一起動のタスクリスト
|
||||
廃止になるかもしれないが
|
||||
*************************************/
|
||||
typedef IMMED_TASK_ERR task_status_immed;
|
||||
|
||||
|
||||
#endif
|
@ -1,59 +0,0 @@
|
||||
#!/usr/bin/ruby -Ks
|
||||
|
||||
tasklist = Array.new
|
||||
|
||||
|
||||
if( ARGV[0] == nil )
|
||||
printf( "既定ファイル renge_tasks.txt を使用します" )
|
||||
datfile = "renge_tasks.txt"
|
||||
else
|
||||
datfile = ARGV[0]
|
||||
end
|
||||
|
||||
if( !File.exist?( datfile ) )
|
||||
printf("設定ファイルが見つかりません。")
|
||||
exit( 1 )
|
||||
end
|
||||
|
||||
|
||||
setting = File.open( datfile )
|
||||
|
||||
setting.each{|dat|
|
||||
dat.chomp!
|
||||
if( dat != nil )
|
||||
tasklist << dat
|
||||
end
|
||||
}
|
||||
|
||||
tasklist.each{|dat|
|
||||
printf( "\n%s" , dat )
|
||||
}
|
||||
printf( "\n----------\nタスク数 %d \n", tasklist.size )
|
||||
|
||||
|
||||
#----- 静的タスクの列挙 -------------------------------------------------------
|
||||
conf = File.new( "renge_task_intval.h", "w+" )
|
||||
|
||||
conf << "/*スクリプトによる自動生成です。手動で書き換えない方がよいです*/\n\n"
|
||||
conf << "#ifndef __renge_task__\n#define __renge_task__\n\n"
|
||||
conf << "#include \"renge_defs.h\"\n\n"
|
||||
|
||||
conf << "enum {\n "
|
||||
tasklist.each{|dat|
|
||||
conf << "TSK_" << dat.upcase << ", "
|
||||
}
|
||||
conf << "TSK_LAST \n };\n\n"
|
||||
|
||||
|
||||
tasklist.each{|dat|
|
||||
conf << "extern void tsk_" << dat << "();\n"
|
||||
}
|
||||
conf << "\n"
|
||||
|
||||
conf << "const void ( *tasks[ TSK_LAST ] )() = {\n"
|
||||
tasklist.each{|dat|
|
||||
conf << " tsk_" << dat << ",\n"
|
||||
}
|
||||
conf << " };\n"
|
||||
|
||||
conf << "\n#endif\n"
|
@ -1,26 +0,0 @@
|
||||
#ifndef __tasks__
|
||||
#define __tasks__
|
||||
|
||||
#include "renge_defs.h"
|
||||
|
||||
// *************************************
|
||||
#define TASK_IMMED_RUN_LIST_MAX 16
|
||||
|
||||
|
||||
extern task_status_immed tski_do_command0( );
|
||||
extern task_status_immed tski_ntr_pmic_comm();
|
||||
extern task_status_immed tski_acc_read();
|
||||
extern task_status_immed tski_acc_write();
|
||||
extern task_status_immed tski_mcu_info_read();
|
||||
//extern task_status_immed tski_acc_hosu_set(); // accero.h
|
||||
extern task_status_immed tski_mcu_reset();
|
||||
extern task_status_immed tski_vol_update();
|
||||
|
||||
|
||||
// *************************************
|
||||
#define TSK_IMM_EMPTY_ ( void * )( 0x0000 )
|
||||
#define TSK_IMM_DELETED_ ( void * )( 0x0001 )
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -1,37 +0,0 @@
|
||||
/*スクリプトによる自動生成です。手動で書き換えない方がよいです*/
|
||||
|
||||
#ifndef __renge_task__
|
||||
#define __renge_task__
|
||||
|
||||
#include "renge_defs.h"
|
||||
|
||||
enum TSK
|
||||
{
|
||||
TSK_SW, TSK_ADC, TSK_BATT, TSK_LED_POW, TSK_LED_WIFI, TSK_LED_NOTIFY, TSK_LED_CAM, TSK_MISC, TSK_STATUS, TSK_SYS, TSK_LAST
|
||||
};
|
||||
|
||||
extern void tsk_sw();
|
||||
extern void tsk_adc();
|
||||
extern void tsk_batt();
|
||||
extern void tsk_led_pow();
|
||||
extern void tsk_led_wifi();
|
||||
extern void tsk_led_notify();
|
||||
extern void tsk_led_cam();
|
||||
extern void tsk_misc();
|
||||
extern void tsk_status();
|
||||
extern void tsk_sys();
|
||||
|
||||
const void ( *tasks[ TSK_LAST ] )() = {
|
||||
tsk_sw,
|
||||
tsk_adc,
|
||||
tsk_batt,
|
||||
tsk_led_pow,
|
||||
tsk_led_wifi,
|
||||
tsk_led_notify,
|
||||
tsk_led_cam,
|
||||
tsk_misc,
|
||||
tsk_status,
|
||||
tsk_sys,
|
||||
};
|
||||
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
sw
|
||||
adc
|
||||
batt
|
||||
led_pow
|
||||
led_wifi
|
||||
led_notify
|
||||
led_cam
|
||||
misc
|
||||
status
|
||||
debug
|
||||
sys
|
@ -1,169 +0,0 @@
|
||||
/* ========================================================
|
||||
RTC
|
||||
======================================================== */
|
||||
#pragma sfr
|
||||
#pragma inline
|
||||
|
||||
|
||||
#include "incs.h"
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
u8 rtc_work[7];
|
||||
bit rtc_lock;
|
||||
bit rtc_dirty;
|
||||
bit rtc_alarm_dirty;
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ペリフェラルの初期化
|
||||
レジスタの電池交換ビットのセット
|
||||
======================================================== */
|
||||
void RTC_init( void )
|
||||
{
|
||||
|
||||
if( !RTCEN ) // ビットが立っていたらリブート
|
||||
{
|
||||
RTCEN = 1; // モジュールON
|
||||
|
||||
// RTC設定
|
||||
RTCC0 = 0b00001000; /* 動作停止、24時間制、32k出力「まだなし」、定周期割り込みなし */
|
||||
RTCC1 = 0b11000000; /* アラーム割り込み有効&動作開始 */
|
||||
RTCC2 = 0b10000000; /* インターバル:32k/2^6=2ms、RTCDIV出力なし */
|
||||
|
||||
HOUR = 0x00;
|
||||
MIN = 0x00;
|
||||
SEC = 0x00;
|
||||
MONTH = 0x01;
|
||||
DAY = 0x01;
|
||||
WEEK = 0x01; // Mon
|
||||
YEAR = 0x01;
|
||||
|
||||
ALARMWW = 0x7F;
|
||||
|
||||
vreg_ctr[VREG_C_MCU_STATUS] |= REG_BIT_RTC_BLACKOUT;
|
||||
}
|
||||
// 割り込み設定
|
||||
RTCIF = 0;
|
||||
RTCIIF = 0;
|
||||
RTCMK = 1; /* 割り込み(定周期)禁止 */
|
||||
RTCIMK = 0; /* 割り込み(アラーム&インターバル)許可 */
|
||||
|
||||
RTCE = 1; /* 動作開始 */
|
||||
|
||||
RWAIT = 1;
|
||||
while( !RWST )
|
||||
{;}
|
||||
RWAIT = 0;
|
||||
|
||||
rtc_lock = false;
|
||||
rtc_dirty = false;
|
||||
rtc_alarm_dirty = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
RTC アラーム割り込み
|
||||
======================================================== */
|
||||
__interrupt void int_rtc( )
|
||||
{
|
||||
RWAIT = 1;
|
||||
while( !RWST )
|
||||
{;}
|
||||
// 日付も指定日で
|
||||
if( ( vreg_ctr[VREG_C_RTC_ALARM_DAY] == DAY )
|
||||
&& ( vreg_ctr[VREG_C_RTC_ALARM_MONTH] == MONTH )
|
||||
&& ( vreg_ctr[VREG_C_RTC_ALARM_YEAR] == YEAR ) )
|
||||
{
|
||||
set_irq( VREG_C_IRQ1, REG_BIT_RTC_ALARM );
|
||||
}
|
||||
RWAIT = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
RTC のリード
|
||||
レジスタは、sec,min,hour,week,day,month,year の順
|
||||
======================================================== */
|
||||
void rtc_buf_reflesh( )
|
||||
{
|
||||
if( !rtc_lock )
|
||||
{
|
||||
rtc_lock = true;
|
||||
RWAIT = 1;
|
||||
while( !RWST )
|
||||
{;}
|
||||
|
||||
memcpy( &vreg_ctr[VREG_C_RTC_SEC], &SEC, 7 );
|
||||
RWAIT = 0;
|
||||
// renge_task_immed_add( tski_rtc_close );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
RTC のライト
|
||||
set_rtc_close と対で使って下さい。
|
||||
こいつはバッファにコピーするだけで、
|
||||
実際にRTCにセットするのはset_rtc_close()です。
|
||||
======================================================== */
|
||||
void set_rtc( u8 adrs, u8 data )
|
||||
{
|
||||
if( !rtc_dirty )
|
||||
{
|
||||
rtc_dirty = true;
|
||||
memcpy( rtc_work, &SEC, 7 );
|
||||
// renge_task_immed_add( tski_rtc_close ); // I2C終了時に行う
|
||||
}
|
||||
rtc_work[adrs] = data;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
必要ならば、RTCレジスタの更新
|
||||
======================================================== */
|
||||
// task_status_immed tski_rtc_close(){
|
||||
void rtc_unlock( )
|
||||
{
|
||||
// リードロック
|
||||
rtc_lock = false;
|
||||
|
||||
// ライトロック
|
||||
if( rtc_dirty )
|
||||
{
|
||||
rtc_dirty = false;
|
||||
RWAIT = 1;
|
||||
while( !RWST )
|
||||
{;}
|
||||
memcpy( &SEC, rtc_work, 7 );
|
||||
RWAIT = 0;
|
||||
}
|
||||
|
||||
// アラームセット
|
||||
if( rtc_alarm_dirty )
|
||||
{
|
||||
rtc_alarm_dirty = false;
|
||||
WALE = 0;
|
||||
ALARMWM = vreg_ctr[VREG_C_RTC_ALARM_MIN];
|
||||
ALARMWH = vreg_ctr[VREG_C_RTC_ALARM_HOUR];
|
||||
WALE = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
RTC システムチックタイマ割り込みベクタ
|
||||
2^6/fXT(1.953125 ms)
|
||||
======================================================== */
|
||||
__interrupt void int_rtc_int( )
|
||||
{
|
||||
renge_flg_interval += 1; // インクリメント/デクリメント命令を使うので DI()不要
|
||||
}
|
@ -1,21 +0,0 @@
|
||||
#ifndef __rtc_h__
|
||||
#define __rtc_h__
|
||||
|
||||
|
||||
void RTC_init( void );
|
||||
void rtc_buf_reflesh( );
|
||||
void set_rtc( u8 adrs, u8 data );
|
||||
|
||||
//task_status_immed tski_rtc_close();
|
||||
void rtc_unlock( );
|
||||
|
||||
// ------------------------------------
|
||||
#define RTC_32k_on() { RCLOE0 = 1; }
|
||||
#define RTC_32k_off() { RCLOE0 = 0; }
|
||||
|
||||
|
||||
// ------------------------------------
|
||||
extern bit rtc_alarm_dirty;
|
||||
|
||||
|
||||
#endif
|
@ -1,600 +0,0 @@
|
||||
/* ========================================================
|
||||
自己アップデータ
|
||||
======================================================== */
|
||||
#pragma SFR
|
||||
#pragma di
|
||||
#pragma ei
|
||||
#pragma nop
|
||||
#pragma stop
|
||||
#pragma halt
|
||||
|
||||
|
||||
#include "incs_loader.h"
|
||||
|
||||
#include <fsl.h>
|
||||
#include "fsl_user.h"
|
||||
#include "i2c_ctr.h"
|
||||
|
||||
#include "pool.h"
|
||||
#include "magic.h"
|
||||
|
||||
#include "pm.h"
|
||||
|
||||
// ========================================================
|
||||
const u8 fsl_fx_MHz_u08 = 8;
|
||||
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
|
||||
|
||||
// ↓ブロック番号(1ブロック=1kB)
|
||||
#define INACTIVE_BOOTSECT_TOP 4
|
||||
#define FIRM_TOP 8
|
||||
#define FIRM_SIZE 12
|
||||
#define ALTERNATE_FIRMTOP 20
|
||||
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
#define ACKD ACKD1
|
||||
#define ACKE ACKE1
|
||||
#define COI COI1
|
||||
#define IICAEN IICA1EN
|
||||
#define IICAPR0 IICAPR10
|
||||
#define IICRSV IICRSV1
|
||||
#define IICA IICA1
|
||||
#define IICAIF IICAIF1
|
||||
#define IICAMK IICAMK1
|
||||
#define IICAPR1 IICAPR11
|
||||
#define IICCTL0 IICCTL01
|
||||
#define IICE IICE1
|
||||
#define IICF IICF1
|
||||
#define IICS IICS1
|
||||
#define IICWH IICWH1
|
||||
#define IICWL IICWL1
|
||||
#define LREL LREL1
|
||||
#define SPD SPD1
|
||||
#define SPIE SPIE1
|
||||
#define STCEN STCEN1
|
||||
#define STD STD1
|
||||
#define SVA SVA1
|
||||
#define WREL WREL1
|
||||
#define WTIM WTIM1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void FSL_Open( void );
|
||||
static void FSL_Close( void );
|
||||
void firm_restore( );
|
||||
|
||||
static err my_FSL_Init();
|
||||
static err firm_duplicate( u8 block_src, u8 block_dest );
|
||||
|
||||
#ifdef _DBG_LED_PRINT_
|
||||
void alert( u8 );
|
||||
void led_print( u8 );
|
||||
#else
|
||||
# define alert( x ) ;
|
||||
# define led_print( x ) ;
|
||||
#endif
|
||||
|
||||
|
||||
// ========================================================
|
||||
extern uni_pool pool;
|
||||
|
||||
|
||||
// 0.D以降 新アップデータ向け
|
||||
// 新ファームは大丈夫?
|
||||
#define N_MGC_L 0x1FF6
|
||||
#define N_MGC_T 0x4FF6
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
I2Cで受信して、
|
||||
書き込み、
|
||||
チェックOK → 新ファームに切り替えて再起動
|
||||
NG → 旧(現)ファームに戻して再起動
|
||||
(この関数からは戻りません)
|
||||
======================================================== */
|
||||
void firm_update( )
|
||||
{
|
||||
u8 target_block;
|
||||
u8 split_write_count; // ブロックへちまちま書き込むカウンタ
|
||||
|
||||
// 書き替え前準備 /////////////////////////////////////
|
||||
my_FSL_Init();
|
||||
|
||||
/* ファームのバックアップ
|
||||
開始アドレス、書き込み先の先頭”ブロック番号” (サイズは FIRM_SIZE)
|
||||
0x2000 - 0x4FFF を
|
||||
0x5000 - 0x7FFF (ブロック 20 - 31) にコピー
|
||||
*/
|
||||
firm_duplicate( FIRM_TOP,
|
||||
ALTERNATE_FIRMTOP );
|
||||
|
||||
// 全ブロック削除 /////////////////////////////////////
|
||||
// 電源断を判定するため、最初に全クラスタ消去する
|
||||
//(新ファームが書かれるところに残ってる、以前のファームのフッタを消したい)
|
||||
for( target_block = INACTIVE_BOOTSECT_TOP;
|
||||
target_block < ALTERNATE_FIRMTOP;
|
||||
target_block += 1 )
|
||||
{
|
||||
FSL_Erase( target_block );
|
||||
}
|
||||
|
||||
|
||||
// 書き替え ///////////////////////////////////////////
|
||||
// ●ストップコンディションが来るまで続ける
|
||||
// ●終わったら、スタートアップルーチンに飛ぶ
|
||||
for( target_block = INACTIVE_BOOTSECT_TOP;
|
||||
target_block < ALTERNATE_FIRMTOP;
|
||||
target_block += 1 )
|
||||
{
|
||||
u8 my_spd;
|
||||
|
||||
/* すでに消してある。でないと中断されたとき終了してるか判別出来ない
|
||||
// // 新ファーム領域削除
|
||||
// FSL_Erase( target_block );
|
||||
*/
|
||||
// 分割書き込み
|
||||
for( split_write_count = 0;
|
||||
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
|
||||
split_write_count += 1 )
|
||||
{
|
||||
u8* p_buffer = &pool.self_update_work[0];
|
||||
u16 buff_written_size = 0;
|
||||
|
||||
WDT_Restart( );
|
||||
|
||||
// I2Cから書き込みデータをバッファにためる
|
||||
do
|
||||
{
|
||||
while( !IICAIF && !SPD )
|
||||
{;}
|
||||
my_spd = SPD;
|
||||
IICAIF = 0;
|
||||
*p_buffer = IICA;
|
||||
WREL = 1;
|
||||
p_buffer += 1;
|
||||
buff_written_size += 1;
|
||||
}
|
||||
while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE )
|
||||
&& !SPD );
|
||||
|
||||
my_spd += 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 ) )
|
||||
|
||||
!= FSL_OK )
|
||||
{
|
||||
alert(1);
|
||||
// 書き込み後のチェックエラー
|
||||
// リストア
|
||||
firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP );
|
||||
FSL_ForceReset(); // リセット
|
||||
// FSL_SwapBootCluster( ); // ブートスワップ「せずに」再起動って出来ないらしい
|
||||
// 戻ってこない //
|
||||
}
|
||||
|
||||
if( my_spd != 0 )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 1ブロック書き込み完了。内部ベリファイを行う
|
||||
if( FSL_IVerify( target_block ) != FSL_OK ){
|
||||
alert(2);
|
||||
// 再度消去→書き込み ベリファイを繰り返すだけじゃダメでした... todo…?
|
||||
// リストア
|
||||
firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP );
|
||||
FSL_ForceReset(); // リセット
|
||||
// FSL_SwapBootCluster( ); // ブートスワップ「せずに」再起動って出来ないらしい
|
||||
// 戻ってこない //
|
||||
}
|
||||
|
||||
if( my_spd != 0 )
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
LREL = 1;
|
||||
|
||||
// 書き込んだファームのチェック //
|
||||
{
|
||||
u8 i;
|
||||
u8 comp = 0;
|
||||
|
||||
// ローダーのマジックと、本文の末尾のマジックは同じか確認
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ )
|
||||
{
|
||||
comp += (u8)(( (*( __far u8 * ) ( N_MGC_L + i )) == (*( u8 * ) ( N_MGC_T + i ) )) ? 0 : 1);
|
||||
}
|
||||
if( *( __far u8 * )( N_MGC_L +2 ) != ':' ) // 消去済のまま
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp == 0 )
|
||||
{
|
||||
// OK!
|
||||
FSL_InvertBootFlag( );
|
||||
FSL_SwapBootCluster( ); // リセットせずに頭から。FSL_Closeは不要
|
||||
}
|
||||
else
|
||||
{
|
||||
// データ(マジックナンバーしか見てない)エラー
|
||||
// リストア
|
||||
alert(3);
|
||||
|
||||
firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP );
|
||||
FSL_ForceReset(); // リセット
|
||||
// FSL_SwapBootCluster( ); // ブートスワップ「せずに」再起動って出来ないらしい
|
||||
}
|
||||
// 戻ってこない //
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
■ファームをバックアップ領域からリストアします。
|
||||
チェック後、最後の最後でブートスワップするので、
|
||||
ここではブートスワップは不要です。
|
||||
|
||||
======================================================== */
|
||||
void firm_restore( )
|
||||
{
|
||||
DBG_LED_on;
|
||||
PM1.5 = 0;
|
||||
|
||||
// バックアップは正常? //
|
||||
{
|
||||
u16 i;
|
||||
u8 comp = 0;
|
||||
|
||||
for( i = 0; i < sizeof( __TIME__ ); i++ ) // sizeof( __TIME__ ) = 8 らし
|
||||
{
|
||||
comp += ( *( __far u8 * )( MGC_LOAD + i ) == *( u8 * )( MGC_HEAD_BKUP + i ) ) ? 0 : 1;
|
||||
comp += ( *( u8 * )( MGC_HEAD_BKUP + i ) == *( u8 * )( MGC_FOOT_BKUP + i ) ) ? 0 : 1;
|
||||
}
|
||||
if( *( u8 * )( MGC_FOOT_BKUP ) == 0xFF )
|
||||
{
|
||||
comp += 1;
|
||||
}
|
||||
|
||||
if( comp != 0 )
|
||||
{
|
||||
// バックアップ領域も壊れた...
|
||||
comp = 0;
|
||||
|
||||
// 3.3Vが上がらないと困る
|
||||
EI( );
|
||||
iic_mcu_start( );
|
||||
RESET2_ast;
|
||||
FCRAM_RST_ast;
|
||||
GYRO_DISABLE();
|
||||
PM_LDSW_on();
|
||||
wait_ms( 1 + DELAY_PM_TW_PWUP );
|
||||
PM_VDD_on( );
|
||||
|
||||
while(1)
|
||||
{
|
||||
WDT_Restart();
|
||||
|
||||
{
|
||||
// 赤LED ピコピコ
|
||||
comp++;
|
||||
P1.5 = ( comp == 1 || comp == 3 )? 1: 0;
|
||||
if( comp == 8 )
|
||||
{
|
||||
comp = 0;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
// 電源ボタンで電源off
|
||||
static u8 sw_hold_count;
|
||||
|
||||
if( !SW_POW_n )
|
||||
{
|
||||
sw_hold_count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
sw_hold_count = 0;
|
||||
}
|
||||
|
||||
if( sw_hold_count > 16 )
|
||||
{
|
||||
sw_hold_count = 0;
|
||||
// 電源off
|
||||
PM_LDSW_off( );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// ウェイト
|
||||
for( i = 1; i != 0; i++ )
|
||||
{
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
NOP();
|
||||
}
|
||||
}
|
||||
{
|
||||
// ど、どうしよう…。
|
||||
|
||||
KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい
|
||||
MK0 = 0xFFFF;
|
||||
MK1 = ~( INT_MSK1_KR );
|
||||
MK2L = 0xFF;
|
||||
|
||||
// PU5 そのまま
|
||||
PU7 = 0b00001000; // PWSWI
|
||||
PU20 = 0x00; // SW_HOME 停止
|
||||
|
||||
STOP( );
|
||||
|
||||
mcu_wdt_reset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( my_FSL_Init() != ERR_SUCCESS ){
|
||||
alert(1);
|
||||
}
|
||||
|
||||
/* ファームのリストア
|
||||
0x4800 - 0x7FFF (ブロック 18 - 27) から
|
||||
0x2000 - 0x47FF (ブロック 8 - 17) へコピー
|
||||
*/
|
||||
if( firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ) != ERR_SUCCESS )
|
||||
{
|
||||
alert(2);
|
||||
}
|
||||
DBG_LED_off;
|
||||
|
||||
// todo
|
||||
// リストア失敗したら、LEDちかちかとかさせて、サービス送りにしてもらう?
|
||||
|
||||
/*
|
||||
// リブート
|
||||
if( FSL_InvertBootFlag() != ERR_SUCCESS )
|
||||
{
|
||||
alert(3);
|
||||
}
|
||||
*/
|
||||
FSL_ForceReset(); // リセット
|
||||
// FSL_SwapBootCluster( ); // ブートスワップ「せずに」再起動って出来ないらしい
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
static void FSL_Open( void )
|
||||
{
|
||||
/* save the configuration of the interrupt controller and set */
|
||||
#ifdef FSL_INT_BACKUP
|
||||
fsl_MK0L_bak_u08 = MK0L; /* if (interrupt backup required) */
|
||||
fsl_MK0H_bak_u08 = MK0H; /* { */
|
||||
fsl_MK1L_bak_u08 = MK1L; /* */
|
||||
fsl_MK1H_bak_u08 = MK1H; /* save interrupt controller */
|
||||
fsl_MK2L_bak_u08 = MK2L; /* configuration */
|
||||
fsl_MK2H_bak_u08 = MK2H; /* */
|
||||
MK0L = FSL_MK0L_MASK; /* */
|
||||
MK0H = FSL_MK0H_MASK; /* */
|
||||
MK1L = FSL_MK1L_MASK; /* prepare interrupt controller */
|
||||
MK1H = FSL_MK1H_MASK; /* for selfprogramming */
|
||||
MK2L = FSL_MK2L_MASK; /* */
|
||||
MK2H = FSL_MK2H_MASK; /* } */
|
||||
#endif
|
||||
|
||||
while( DST1 ){;} // DMA停止
|
||||
DEN1 = 0;
|
||||
|
||||
MK0 = 0xFFFF;
|
||||
MK1 = 0xFFFF;
|
||||
MK2 = 0xFFFF;
|
||||
/*
|
||||
LVIM = 0b00000010;
|
||||
LVIS = 0x08;
|
||||
LVIM = 0b10000010;
|
||||
*/
|
||||
FSL_FLMD0_HIGH; // フラッシュ書き替え許可
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
/* leave the "user room" and restore previous conditions */
|
||||
/*----------------------------------------------------------------------------------------------*/
|
||||
static void FSL_Close( void )
|
||||
{
|
||||
// 何か後始末?
|
||||
|
||||
FSL_FLMD0_LOW; // フラッシュライトプロテクト
|
||||
|
||||
#ifdef FSL_INT_BACKUP
|
||||
MK0L = fsl_MK0L_bak_u08; /* do{ */
|
||||
MK0H = fsl_MK0H_bak_u08; /* restore interrupt controller */
|
||||
MK1L = fsl_MK1L_bak_u08; /* configuration */
|
||||
MK1H = fsl_MK1H_bak_u08; /* */
|
||||
MK2L = fsl_MK2L_bak_u08; /* */
|
||||
MK2H = fsl_MK2H_bak_u08; /* } */
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
マイコン内でファームをコピーします。
|
||||
__far u8 * p_rom コピー元の先頭アドレス
|
||||
block_dest コピー先の先頭ブロック
|
||||
|
||||
コピー先に書けるようにmy_FSL_Initをあらかじめ実行する必要があります。
|
||||
======================================================== */
|
||||
//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 );
|
||||
u8 retry_error;
|
||||
|
||||
led_print(1);
|
||||
|
||||
// 書き込み先ブロックの数だけ繰り返す
|
||||
for( target_block = block_dest;
|
||||
target_block < ( block_dest + FIRM_SIZE );
|
||||
target_block += 1 )
|
||||
{
|
||||
led_print(2);
|
||||
WDT_Restart( );
|
||||
// ブロック消去
|
||||
retry_error = 5 + 1;
|
||||
while( FSL_BlankCheck( target_block ) != FSL_OK )
|
||||
{
|
||||
led_print(3);
|
||||
FSL_Erase( target_block );
|
||||
if( --retry_error == 0 )
|
||||
{
|
||||
// フラッシュ寿命?
|
||||
FSL_Close( );
|
||||
return ( ERR_ERR ); // リセット&復帰を試みる どうなるか知らん
|
||||
}
|
||||
}
|
||||
|
||||
led_print(4);
|
||||
// 分割書き込み分繰り返す
|
||||
for( split_write_count = 0;
|
||||
split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM;
|
||||
split_write_count += 1 )
|
||||
{
|
||||
u16 buff_written_size;
|
||||
u8* p_buff;
|
||||
|
||||
// 書き込みデータをバッファにためる
|
||||
buff_written_size = 0;
|
||||
p_buff = &pool.self_update_work[0];
|
||||
do
|
||||
{
|
||||
*p_buff = *p_src;
|
||||
p_src += 1;
|
||||
p_buff += 1;
|
||||
buff_written_size +=1;
|
||||
}
|
||||
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 ) )
|
||||
!= FSL_OK )
|
||||
{
|
||||
// リカバリはリブート時 //
|
||||
FSL_Close( );
|
||||
led_print(5);
|
||||
// while(1){}
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
}
|
||||
led_print(6);
|
||||
|
||||
// 1ブロック書き込み完了。内部電圧チェックを行う
|
||||
while( FSL_IVerify( target_block ) != FSL_OK )
|
||||
{
|
||||
// リカバリはリブート時 //
|
||||
led_print(7);
|
||||
return ( ERR_ERR );
|
||||
}
|
||||
}
|
||||
return( ERR_SUCCESS );
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
======================================================== */
|
||||
static err my_FSL_Init()
|
||||
{
|
||||
u8 rv;
|
||||
|
||||
RTCE = 0;
|
||||
|
||||
// 書き替え前準備 //
|
||||
DI( );
|
||||
FSL_Open( ); // 割り込み禁止など
|
||||
|
||||
FSL_Init( &pool.self_update_work[0] ); // ライブラリ初期化。割り込み中断考慮せず
|
||||
rv = FSL_ModeCheck( ); // ライトプロテクトチェック。失敗することを考慮せず
|
||||
|
||||
return( (err)rv );
|
||||
}
|
||||
|
||||
|
||||
task_status_immed tski_mcu_reset()
|
||||
{
|
||||
// 普通に再起動
|
||||
my_FSL_Init();
|
||||
|
||||
FSL_ForceReset(); // リセット
|
||||
FSL_Close( );
|
||||
|
||||
// 保険? //
|
||||
mcu_wdt_reset;
|
||||
return( ERR_SUCCESS ); // no reach
|
||||
}
|
||||
|
||||
|
||||
#ifdef _DBG_LED_PRINT_
|
||||
// P1.5 = led_pow_red_old
|
||||
void alert( u8 num )
|
||||
{
|
||||
u8 i;
|
||||
|
||||
while(1)
|
||||
{
|
||||
WDT_Restart();
|
||||
P1.5 = 1;
|
||||
for( i = 0; i < num; i++ )
|
||||
{
|
||||
DBG_LED_on;
|
||||
DBG_LED_off;
|
||||
}
|
||||
P1.5 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void led_print( u8 num )
|
||||
{
|
||||
u8 i;
|
||||
|
||||
DBG_LED_on;
|
||||
for( i = 0; i < num; i++ )
|
||||
{
|
||||
P1.5 = 1;
|
||||
P1.5 = 0;
|
||||
}
|
||||
DBG_LED_off;
|
||||
}
|
||||
#endif
|
@ -1,9 +0,0 @@
|
||||
#ifndef _self_flash_h_
|
||||
#define _self_flash_h_
|
||||
|
||||
|
||||
void firm_update();
|
||||
|
||||
|
||||
#endif
|
||||
|
@ -1,135 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
|
||||
#include "incs.h"
|
||||
|
||||
#include "i2c_twl.h"
|
||||
#include "i2c_ctr.h"
|
||||
#include "led.h"
|
||||
#include "pm.h"
|
||||
#include "rtc.h"
|
||||
#include "sw.h"
|
||||
|
||||
|
||||
//=========================================================
|
||||
/*
|
||||
vreg_ctrから読みたいのでヘッダへ
|
||||
#define INTERVAL_TSK_SW 8
|
||||
#define CLICK_THRESHOLD 2
|
||||
|
||||
#define HOLD_THREASHOLD (u8)( 2000 / INTERVAL_TSK_SW )
|
||||
#define FORCEOFF_THREASHOLD (u8)( 4000 / INTERVAL_TSK_SW )
|
||||
*/
|
||||
|
||||
//=========================================================
|
||||
u16 SW_pow_count;
|
||||
bit SW_pow_mask;
|
||||
|
||||
u8 SW_home_count, SW_wifi_count, SW_home_count_rel;
|
||||
|
||||
bit SW_HOME_n;
|
||||
|
||||
//=========================================================
|
||||
// 押した時間を数える。押しっぱなしでも0に戻らない
|
||||
// maskが非0の時は、一度離すまで無視する
|
||||
#define count_sw_n( sw, counter, mask ) \
|
||||
{ \
|
||||
if( sw ){ \
|
||||
mask = 0; \
|
||||
counter = 0; \
|
||||
}else{ \
|
||||
if( mask != 0 ){ \
|
||||
counter = 0; \
|
||||
}else{ \
|
||||
counter += 1; \
|
||||
if( counter == 0 ) counter = -1; \
|
||||
} \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
#define chk_clicked( button, count, irq_bit_name ) \
|
||||
if( !button ) \
|
||||
{ \
|
||||
if( count <= CLICK_THRESHOLD ) \
|
||||
{ \
|
||||
count += 1; \
|
||||
} \
|
||||
if( count == CLICK_THRESHOLD ) \
|
||||
{ \
|
||||
set_irq( VREG_C_IRQ0, irq_bit_name ); \
|
||||
} \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
count = 0; \
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
スイッチの監視
|
||||
チャタリングをはねたり、長押しや、押したトリガなどの検出など
|
||||
======================================================== */
|
||||
void tsk_sw( )
|
||||
{
|
||||
static u8 task_interval = 1;
|
||||
|
||||
if( system_status.pwr_state == ON_TRIG )
|
||||
{
|
||||
SW_pow_count = 0; // カウントクリア
|
||||
}
|
||||
|
||||
if( --task_interval != 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
task_interval = (u8)( INTERVAL_TSK_SW / SYS_INTERVAL_TICK );
|
||||
}
|
||||
|
||||
switch ( system_status.pwr_state )
|
||||
{
|
||||
case ( ON ):
|
||||
case ( SLEEP ):
|
||||
case ( BT_CHARGE ):
|
||||
case ( OFF ):
|
||||
// 電源スイッチの監視 //
|
||||
if( SW_pow_count == (u8)( 320/ INTERVAL_TSK_SW ) )
|
||||
{
|
||||
set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK );
|
||||
}
|
||||
else if( SW_pow_count == ( HOLD_THREASHOLD ) )
|
||||
{
|
||||
set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_HOLD );
|
||||
}
|
||||
else if( SW_pow_count > ( HOLD_THREASHOLD + vreg_ctr[ VREG_C_OFF_DELAY ] *16 )) // およそ 100/SYSTEM_TICK
|
||||
{
|
||||
system_status.force_off = 1;
|
||||
}
|
||||
|
||||
count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // ボタン押し時間のカウント
|
||||
|
||||
// HOME スイッチ //
|
||||
switch( system_status.model )
|
||||
{
|
||||
case( MODEL_JIKKI ):
|
||||
case( MODEL_SHIROBAKO ):
|
||||
SW_HOME_n = SW_HOME_n_JIKKI; // 接続先のポートが違うため
|
||||
break;
|
||||
case( MODEL_TS_BOARD ):
|
||||
SW_HOME_n = SW_HOME_n_TSBOARD;
|
||||
break;
|
||||
default:
|
||||
SW_HOME_n = 1; // 放されてる状態
|
||||
}
|
||||
chk_clicked( SW_HOME_n, SW_home_count, REG_BIT_SW_HOME_CLICK );
|
||||
chk_clicked( !SW_HOME_n, SW_home_count_rel, REG_BIT_SW_HOME_RELEASE );
|
||||
|
||||
// wifi sw //
|
||||
chk_clicked( SW_WIFI_n, SW_wifi_count, REG_BIT_SW_WIFI_CLICK );
|
||||
}
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
#ifndef _sw_
|
||||
#define _sw_
|
||||
|
||||
#include "config.h"
|
||||
|
||||
extern u16 SW_pow_count;
|
||||
extern bit SW_pow_mask;
|
||||
|
||||
#define INTERVAL_TSK_SW 8
|
||||
#define CLICK_THRESHOLD 2
|
||||
|
||||
#define HOLD_THREASHOLD (u8)( 2000 /INTERVAL_TSK_SW )
|
||||
#define FORCEOFF_THREASHOLD 32
|
||||
|
||||
#endif
|
@ -1,123 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
|
||||
#include "incs_loader.h"
|
||||
//#include "incs.h"
|
||||
#include "renge\renge.h"
|
||||
#include "pm.h"
|
||||
#include "accero.h"
|
||||
|
||||
|
||||
/* ========================================================
|
||||
======================================================== */
|
||||
|
||||
// 7セグ 4バイト版
|
||||
# define IIC_SLA_DBG_MONITOR 0x44
|
||||
|
||||
|
||||
#if 0
|
||||
|
||||
注意! タスクリストからも外してますので、使うなら復活させて下さい!
|
||||
|
||||
void tsk_debug( )
|
||||
{
|
||||
// u8 temp;
|
||||
|
||||
#ifdef _DBG_PEDO_AUTO_ENABLE_
|
||||
if( system_status.pwr_state == ON_TRIG ){
|
||||
// 歩数計を起動時にonにする
|
||||
vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x03;
|
||||
renge_task_immed_add( tski_acc_hosu_set );
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
if( system_status.pwr_state == ON_TRIG ){
|
||||
{
|
||||
static u8 count = 0;
|
||||
// デバッグLED(8bit)の初期化
|
||||
temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO );
|
||||
count += 1;
|
||||
iic_mcu_write_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO, count );
|
||||
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count );
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
#ifdef _PMIC_TEST_
|
||||
if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) )
|
||||
{
|
||||
iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0x03, 0 );
|
||||
}
|
||||
#endif
|
||||
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_IRQ1 ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, boot_ura );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_SND_VOL ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_TUNE ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, vreg_ctr[ VREG_C_TUNE ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 2, vreg_ctr[ VREG_C_SND_VOL ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 1, vreg_ctr[ VREG_C_STATUS ] );
|
||||
// iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 0, vreg_ctr[ VREG_C_ACC_ZH ] );
|
||||
|
||||
/*
|
||||
{
|
||||
u8 str[4];
|
||||
|
||||
if( ( system_status.pwr_state == ON ) || ( system_status.pwr_state == SLEEP ) )
|
||||
{
|
||||
str[3] = vreg_ctr[ VREG_C_FREE0 ];
|
||||
str[2] = vreg_ctr[ VREG_C_FREE1 ];
|
||||
str[1] = vreg_ctr[ VREG_C_STATUS ];
|
||||
str[0] = vreg_ctr[ VREG_C_RTC_SEC ];
|
||||
|
||||
str[3] = vreg_ctr[ VREG_C_SND_VOL ];
|
||||
str[2] = vreg_ctr[ VREG_C_TUNE ];
|
||||
str[1] = vreg_ctr[ VREG_C_ACC_CONFIG ];
|
||||
str[0] = SEC;
|
||||
iic_mcu_write( IIC_SLA_DBG_MONITOR, 0x03, 4, &str );
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if 0
|
||||
/* ========================================================
|
||||
タスクひな形
|
||||
======================================================== */
|
||||
task_interval tsk_hina( )
|
||||
{
|
||||
switch ( system_status.pwr_state )
|
||||
{
|
||||
case OFF:
|
||||
case ON_TRIG:
|
||||
case ON:
|
||||
case SLEEP:
|
||||
case OFF_TRIG:
|
||||
default:
|
||||
}
|
||||
|
||||
return ( 次の起 ・ョまでのシ ・X ・e ・ tick ・・); // 毎 tic 呼ばれることになります
|
||||
}
|
||||
|
||||
|
||||
// ポインタで何かもらうのは危険な気がしてきた
|
||||
/* このように使う
|
||||
renge_task_immed_add( タスク関数へのポインタ );
|
||||
*/
|
||||
task_status_immed tski_hina( u8 * arg )
|
||||
{
|
||||
return ( ERR_FINISED );
|
||||
// ERR_FINISED タスクを削除
|
||||
// ERR_CONTINUE 次になんか割り込みなり、ユーザー操作なり、システムチックが
|
||||
// 来たときに再度実行
|
||||
}
|
||||
|
||||
|
||||
#endif
|
@ -1,329 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
|
||||
#include "incs.h"
|
||||
#include "renge\renge.h"
|
||||
#include "pm.h"
|
||||
|
||||
#include "accero.h"
|
||||
#include "adc.h"
|
||||
#include "i2c_mcu.h"
|
||||
#include "led.h"
|
||||
#include "vreg_twl.h"
|
||||
|
||||
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
#define ACKD ACKD1
|
||||
#define ACKE ACKE1
|
||||
#define COI COI1
|
||||
#define IICAEN IICA1EN
|
||||
#define IICRSV IICRSV1
|
||||
#define IICA IICA1
|
||||
#define IICAIF IICAIF1
|
||||
#define IICAMK IICAMK1
|
||||
#define IICAPR0 IICAPR11
|
||||
#define IICAPR1 IICAPR01
|
||||
#define IICCTL0 IICCTL10
|
||||
#define IICE IICE1
|
||||
#define IICF IICF1
|
||||
#define IICS IICS1
|
||||
#define IICWH IICWH1
|
||||
#define IICWL IICWL1
|
||||
#define LREL LREL1
|
||||
#define SPD SPD1
|
||||
#define SPIE SPIE1
|
||||
#define STCEN STCEN1
|
||||
#define STD STD1
|
||||
#define SVA SVA1
|
||||
#define WREL WREL1
|
||||
#define WTIM WTIM1
|
||||
#define TRC TRC1
|
||||
#define SMC SMC1
|
||||
#define DFC DFC1
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
bit twl_ver_read;
|
||||
bit going_to_sleep;
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ステータスレジスタなど
|
||||
======================================================== */
|
||||
void tsk_misc( )
|
||||
{
|
||||
/* ========================================================
|
||||
加速度センサ割り込みピンがオリジナルマイコンには無いので
|
||||
ポーリングする。
|
||||
歩数計用
|
||||
BSRマイコンはaccero.cで割り込みルーチンからタスク登録します。
|
||||
======================================================== */
|
||||
// 割り込みの取りこぼし?
|
||||
if( ACC_VALID )
|
||||
{
|
||||
if( renge_task_immed_add( tski_cbk_accero ) == ERR_SUCCESS ){
|
||||
// NOP();
|
||||
}
|
||||
}
|
||||
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
/* ========================================================
|
||||
PM互換レジスタへの書き込み
|
||||
ポーリングしかしてない。割り込み?
|
||||
======================================================== */
|
||||
if( !PM_IRQ_n ){
|
||||
renge_task_immed_add( tski_ntr_pmic_comm );
|
||||
// NOP();
|
||||
}
|
||||
|
||||
/* ========================================================
|
||||
TWLランチャーが起動したことをCTRが知りたいらしい
|
||||
======================================================== */
|
||||
if( twl_ver_read )
|
||||
{
|
||||
twl_ver_read = false;
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ );
|
||||
}
|
||||
|
||||
/* ========================================================
|
||||
TWLがVolを書くのと、スライダの操作がバッティングすると
|
||||
不整合が起こる事があり、それを防ぐ
|
||||
TWLでは8通常時、押しボタンは8段階だった。それに合わせて割り込みを入れたい
|
||||
======================================================== */
|
||||
{
|
||||
static u8 mabiki;
|
||||
|
||||
if( mabiki != 0 )
|
||||
{
|
||||
mabiki--;
|
||||
}
|
||||
else
|
||||
{
|
||||
mabiki = 6;
|
||||
|
||||
if( is_TWL )
|
||||
{
|
||||
if( vol_level_twl != vol_level_twl_readed )
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_SLIDE_VOL_ACROSS_TWL_BOUNDARY );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TUNE_LED ///////////////////////////////////
|
||||
{
|
||||
if( system_status.pwr_state != ON )
|
||||
{
|
||||
LED_duty_3d = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( vreg_ctr[VREG_C_LED_TUNE] == LED_TUNE_ILM_OFF )
|
||||
{
|
||||
if( LED_duty_3d != 0 )
|
||||
{
|
||||
LED_duty_3d -= 1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( LED_duty_3d != vreg_ctr[VREG_C_LED_BRIGHT] )
|
||||
{
|
||||
if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] )
|
||||
{
|
||||
LED_duty_3d += 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
LED_duty_3d -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
逐一起動タスク
|
||||
======================================================== */
|
||||
|
||||
/* ========================================================
|
||||
COMMANDレジスタへの書き込み
|
||||
0なら呼ばれません。ケア不要
|
||||
======================================================== */
|
||||
task_status_immed tski_do_command0( )
|
||||
{
|
||||
// command0 本体電源など
|
||||
u8 temp_command = vreg_ctr[VREG_C_COMMAND0];
|
||||
vreg_ctr[VREG_C_COMMAND0] = 0;
|
||||
|
||||
if( temp_command & REG_BIT_GOING_TO_SLEEP )
|
||||
{
|
||||
going_to_sleep = true;
|
||||
}
|
||||
|
||||
if( ( temp_command & ( REG_BIT_OFF_REQ | REG_BIT_RESET1_REQ | REG_BIT_FCRAM_RESET_REQ | REG_BIT_RESET2_REQ )) != 0x00 )
|
||||
{
|
||||
if( temp_command & REG_BIT_OFF_REQ )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( temp_command & REG_BIT_RESET1_REQ )
|
||||
{
|
||||
PM_reset_ast( );
|
||||
RESET2_ast;
|
||||
FCRAM_RST_ast;
|
||||
}
|
||||
if( temp_command & REG_BIT_FCRAM_RESET_REQ )
|
||||
{
|
||||
FCRAM_RST_ast;
|
||||
}
|
||||
else if( temp_command & REG_BIT_RESET2_REQ )
|
||||
{
|
||||
RESET2_ast;
|
||||
if( vreg_twl[ REG_TWL_INT_ADRS_MODE ] == 0 )
|
||||
{
|
||||
FCRAM_RST_ast; // twlはntrモードで動作してる
|
||||
}
|
||||
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = 0;
|
||||
}
|
||||
wait_ms( 5 );
|
||||
FCRAM_RST_neg;
|
||||
PM_reset_neg();
|
||||
RESET2_neg;
|
||||
|
||||
// CODEC 不定レジスタ初期化
|
||||
codec_reg_init();
|
||||
}
|
||||
}
|
||||
/*
|
||||
スリープ要求直後に電源OFF・リセットコマンドは来まい
|
||||
if( vreg_ctr[VREG_C_COMMAND0] != 0 )
|
||||
{
|
||||
return ( ERR_CONTINUE );
|
||||
}
|
||||
*/
|
||||
// SVA1 = IIC_C_SLAVEADDRESS; todo
|
||||
return ( ERR_FINISED );
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
互換向け、TWLアプリへの割り込み
|
||||
仮想レジスタの書き込み時に行います。
|
||||
======================================================== */
|
||||
|
||||
u16 _dbg_rcomp;
|
||||
extern u8 raw_adc_temperature;
|
||||
|
||||
extern u8 iic_burst_state;
|
||||
extern bit temp_zone_charge_disable;
|
||||
extern bit bt_chg_ready;
|
||||
|
||||
|
||||
/* ========================================================
|
||||
デバッグ用にいろいろ読んできます。
|
||||
返値はデータそのもの
|
||||
出てくる順場は、
|
||||
1) プラットフォーム
|
||||
2) PMIC バージョン
|
||||
3) 電池メーカー
|
||||
4) ガスゲージバージョン
|
||||
5) 〃
|
||||
6) ( rcomp & 0xFF )
|
||||
7) raw_adc_temperature
|
||||
8) ( !temp_zone_charge_disable | ( bt_chg_ready << 1 ) )
|
||||
9)
|
||||
======================================================== */
|
||||
task_status_immed tski_mcu_info_read()
|
||||
{
|
||||
static u8 infos[10];
|
||||
|
||||
if( SPD ) // stop
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
|
||||
if( STD ) // restart
|
||||
{
|
||||
SPIE = 1;
|
||||
WDT_Restart( );
|
||||
}
|
||||
|
||||
if( IICAIF == 0 ) // I2Cのステートが進むのを待つ
|
||||
{
|
||||
return( ERR_CONTINUE );
|
||||
}
|
||||
else
|
||||
{
|
||||
IICAIF = 0;
|
||||
}
|
||||
|
||||
WDT_Restart( );
|
||||
if( iic_burst_state > 8 )
|
||||
{
|
||||
goto end;
|
||||
}
|
||||
else if( iic_burst_state == 0 )
|
||||
{
|
||||
if( !system_status.captureBox )
|
||||
{
|
||||
IICA = (u8)system_status.model;
|
||||
}
|
||||
else
|
||||
{
|
||||
IICA = MODEL_CAPTURE_BOX;
|
||||
}
|
||||
// これで勝手に転送が始まるから今のうちにデータの準備をしておく
|
||||
infos[0] = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VER );
|
||||
infos[1] = battery_manufacturer;
|
||||
iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION, 2, &infos[2] );
|
||||
infos[4] = (u8)( _dbg_rcomp & 0xFF );
|
||||
infos[5] = raw_adc_temperature;
|
||||
infos[6] = ( !temp_zone_charge_disable | ( bt_chg_ready << 1 ) );
|
||||
infos[7] = system_status.info_fullcolor;
|
||||
}
|
||||
else
|
||||
{
|
||||
IICA = infos[ iic_burst_state -1 ];
|
||||
}
|
||||
iic_burst_state++;
|
||||
return( ERR_CONTINUE );
|
||||
|
||||
end:
|
||||
LREL = 1;
|
||||
SPIE = 0;
|
||||
IICAMK = 0;
|
||||
iic_burst_state = 0;
|
||||
return( ERR_FINISED );
|
||||
}
|
||||
|
||||
#ifdef i2c_timeout_test
|
||||
void i2c_mcu_error_monitor()
|
||||
{
|
||||
LED_duty_pow_blu = 0xff;
|
||||
LED_duty_3d = 0xff;
|
||||
LED_duty_notify_red = 0xff;
|
||||
LED_duty_notify_grn = 0xff;
|
||||
LED_duty_notify_blu = 0xff;
|
||||
LED_pow_red = 1;
|
||||
LED_CAM = 1;
|
||||
}
|
||||
#endif
|
@ -1,93 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
|
||||
#include "incs_loader.h"
|
||||
#include "renge\renge.h"
|
||||
#include "pm.h"
|
||||
|
||||
#include "accero.h"
|
||||
#include "adc.h"
|
||||
#include "i2c_mcu.h"
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
#define INTERVAL_TSK_STATUS 4
|
||||
|
||||
|
||||
extern bit BT_CHG_STAT_Change;
|
||||
|
||||
|
||||
/* ========================================================
|
||||
ステータスレジスタなど
|
||||
======================================================== */
|
||||
void tsk_status( )
|
||||
{
|
||||
static u8 interval_task_status = 0;
|
||||
static u8 state_old; // ステータス変化検出→割り込み の為
|
||||
u8 diff;
|
||||
|
||||
if( interval_task_status != 0 )
|
||||
{
|
||||
interval_task_status -= 1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
interval_task_status = (u8)( INTERVAL_TSK_STATUS / SYS_INTERVAL_TICK );
|
||||
}
|
||||
|
||||
// 蓋開けチェック
|
||||
set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN );
|
||||
|
||||
// ステータスレジスタ関係 → 割り込み //
|
||||
// pm.c で、その場で行います。
|
||||
// REG_BIT_LCD_ON/OFF
|
||||
// REG_BIT_BL_ON/OFF
|
||||
// REG_BIT_BT_DC_CONNECT/DISC
|
||||
|
||||
diff = (u8)( vreg_ctr[VREG_C_STATUS] ^ state_old );
|
||||
if( diff != 0 )
|
||||
{
|
||||
state_old = vreg_ctr[VREG_C_STATUS];
|
||||
|
||||
if( system_status.pwr_state == ON )
|
||||
{
|
||||
if( diff & REG_BIT_BATT_CHARGE )
|
||||
{
|
||||
BT_CHG_STAT_Change = true;
|
||||
// 充電状態に以下略
|
||||
if( vreg_ctr[VREG_C_STATUS] & REG_BIT_BATT_CHARGE )
|
||||
{
|
||||
set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_START );
|
||||
}
|
||||
else
|
||||
{
|
||||
set_irq( VREG_C_IRQ1, REG_BIT_BT_CHG_STOP );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(( system_status.pwr_state == ON ) ||
|
||||
( system_status.pwr_state == SLEEP )
|
||||
)
|
||||
{
|
||||
if( diff & REG_BIT_ST_SHELL_OPEN )
|
||||
{
|
||||
// 蓋の開け閉め
|
||||
if( vreg_ctr[VREG_C_STATUS] & REG_BIT_ST_SHELL_OPEN )
|
||||
{
|
||||
set_irq( VREG_C_IRQ0, REG_BIT_SHELL_OPEN );
|
||||
}
|
||||
else
|
||||
{
|
||||
set_irq( VREG_C_IRQ0, REG_BIT_SHELL_CLOSE );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
@ -1,579 +0,0 @@
|
||||
#pragma SFR
|
||||
#pragma NOP
|
||||
#pragma HALT
|
||||
#pragma STOP
|
||||
|
||||
#include "incs.h"
|
||||
|
||||
#include "i2c_twl.h"
|
||||
#include "i2c_ctr.h"
|
||||
#include "led.h"
|
||||
#include "accero.h"
|
||||
#include "pm.h"
|
||||
#include "rtc.h"
|
||||
#include "sw.h"
|
||||
#include "adc.h"
|
||||
#include "self_flash.h"
|
||||
|
||||
|
||||
//=========================================================
|
||||
extern void nop8();
|
||||
|
||||
|
||||
static void chk_emergencyExit();
|
||||
static void force_off_check();
|
||||
static void send_getup_to_soc();
|
||||
|
||||
|
||||
|
||||
//=========================================================
|
||||
extern bit info_led_off;
|
||||
extern bit going_to_sleep;
|
||||
extern bit bt_chg_ready;
|
||||
|
||||
static u8 timeout_sleep;
|
||||
extern u8 chg_led_override;
|
||||
|
||||
#ifdef i2c_timeout_test
|
||||
extern bit i2c_mcu_time_out_error;
|
||||
#endif
|
||||
|
||||
/* ========================================================
|
||||
マイコン内部で必要なもの
|
||||
・省電力に入れる
|
||||
system_status.pwr_state == OFF_TRIG で、このタスクが呼ばれると、
|
||||
省電力モードに入ります
|
||||
======================================================== */
|
||||
void tsk_sys( )
|
||||
{
|
||||
static u8 timeout = 0;
|
||||
|
||||
switch ( system_status.pwr_state )
|
||||
{
|
||||
case OFF: //-------------------------------------------------------
|
||||
// スイッチ操作などで割り込みが発生し、スリープが解除されるとここに来ます。
|
||||
|
||||
if( system_status.poweron_reason == NONE )
|
||||
{
|
||||
// スイッチで電源on
|
||||
if( SW_pow_count != 0 )
|
||||
{
|
||||
timeout = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
timeout += 1;
|
||||
}
|
||||
|
||||
if( timeout > 100 )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG; // スイッチはノイズだった。寝る。
|
||||
renge_task_interval_run_force = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if( SW_pow_count < 10 )
|
||||
{
|
||||
// もう少しスイッチの様子を見る
|
||||
return;
|
||||
}
|
||||
// 電源投入
|
||||
system_status.poweron_reason = PWSW;
|
||||
}
|
||||
|
||||
SW_pow_mask = true;
|
||||
|
||||
timeout = 0;
|
||||
|
||||
// todo debug
|
||||
#ifdef _DEBUG_BT_FUEL_
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 99;
|
||||
#endif
|
||||
#ifdef _DEBUG_BT_TEMP_
|
||||
vreg_ctr[ VREG_C_DBG01 ] = 0x80;
|
||||
#endif
|
||||
vreg_ctr[ VREG_C_COMMAND3 ] = 0;
|
||||
|
||||
// 電源投入 //
|
||||
iic_mcu_start( );
|
||||
|
||||
bt_force_update = false;
|
||||
BT_chk(); // 実機やバッテリの判定、電池残量ICの設定
|
||||
|
||||
#ifndef _ALLOW_NOBATT_
|
||||
if( system_status.model == MODEL_JIKKI_NOBATT )
|
||||
{
|
||||
renge_task_interval_run_force = true;
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
// 残量チェック
|
||||
BT_get_left(); // 先に、BT_chk()が実行されている必要があります。
|
||||
if(
|
||||
// ( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) // こっちで判定すると電池がほとんど無いときに
|
||||
// && // アダプタ差しても数分起動できなくなっちゃう
|
||||
( vreg_ctr[VREG_C_BT_VOLTAGE] < ( V_TH_ZERO / 256 ) )
|
||||
)
|
||||
{
|
||||
// 電池が少ないので起動させない(電圧チェックもされてる)
|
||||
renge_task_interval_run_force = true;
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
return;
|
||||
}
|
||||
|
||||
// ポートの設定 電源入れる前に。
|
||||
PM7.4 = 1; // SW_wifi
|
||||
PM20.4 = 1; // sw_home
|
||||
PM20.3 = 1; // wl_tx
|
||||
PM2.3 = 1; // key_sel
|
||||
PM2.5 = 1; // acc_valid1
|
||||
PM14.1 = 1; // acc_valid2
|
||||
|
||||
if( PM_sys_pow_on( ) != ERR_SUCCESS )
|
||||
{ // 電源起動不可エラー
|
||||
renge_task_interval_run_force = true;
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
return;
|
||||
}
|
||||
|
||||
// ここまで来ると、電源投入確定 //
|
||||
|
||||
PU5.1 = 1; // 1:PM_CHARGE
|
||||
PU7 = 0b00011101; // 4:SW_WIFI 3:SW_PWSW 2:PM_IRQ 0:PM_EXTDC_n
|
||||
PU20.4 = 1; // SW_HOME
|
||||
|
||||
if( system_status.poweron_reason == PWSW )
|
||||
{
|
||||
// 電源ボタンでのonの時は、LEDを点灯させる
|
||||
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO;
|
||||
}
|
||||
else
|
||||
{
|
||||
// とりあえず、LED消灯状態で起動させる
|
||||
vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_OFF;
|
||||
}
|
||||
|
||||
system_status.pwr_state = ON_TRIG;
|
||||
|
||||
PM_LCD_vcom_set( ); // LCDの対向電圧値など書き込み
|
||||
|
||||
break;
|
||||
|
||||
case ON_TRIG: //-------------------------------------------------------
|
||||
#ifdef i2c_timeout_test
|
||||
LED_duty_pow_blu = 0; // debug
|
||||
LED_duty_3d = 0;
|
||||
LED_duty_notify_red = 0;
|
||||
LED_duty_notify_grn = 0;
|
||||
LED_duty_notify_blu = 0;
|
||||
LED_pow_red = 0;
|
||||
LED_CAM = 0;
|
||||
i2c_mcu_time_out_error = false;
|
||||
#endif
|
||||
IIC_ctr_Init( );
|
||||
IIC_twl_Init( );
|
||||
RTC_32k_on( );
|
||||
|
||||
vreg_twl_init( );
|
||||
vreg_ctr_reset( );
|
||||
|
||||
KRM = 0b00000000;
|
||||
PIF0 = 0;
|
||||
|
||||
system_status.poweron_reason = NONE;
|
||||
renge_task_interval_run_force = true;
|
||||
|
||||
MK0 = INT_MSK0_RSV;
|
||||
MK1 = INT_MSK1_RSV;
|
||||
|
||||
iic_mcu_start();
|
||||
|
||||
#ifdef _MCU_BSR_
|
||||
// MK2 = ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ );
|
||||
// PMK21 = 0; // wifi 使わない
|
||||
PMK6 = 0; // pm_irq
|
||||
#else
|
||||
MK2L = ~INT_MSK2_WIFI_TX_KE3;
|
||||
#endif
|
||||
|
||||
// リブート時、ステータスを何となく更新
|
||||
if( system_status.reboot )
|
||||
{
|
||||
u8 bl_status_temp;
|
||||
|
||||
bl_status_temp = iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_BL );
|
||||
vreg_ctr[ VREG_C_STATUS ] |= (( bl_status_temp & 0x03 ) << 5 );
|
||||
set_bit( ( iic_mcu_read_a_byte( IIC_SLA_PMIC, PM_REG_ADRS_VDD_LCD ) != 0 ),
|
||||
vreg_ctr[ VREG_C_STATUS ], REG_BIT_LCD_POW );
|
||||
BT_chk();
|
||||
}
|
||||
|
||||
LED_init( ); // reboot時の↑BT_Chk,BT_chk後に行いたい
|
||||
|
||||
system_status.reboot = 0;
|
||||
system_status.pwr_state = ON;
|
||||
|
||||
// WDTリセット時、I2Cの初期化まで割り込み保留
|
||||
// ほんとはここにべた書きしたくないが...
|
||||
if( ( vreg_ctr[ VREG_C_MCU_STATUS ] & REG_BIT_STATUS_WDT_RESET ) != 0 )
|
||||
{
|
||||
set_irq( VREG_C_IRQ0, REG_BIT_IRQ_WDT_RESET );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case ON: //---------------------------------------------
|
||||
// PMICによる強制電源断チェック
|
||||
// デバッガがreset1をアサートすることもある。そのときは全部リセット
|
||||
chk_emergencyExit();
|
||||
|
||||
// SLP監視
|
||||
if( PIF0 ){ // slp割り込み
|
||||
PIF0 = 0;
|
||||
|
||||
if( !SLP_REQ ){ // 一瞬で起きた
|
||||
send_getup_to_soc();
|
||||
}
|
||||
else
|
||||
{
|
||||
PM_VDD_ecoMode();
|
||||
system_status.pwr_state = SLEEP;
|
||||
renge_task_interval_run_force = true;
|
||||
}
|
||||
}
|
||||
|
||||
// 絶対に SLP_REQ の前に予告が来るので、sleepに入るときはピンでのチェック不用
|
||||
if( going_to_sleep )
|
||||
{
|
||||
timeout_sleep += 1;
|
||||
if( timeout_sleep == 0 ) // sleepするって言ったけど一瞬で起きて気がつかなかった
|
||||
{
|
||||
send_getup_to_soc();
|
||||
}
|
||||
}
|
||||
|
||||
// 強制offカウント
|
||||
force_off_check();
|
||||
|
||||
if( system_status.taikendai )
|
||||
{
|
||||
if( PM_EXTDC_n )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case SLEEP: //------------------------------------------
|
||||
chk_emergencyExit();
|
||||
// スリープから復帰
|
||||
if( !SLP_REQ ){
|
||||
PM_VDD_normMode();
|
||||
wait_ms( 5 ); // tdly_sw
|
||||
send_getup_to_soc();
|
||||
system_status.pwr_state = ON;
|
||||
}
|
||||
|
||||
force_off_check();
|
||||
|
||||
if( system_status.taikendai )
|
||||
{
|
||||
if( PM_EXTDC_n )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case OFF_TRIG: //---------------------------------------
|
||||
default:
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
|
||||
// LED消灯を待つ
|
||||
vreg_ctr[ VREG_C_LED_POW ] = LED_POW_ILM_OFF;
|
||||
vreg_ctr[ VREG_C_LED_WIFI ] = WIFI_LED_OFF;
|
||||
vreg_ctr[ VREG_C_LED_TUNE ] = LED_TUNE_ILM_OFF;
|
||||
info_led_off = true;
|
||||
if( LED_duty_pow_blu != 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
system_status.force_off = 0;
|
||||
|
||||
vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x00;
|
||||
tski_acc_hosu_set();
|
||||
|
||||
LED_stop( );
|
||||
IIC_ctr_Stop( );
|
||||
IIC_twl_Stop( );
|
||||
RTC_32k_off();
|
||||
|
||||
vreg_ctr[VREG_C_IRQ0] = 0;
|
||||
vreg_ctr[VREG_C_IRQ1] = 0;
|
||||
vreg_ctr[VREG_C_IRQ2] = 0;
|
||||
vreg_ctr[VREG_C_IRQ3] = 0;
|
||||
|
||||
// 電源オン条件の割り込みセット
|
||||
// PWSW KR3 押すとL
|
||||
// BG24 KR4
|
||||
// ふた開け INTP5 閉じるとL
|
||||
// ACアダプタ INTP4 アダプタありでL
|
||||
// RTC
|
||||
while( iic_mcu_busy )
|
||||
{;}
|
||||
|
||||
KRM = ( KR_SW_POW ); // Mask ではなく、Modeなのだそうだ。紛らわしい
|
||||
MK0 = ~( INT_MSK0_EXTDC );
|
||||
MK1 = ~( INT_MSK1_KR | INT_MSK1_RTCALARM | INT_MSK1_RTCINTVAL );
|
||||
MK2L = 0b11111111;
|
||||
|
||||
// PU5 そのまま
|
||||
PU7 = 0b00001001; // PWSWI,PM_EXTTDC,( IRQ0_deactive(), PM_IRQ_deactive )
|
||||
PU20.4 = 0; // SW_HOME 停止
|
||||
|
||||
IF0 = 0;
|
||||
IF1 = 0;
|
||||
IF2 = 0;
|
||||
|
||||
IRQ0_disable;
|
||||
|
||||
PM_sys_pow_off( );
|
||||
|
||||
P7.4 = 0; // SW_wifi
|
||||
PM7.4 = 0;
|
||||
|
||||
P20.4 = 0; // sw_home
|
||||
PM20.4 = 0;
|
||||
|
||||
P20.3 = 0; // WL_TX
|
||||
PM20.3 = 0;
|
||||
|
||||
P2.3 = 0; // KEY_SEL
|
||||
PM2.3 = 0;
|
||||
P2.5 = 0; // ACC_ready1
|
||||
PM2.5 = 0;
|
||||
P14.1 = 0; // ACC_ready2
|
||||
PM14.1 = 0;
|
||||
|
||||
iic_mcu_stop( );
|
||||
|
||||
timeout = 0;
|
||||
|
||||
system_status.pwr_state = BT_CHARGE;
|
||||
SW_pow_mask = true;
|
||||
SW_pow_count = 0;
|
||||
|
||||
|
||||
// no break //
|
||||
|
||||
case BT_CHARGE:
|
||||
if( !PM_EXTDC_n )
|
||||
{
|
||||
// アダプタが刺さってるときはこのブロックを繰り返す。
|
||||
BT_chk(); // 要ポーリング(電池抜かれ検出のため)
|
||||
// ↑の中で必要だったらI2C_m_init呼んでます
|
||||
|
||||
// アダプタ有り:充電温度監視
|
||||
if( SW_pow_count >= 10 ) // 電源スイッチが押されるのを待つ
|
||||
{
|
||||
// 電源投入
|
||||
system_status.poweron_reason = PWSW;
|
||||
system_status.pwr_state = OFF;
|
||||
}
|
||||
if( system_status.model != MODEL_JIKKI )
|
||||
{
|
||||
iic_mcu_stop( );
|
||||
}
|
||||
|
||||
if( system_status.taikendai )
|
||||
{
|
||||
// 電源投入
|
||||
wait_ms(46);
|
||||
system_status.poweron_reason = PWSW;
|
||||
system_status.pwr_state = OFF;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// / static bit chg_ena_orig;
|
||||
|
||||
if( chg_led_override != 0 ) // これがゼロになるまで待つ
|
||||
{
|
||||
return;
|
||||
};
|
||||
|
||||
// / chg_ena_orig = BT_CHG_Ena_n;
|
||||
|
||||
// 省電力へ移行
|
||||
system_status.poweron_reason = NONE;
|
||||
|
||||
iic_mcu_stop( );
|
||||
pm_chk_adapter();
|
||||
PM_Chg_Stop();
|
||||
bt_force_update = true;
|
||||
|
||||
while( RWST )
|
||||
{;}
|
||||
|
||||
// 割り込み待ちで寝る //
|
||||
RTCIMK = 1;
|
||||
|
||||
CKC = 0b00001001;
|
||||
OSMC = 0x00;
|
||||
|
||||
// / BT_CHG_ENABLE(); // リークを減らすため
|
||||
STOP( );
|
||||
|
||||
// 起きる //
|
||||
// 起きる条件は
|
||||
// ・KeyReturn割り込み(電源ボたん)
|
||||
// ・RTCアラーム
|
||||
// ・アダプタ挿抜
|
||||
|
||||
// / BT_CHG_Ena_n = chg_ena_orig;
|
||||
|
||||
if( PM_EXTDC_n )
|
||||
{
|
||||
// 一度起こしてしまう。ペリフェラルの初期化など流用のため。
|
||||
// 電源ボタンのタイムアウトで返ってくる
|
||||
SW_pow_mask = false;
|
||||
}
|
||||
|
||||
OSMC = 0x01;
|
||||
CKC = 0b00001000;
|
||||
|
||||
RTCIMK = 0;
|
||||
system_status.pwr_state = OFF;
|
||||
|
||||
if( system_status.taikendai )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
}
|
||||
|
||||
}
|
||||
return;
|
||||
|
||||
#if 0
|
||||
default:
|
||||
NOP( ); // あり得ないステート
|
||||
#endif
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*******************************************************//**
|
||||
PMICが電源異常で止めたか確認
|
||||
**********************************************************/
|
||||
static void chk_emergencyExit(){
|
||||
static u8 shirobako_power_control_count;
|
||||
|
||||
if( shirobako_power_control_count == 0 )
|
||||
{
|
||||
if( !RESET1_n ) // PM_chk_LDSW() はI2C_mを使用し、高コスト
|
||||
{
|
||||
if( PM_chk_LDSW( ) == 0 )
|
||||
{
|
||||
// リセットが下がってる
|
||||
/// PMICが異常終了判断をした
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
renge_task_interval_run_force = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
// 白箱の仕業
|
||||
shirobako_power_control_count = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if( shirobako_power_control_count == 240 ) // <- 240はマジックナンバー
|
||||
// デバッガが何かした。reset1を解除するまでは無視
|
||||
{
|
||||
if( RESET1_n ) // リセットネゲート待ち
|
||||
{
|
||||
shirobako_power_control_count = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
// nothing to do
|
||||
}
|
||||
}
|
||||
else if( shirobako_power_control_count == 200 )
|
||||
// デバッガが何かしたいらしい
|
||||
{
|
||||
// 白箱は電源を切りたいらしい
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
renge_task_interval_run_force = true;
|
||||
shirobako_power_control_count = 240;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( !RESET1_n )
|
||||
{
|
||||
shirobako_power_control_count += 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( tski_do_command0 );
|
||||
shirobako_power_control_count = 240;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
・電源ボタン長押し
|
||||
・電池切れ
|
||||
・電池抜け
|
||||
での強制OFF。発動すると解除不能
|
||||
======================================================== */
|
||||
static void force_off_check()
|
||||
{
|
||||
if( system_status.force_off )
|
||||
{
|
||||
system_status.pwr_state = OFF_TRIG;
|
||||
renge_task_interval_run_force = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
SoCを起こす
|
||||
電圧が通常に戻ってから呼んで下さい。
|
||||
======================================================== */
|
||||
void send_getup_to_soc()
|
||||
{
|
||||
going_to_sleep = false;
|
||||
timeout_sleep = 0;
|
||||
#ifdef _MODEL_CTR_
|
||||
SLP_ACK = 1;
|
||||
nop8();
|
||||
// nop8();
|
||||
SLP_ACK = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*******************************************************//**
|
||||
firm_update()を task_status_immed型 を返すようにすればいいのですが...
|
||||
**********************************************************/
|
||||
task_status_immed tski_firm_update(){
|
||||
firm_update();
|
||||
return( ERR_SUCCESS );
|
||||
}
|
||||
|
@ -1,267 +0,0 @@
|
||||
#ifndef _USER_DEF_
|
||||
#define _USER_DEF_
|
||||
|
||||
|
||||
#define IIC_T_SLAVEADDRESS 0x4A
|
||||
#define IIC_C_SLAVEADDRESS 0x4A
|
||||
|
||||
#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
|
@ -1,57 +0,0 @@
|
||||
#ifdef _10db_
|
||||
// max -10db
|
||||
/*
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 127, 127, 127, 126, 125, 123, 122,
|
||||
121, 120, 118, 117, 116, 115, 113, 112,
|
||||
111, 110, 108, 107, 106, 105, 103, 102,
|
||||
101, 100, 98, 97, 96, 95, 93, 92,
|
||||
91, 90, 88, 87, 86, 85, 83, 82,
|
||||
81, 80, 78, 77, 76, 75, 73, 72,
|
||||
72, 71, 70, 68, 67, 66, 64, 63,
|
||||
62, 61, 59, 58, 57, 56, 55, 55
|
||||
};
|
||||
*/
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 126, 125, 124, 122, 121, 120, 119,
|
||||
118, 117, 116, 114, 113, 112, 111, 110,
|
||||
109, 108, 106, 105, 104, 103, 102, 101,
|
||||
100, 98, 97, 96, 95, 94, 93, 92,
|
||||
90, 89, 88, 87, 86, 85, 83, 82,
|
||||
81, 80, 79, 78, 77, 75, 74, 73,
|
||||
73, 72, 71, 70, 69, 67, 66, 65,
|
||||
64, 63, 62, 61, 59, 58, 57, 56
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef _15db_
|
||||
// max -15db
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 127, 127, 127, 127, 126, 125, 123,
|
||||
122, 121, 120, 119, 118, 117, 116, 115,
|
||||
114, 113, 112, 110, 109, 108, 107, 106,
|
||||
105, 104, 103, 102, 101, 100, 99, 97,
|
||||
96, 95, 94, 93, 92, 91, 90, 89,
|
||||
88, 87, 86, 85, 84, 83, 82, 81,
|
||||
80, 79, 78, 77, 76, 75, 74, 73,
|
||||
71, 70, 69, 68, 67, 66, 66, 66
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef _4db_
|
||||
// max -4db
|
||||
const u8 slider_to_codec[64] =
|
||||
{
|
||||
127, 127, 126, 125, 123, 122, 121, 119,
|
||||
118, 117, 115, 114, 112, 111, 110, 108,
|
||||
107, 106, 104, 103, 101, 100, 99, 97,
|
||||
96, 94, 93, 92, 90, 89, 88, 86,
|
||||
85, 83, 82, 81, 79, 78, 77, 75,
|
||||
74, 72, 71, 70, 68, 67, 66, 64,
|
||||
64, 63, 61, 60, 59, 57, 56, 54,
|
||||
53, 52, 50, 49, 48, 46, 44, 44
|
||||
};
|
||||
#endif
|
@ -1,528 +0,0 @@
|
||||
/* ========================================================
|
||||
|
||||
CTR MCU I2Cレジスタ
|
||||
|
||||
====================================================== */
|
||||
#include "incs.h"
|
||||
#include "vreg_ctr.h"
|
||||
#include "rtc.h"
|
||||
#include "led.h"
|
||||
#include "accero.h"
|
||||
#include "pm.h"
|
||||
#include "pool.h"
|
||||
|
||||
#include <fsl.h>
|
||||
#include "fsl_user.h"
|
||||
|
||||
|
||||
|
||||
extern u8 mcu_info_read(); // task_misc.c
|
||||
|
||||
|
||||
extern u8 iic_burst_state; // 特殊バーストアクセスする時のカウンタ
|
||||
extern bit info_led_pattern_updated; // お知らせLEDのパターンを先頭に戻す
|
||||
|
||||
|
||||
// ********************************************************
|
||||
#ifdef _DBG_PEDO_AUTO_ENABLE_
|
||||
u8 vreg_ctr[VREG_C_ENDMARK_ + 16];
|
||||
#else
|
||||
u8 vreg_ctr[VREG_C_ENDMARK_];
|
||||
#endif
|
||||
|
||||
u8 vreg_free_adrs; // アドレス飛んでるのでしばらくはこれで
|
||||
|
||||
bit irq_readed; // AAA型のため。
|
||||
|
||||
|
||||
|
||||
// ********************************************************
|
||||
extern task_status_immed tski_firm_update();
|
||||
extern task_status_immed tski_mcu_info_read();
|
||||
extern task_status_immed tski_mcu_reset();
|
||||
|
||||
|
||||
|
||||
// ********************************************************
|
||||
#ifdef _MCU_BSR_
|
||||
#define IICAMK IICAMK1
|
||||
#endif
|
||||
|
||||
|
||||
// ********************************************************
|
||||
// 非ゼロの初期値の指定が必要なアドレス
|
||||
// マイコンリセット時に呼ばれます
|
||||
void vreg_ctr_init( )
|
||||
{
|
||||
vreg_ctr[ VREG_C_VCOM_T ] = VCOM_DEFAULT_T;
|
||||
vreg_ctr[ VREG_C_VCOM_B ] = VCOM_DEFAULT_B;
|
||||
|
||||
vreg_ctr[ VREG_C_OFF_DELAY ] = FORCEOFF_THREASHOLD;
|
||||
|
||||
vreg_ctr[ VREG_C_VOL_CAL_MIN ] = 0x36;
|
||||
vreg_ctr[ VREG_C_VOL_CAL_MAX ] = 0xFF - 0x36;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// ********************************************************
|
||||
// 本体の電源投入時にセットされます
|
||||
void vreg_ctr_reset( )
|
||||
{
|
||||
vreg_ctr[ VREG_C_MCU_VER_MAJOR ] = MCU_VER_MAJOR | 0x10;
|
||||
vreg_ctr[ VREG_C_MCU_VER_MINOR ] = MCU_VER_MINOR;
|
||||
|
||||
vreg_ctr[ VREG_C_LED_BRIGHT ] = 0xFF;
|
||||
vreg_ctr[ VREG_C_LED_POW ] = 0;
|
||||
vreg_ctr[ VREG_C_LED_WIFI ] = 0;
|
||||
vreg_ctr[ VREG_C_LED_CAM ] = 0;
|
||||
vreg_ctr[ VREG_C_LED_TUNE ] = 0;
|
||||
vreg_ctr[ VREG_C_VOL_DIGITAL ] = 0x20;
|
||||
vreg_ctr[ VREG_C_VOL_OPTION ] = 0;
|
||||
// vreg_ctr[ VREG_C_VOL_CAL_MIN ] = 0x36; ここで書いちゃダメ!
|
||||
// vreg_ctr[ VREG_C_VOL_CAL_MAX ] = 0xFF - 0x36;
|
||||
{
|
||||
u8 i;
|
||||
for( i = 0; i < sizeof( uni_info_LED ); i++ )
|
||||
{
|
||||
info_LED.bindata[ i ] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ********************************************************
|
||||
// I2C仮想レジスタに書きます。
|
||||
// 引数 adrs は内部アドレス
|
||||
// 書けないアドレスにアクセスした場合、何もしません。
|
||||
// ●書き込んだ結果、I2C_mcu通信が発生する場合、renge_task_immed_add()
|
||||
// を使用しないと、I2C_mcu使用中でエラー終了した場合にリトライしません。
|
||||
void vreg_ctr_write( u8 adrs, u8 data )
|
||||
{
|
||||
switch ( adrs )
|
||||
{
|
||||
|
||||
case ( VREG_C_MCU_STATUS ):
|
||||
// vreg_twl[ REG_TWL_INT_ADRS_MODE ] = (u8)( ( data >> 6 ) & 0x03 ); Rでよい。その代わりリセットでクリア
|
||||
vreg_ctr[ VREG_C_MCU_STATUS ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_VCOM_T ):
|
||||
case ( VREG_C_VCOM_B ):
|
||||
renge_task_immed_add( tski_vcom_set );
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_DBG03 ):
|
||||
if( ( vreg_ctr[VREG_C_DBG01] == 'j' )
|
||||
&& ( vreg_ctr[VREG_C_DBG02] == 'h' )
|
||||
&& ( data == 'l' ) )
|
||||
{
|
||||
renge_task_immed_add( tski_firm_update );
|
||||
IICAMK = 1;
|
||||
}
|
||||
vreg_ctr[ VREG_C_DBG03 ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_COMMAND0 ):
|
||||
if( data != 0 )
|
||||
{
|
||||
// SVA1 = 0x5A; // 通信受け付けない todo
|
||||
renge_task_immed_add( tski_do_command0 );
|
||||
}
|
||||
vreg_ctr[ VREG_C_COMMAND0 ] |= data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_COMMAND2 ):
|
||||
// こちらからの完了割り込みを待ってくれないそうです。 #-ω-) 何のための割り込みだ
|
||||
// 液晶電源
|
||||
if(( data & REG_BIT_CMD_LCD_ON ) != 0 )
|
||||
{
|
||||
renge_task_immed_add( tski_PM_LCD_on );
|
||||
}
|
||||
else if(( data & REG_BIT_CMD_LCD_OFF ) != 0 )
|
||||
{
|
||||
renge_task_immed_add( tski_PM_LCD_off );
|
||||
}
|
||||
|
||||
// バックライト設定
|
||||
/// 今のところさらに細かくは分けないけど…
|
||||
if(( data & REG_BITS_CMD_BL ) != 0 )
|
||||
{
|
||||
renge_task_immed_add( tski_PM_BL_set );
|
||||
vreg_ctr[adrs] = (u8)( data & REG_BITS_CMD_BL );
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_C_COMMAND1 ):
|
||||
if( data != 0 )
|
||||
{
|
||||
// TWLに割り込みを入れる
|
||||
/// 実際に割り込みを入れるのはSoC
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] = ( ( data & REG_BIT_SEND_TWL_PWSW_DET ) != 0 ) ? REG_BIT_TWL_IRQ_PWSW_DET : 0x00; //pwsw_det
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_RESET_DET ) != 0 ) ? REG_BIT_TWL_IRQ_RESET : 0x00; //reset_req
|
||||
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_OFF_DET ) != 0 ) ? REG_BIT_TWL_IRQ_OFF : 0x00; //off_req
|
||||
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_LOW ) != 0 ) ? REG_BIT_TWL_IRQ_BT_LOW : 0x00; //batt_low
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= ( ( data & REG_BIT_SEND_TWL_BATT_EMPTY ) != 0 ) ? REG_BIT_TWL_IRQ_BT_EMPTY : 0x00; //batt_empty
|
||||
|
||||
if(( data & REG_BIT_SEND_TWL_VOL_CLICK ) != 0 )
|
||||
{
|
||||
vreg_twl[REG_TWL_INT_ADRS_IRQ] |= REG_BIT_TWL_IRQ_VOL_CHANGE; //vol_changed
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_POW ):
|
||||
if( iic_burst_state == 0 )
|
||||
{
|
||||
vreg_ctr[ VREG_C_LED_POW ] = data;
|
||||
iic_burst_state += 1;
|
||||
}
|
||||
else if( iic_burst_state < 5 )
|
||||
{
|
||||
led_red_batt_empty.dats[ iic_burst_state -1 ] = data;
|
||||
iic_burst_state += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_WIFI ):
|
||||
case ( VREG_C_LED_CAM ):
|
||||
case ( VREG_C_LED_TUNE ):
|
||||
vreg_ctr[adrs] = (u8)( data & 0x0F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_LED_NOTIFY_DATA ):
|
||||
if( iic_burst_state < sizeof( uni_info_LED ) )
|
||||
{
|
||||
if(( iic_burst_state == 1 ) && ( data == 0 )) // fade_time == 0 禁止
|
||||
{
|
||||
data = 1;
|
||||
}
|
||||
info_LED.bindata[ iic_burst_state ] = data;
|
||||
iic_burst_state += 1;
|
||||
if( iic_burst_state > 4 ) // パターンを1文字でも書いた
|
||||
{
|
||||
info_led_pattern_updated = true;
|
||||
}
|
||||
}
|
||||
|
||||
/// 非同期で動いているためここでは書かない。
|
||||
// 予約するだけでstopで書く
|
||||
case ( VREG_C_RTC_SEC ):
|
||||
case ( VREG_C_RTC_MIN ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x7F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_DAY ):
|
||||
case ( VREG_C_RTC_HOUR ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x3F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_YOBI ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x07 );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_MONTH ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data & 0x1F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_YEAR ):
|
||||
set_rtc( adrs - VREG_C_RTC_SEC, data );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_COMP ):
|
||||
WDT_Restart();
|
||||
while(1)
|
||||
{
|
||||
RWAIT = 1;
|
||||
while( !RWST ){}
|
||||
if( SEC != 0 )
|
||||
{
|
||||
break;
|
||||
}
|
||||
RWAIT = 0;
|
||||
}
|
||||
SUBCUD = data;
|
||||
RWAIT = 0;
|
||||
vreg_ctr[ VREG_C_RTC_COMP ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_ALARM_MIN ):
|
||||
rtc_alarm_dirty = true;
|
||||
vreg_ctr[ VREG_C_RTC_ALARM_MIN ] = (u8)( data & 0x7F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_ALARM_HOUR ):
|
||||
rtc_alarm_dirty = true;
|
||||
vreg_ctr[ VREG_C_RTC_ALARM_HOUR ] = (u8)( data & 0x3F );
|
||||
break;
|
||||
|
||||
// 書くだけでよい
|
||||
case ( VREG_C_RTC_ALARM_DAY ):
|
||||
vreg_ctr[ VREG_C_RTC_ALARM_DAY ] = (u8)( data & 0x3F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_RTC_ALARM_MONTH ):
|
||||
vreg_ctr[ VREG_C_RTC_ALARM_MONTH ] = (u8)( data & 0x1F );
|
||||
break;
|
||||
|
||||
case ( VREG_C_ACC_CONFIG ):
|
||||
renge_task_immed_add( tski_acc_hosu_set );
|
||||
vreg_ctr[ VREG_C_ACC_CONFIG ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_ACC_R_ADRS ):
|
||||
renge_task_immed_add( tski_acc_read );
|
||||
vreg_ctr[ VREG_C_ACC_R_ADRS ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_ACC_W_BUF ):
|
||||
renge_task_immed_add( tski_acc_write );
|
||||
vreg_ctr[ VREG_C_ACC_W_BUF ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_ACC_HOSU_SETTING ):
|
||||
if( ( data & 0x01 ) != 0 )
|
||||
{
|
||||
clear_hosu_hist(); // 履歴クリア
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_CX_FREE_DATA ):
|
||||
if( vreg_free_adrs < VREG_C_FREE_SIZE )
|
||||
{
|
||||
pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ] = data;
|
||||
vreg_free_adrs += 1;
|
||||
}
|
||||
break;
|
||||
|
||||
case ( VREG_CX_FREE_ADRS ):
|
||||
vreg_free_adrs = data;
|
||||
break;
|
||||
|
||||
|
||||
case ( VREG_C_COMMAND3 ):
|
||||
switch ( data )
|
||||
{
|
||||
case ( 'r' ):
|
||||
// 割り込みルーチンからFSLライブラリを呼ぶのは禁止のため
|
||||
// マイコンを再起動。 レジスタ類も初期化される。
|
||||
renge_task_immed_add( tski_mcu_reset );
|
||||
break;
|
||||
|
||||
#ifdef _ENABLE_WDT_TEST_
|
||||
case ( 'w' ):
|
||||
// WDTで再起動(テスト向け)
|
||||
while(1)
|
||||
{
|
||||
NOP();
|
||||
}
|
||||
// mcu_wdt_reset; // このコマンド使ったら意味ないでしょ!
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
vreg_ctr[ VREG_C_COMMAND3 ] = data;
|
||||
break;
|
||||
|
||||
case ( VREG_C_VOL_OPTION ):
|
||||
if(( vreg_ctr[ VREG_C_VOL_OPTION ] ^ data ) & ( REG_BIT_VOL_UPDATE_TO_SLIDER ))
|
||||
{
|
||||
// renge_task_immed_add( tski_vol_update );
|
||||
vol_polling = 3;
|
||||
}
|
||||
vreg_ctr[ VREG_C_VOL_OPTION ] = data;
|
||||
break;
|
||||
|
||||
// read only //
|
||||
case ( VREG_C_MCU_VER_MAJOR ):
|
||||
case ( VREG_C_MCU_VER_MINOR ):
|
||||
// VREG_C_TUNE = 0x08,
|
||||
// VREG_C_SND_VOL,
|
||||
// VREG_C_BT_TEMP,
|
||||
// VREG_C_BT_REMAIN,
|
||||
// VREG_C_BT_REMAIN_FINE,
|
||||
// VREG_C_BT_VOLTAGE,
|
||||
case ( VREG_C_STATUS_1 ):
|
||||
case ( VREG_C_STATUS ):
|
||||
case ( VREG_C_IRQ0 ):
|
||||
case ( VREG_C_IRQ1 ):
|
||||
case ( VREG_C_IRQ2 ):
|
||||
case ( VREG_C_IRQ3 ):
|
||||
case ( VREG_C_IRQ4 ):
|
||||
case ( VREG_C_LED_NOTIFY_FLAG ):
|
||||
case ( VREG_C_RTC_SEC_FINE_L ):
|
||||
case ( VREG_C_RTC_SEC_FINE_H ):
|
||||
// VREG_C_ACC_RESERVE,
|
||||
// VREG_C_ACC_HOSU_HIST = 0x4F,
|
||||
break;
|
||||
|
||||
// ただ値を更新するだけ //
|
||||
default:
|
||||
/*
|
||||
case ( VREG_C_IRQ_MASK0 ):
|
||||
case ( VREG_C_IRQ_MASK1 ):
|
||||
case ( VREG_C_IRQ_MASK2 ):
|
||||
case ( VREG_C_IRQ_MASK3 ):
|
||||
case ( VREG_C_IRQ_MASK4 ):
|
||||
case ( VREG_C_DBG01 ):
|
||||
case ( VREG_C_DBG02 ):
|
||||
case ( VREG_C_LED_BRIGHT ):
|
||||
case ( VREG_C_ACC_HOSU_L ):
|
||||
case ( VREG_C_ACC_HOSU_M ):
|
||||
case ( VREG_C_ACC_HOSU_H ):
|
||||
case ( VREG_C_ACC_HOSU_HOUR_BOUNDARY ):
|
||||
case ( VREG_C_FREE_ADRS ):
|
||||
case ( VREG_C_RTC_ALARM_YEAR ):
|
||||
case ( VREG_C_ACC_W_ADRS ):
|
||||
case ( VREG_C_OFF_DELAY ):
|
||||
case ( VREG_C_VOL_DIGITAL ):
|
||||
*/
|
||||
if( adrs < VREG_C_ENDMARK_ )
|
||||
{
|
||||
vreg_ctr[adrs] = data;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ********************************************************
|
||||
// I2C仮想レジスタから読みます。
|
||||
// 戻り: xx データ
|
||||
// 注意:次のアドレスの準備で呼ばれる ので、
|
||||
// リードされたらクリアなどは気をつける
|
||||
// ( →vreg_ctr_after_read( u8 adrs ) )
|
||||
u8 vreg_ctr_read( u8 adrs )
|
||||
{
|
||||
static u16 rsub_temp;
|
||||
u8 temp;
|
||||
|
||||
// RTCは読み出し途中に繰り上がるのを避けるため
|
||||
if( ( VREG_C_RTC_SEC <= adrs ) && ( adrs <= VREG_C_RTC_YEAR ) )
|
||||
{
|
||||
rtc_buf_reflesh( );
|
||||
}
|
||||
else if( adrs == VREG_C_MCU_STATUS )
|
||||
{
|
||||
return( ( vreg_ctr[ VREG_C_MCU_STATUS ] & 0x03 ) |
|
||||
( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x03 ) << 6 ) | // sys_mode
|
||||
( ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x80 ) >> 2 )); // vol32
|
||||
}
|
||||
else if( adrs == VREG_C_RTC_SEC_FINE_L )
|
||||
{
|
||||
rsub_temp = RSUBC;
|
||||
return( (u8)( rsub_temp & 0xFF ) );
|
||||
}
|
||||
else if( adrs == VREG_C_RTC_SEC_FINE_H )
|
||||
{
|
||||
return( (u8)( ( rsub_temp >> 8 ) & 0xFF ) );
|
||||
}
|
||||
else if( adrs == VREG_C_ACC_HOSU_HIST )
|
||||
{
|
||||
return( hosu_read() );
|
||||
}
|
||||
else if( adrs == VREG_CX_FREE_DATA )
|
||||
{
|
||||
temp = pool.vreg_c_ext.vreg_c_free[ vreg_free_adrs ];
|
||||
// vreg_free_adrs += 1; // ここで加算してしまうとインデックスがずれる
|
||||
return( temp );
|
||||
}
|
||||
else if( adrs == VREG_CX_INFO )
|
||||
{
|
||||
// I2C_mを使うので、ここからでは割り込みが使えなくて困る
|
||||
// なのでタスク登録する。
|
||||
// 強制的にI2C_2割り込みをマスクする
|
||||
renge_task_immed_add( tski_mcu_info_read );
|
||||
IICAMK = 1;
|
||||
return( 0x4A );
|
||||
}
|
||||
|
||||
#if 0
|
||||
if( adrs >= VREG_C_ENDMARK_ )
|
||||
{
|
||||
// VREG_C_INFO > VREG_C_ENDMARK_ なので
|
||||
// いじるときは注意
|
||||
return( 0xEE );
|
||||
}
|
||||
#endif
|
||||
return ( vreg_ctr[adrs] );
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ********************************************************
|
||||
// I2C仮想レジスタから読まれて何かするレジスタ
|
||||
void vreg_ctr_after_read( u8 adrs, u8 data )
|
||||
{
|
||||
// 割り込みフラグはリードでクリア
|
||||
switch( adrs )
|
||||
{
|
||||
case VREG_C_IRQ0:
|
||||
case VREG_C_IRQ1:
|
||||
case VREG_C_IRQ2:
|
||||
case VREG_C_IRQ3:
|
||||
case VREG_C_IRQ4:
|
||||
DI();
|
||||
vreg_ctr[ adrs ] ^= data;
|
||||
EI();
|
||||
irq_readed = true;
|
||||
break;
|
||||
|
||||
case VREG_CX_FREE_DATA:
|
||||
vreg_free_adrs += 1;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/******************************************************************************
|
||||
割り込みを入れる
|
||||
割り込みマスクが必要と言うことでこんな事をする羽目になりました
|
||||
*****************************************************************************/
|
||||
#if 0
|
||||
// マスクされてたら、フラグは立てるが、割り込みは入れない。
|
||||
#define set_irq( irqreg, bitpos ) \
|
||||
{ \
|
||||
vreg_ctr[ irqreg ] |= bitpos; \
|
||||
if( ( vreg_ctr[ irqreg+8 ] & bitpos ) == 0 ){ \
|
||||
IRQ0_ast; \
|
||||
} \
|
||||
}
|
||||
#endif
|
||||
|
||||
// マスクされてたら、フラグも立てず、割り込みも入れない。
|
||||
void set_irq( u8 irqreg, u8 irq_flg )
|
||||
{
|
||||
u8 tot;
|
||||
|
||||
if(( system_status.pwr_state == ON ) ||
|
||||
( system_status.pwr_state == SLEEP ))
|
||||
{
|
||||
// DI();
|
||||
if( ( vreg_ctr[ irqreg + 8 ] & irq_flg ) == 0 ){
|
||||
vreg_ctr[ irqreg ] |= irq_flg;
|
||||
IRQ0_neg; // 一瞬上げて...
|
||||
// EI();
|
||||
tot = 0;
|
||||
while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.なのでちゃんとあがるのを待つ & IRQ_mcu がLに縛られてると困る(基板不良)
|
||||
IRQ0_ast; // 落とし直す。
|
||||
}
|
||||
}
|
||||
// EI();
|
||||
}
|
@ -1,268 +0,0 @@
|
||||
#ifndef __vreg_ctr__
|
||||
#define __vreg_ctr__
|
||||
|
||||
|
||||
#include "config.h"
|
||||
|
||||
// VREG_C_MCU_STATUS
|
||||
#define REG_BIT_STATUS_WDT_RESET ( 1 << 1 )
|
||||
#define REG_BIT_RTC_BLACKOUT ( 1 << 0 )
|
||||
|
||||
|
||||
// VREG_C_STATUS,
|
||||
#define REG_BIT_LCD_POW ( 1 << 7 )
|
||||
#define REG_BIT_BL_U ( 1 << 6 )
|
||||
#define REG_BIT_BL_L ( 1 << 5 )
|
||||
#define REG_BIT_BATT_CHARGE ( 1 << 4 )
|
||||
#define REG_BIT_POW_SUPPLY ( 1 << 3 )
|
||||
// 未使用 ( 1 << 2 )
|
||||
#define REG_BIT_ST_SHELL_OPEN ( 1 << 1 )
|
||||
// 未使用 ( 1 << 0 )
|
||||
|
||||
|
||||
// VREG_C_STATUS_X
|
||||
// 未使用 ( 1 << 6 )
|
||||
// 未使用 ( 1 << 5 )
|
||||
#define REG_BIT_WIFI_TX ( 1 << 4 )
|
||||
// twl bl のミラー[1: ( 1 << 3 )
|
||||
// 0]( 1 << 2 )
|
||||
#define REG_BIT_ACCERO_ERR ( 1 << 1 )
|
||||
#define REG_BIT_GASGAUGE_ERR ( 1 << 0 )
|
||||
|
||||
// VREG_C_IRQ0
|
||||
#define REG_BIT_IRQ_WDT_RESET ( 1 << 7 )
|
||||
#define REG_BIT_SHELL_OPEN ( 1 << 6 )
|
||||
#define REG_BIT_SHELL_CLOSE ( 1 << 5 )
|
||||
#define REG_BIT_SW_WIFI_CLICK ( 1 << 4 )
|
||||
#define REG_BIT_SW_HOME_RELEASE ( 1 << 3 )
|
||||
#define REG_BIT_SW_HOME_CLICK ( 1 << 2 )
|
||||
#define REG_BIT_SW_POW_HOLD ( 1 << 1 )
|
||||
#define REG_BIT_SW_POW_CLICK ( 1 << 0 )
|
||||
|
||||
// VREG_C_IRQ1
|
||||
#define REG_BIT_BT_CHG_START ( 1 << 7 )
|
||||
#define REG_BIT_BT_CHG_STOP ( 1 << 6 )
|
||||
#define REG_BIT_BT_REMAIN ( 1 << 5 )
|
||||
#define REG_BIT_ACC_DAT_RDY ( 1 << 4 )
|
||||
#define REG_BIT_ACC_ACK ( 1 << 3 )
|
||||
#define REG_BIT_RTC_ALARM ( 1 << 2 )
|
||||
#define REG_BIT_BT_DC_CONNECT ( 1 << 1 )
|
||||
#define REG_BIT_BT_DC_DISC ( 1 << 0 )
|
||||
|
||||
// VREG_C_IRQ2
|
||||
#define REG_BIT_TWL_VER_READ ( 1 << 7 )
|
||||
//#define REG_BIT_TWL_SNDVOL_CHANGE ( 1 << 6 ) 廃止
|
||||
#define REG_BIT_SLIDE_VOL_ACROSS_TWL_BOUNDARY ( 1 << 6 )
|
||||
#define REG_BIT_TWL_BL_U_ON ( 1 << 5 )
|
||||
#define REG_BIT_TWL_BL_U_OFF ( 1 << 4 )
|
||||
#define REG_BIT_TWL_BL_L_ON ( 1 << 3 )
|
||||
#define REG_BIT_TWL_BL_L_OFF ( 1 << 2 )
|
||||
#define REG_BIT_TWL_OFF_REQ ( 1 << 1 )
|
||||
#define REG_BIT_TWL_RESET_REQ ( 1 << 0 )
|
||||
|
||||
// VREG_C_IRQ3
|
||||
#define REG_BIT_BL_U_ON ( 1 << 5 )
|
||||
#define REG_BIT_BL_U_OFF ( 1 << 4 )
|
||||
#define REG_BIT_BL_L_ON ( 1 << 3 )
|
||||
#define REG_BIT_BL_L_OFF ( 1 << 2 )
|
||||
#define REG_BIT_LCD_ON ( 1 << 1 )
|
||||
#define REG_BIT_LCD_OFF ( 1 << 0 )
|
||||
|
||||
|
||||
// そのうちどこかに...
|
||||
//#define REG_BIT_VR_TUNE_CHANGE ( 1 << 7 )
|
||||
|
||||
|
||||
|
||||
// VREG_C_COMMAND0
|
||||
//#define REG_BIT_CMD_LCD_ON ( 1 << 7 )
|
||||
//#define REG_BIT_CMD_LCD_OFF ( 1 << 6 )
|
||||
//#define REG_BIT_CMD_BL_ON ( 1 << 5 )
|
||||
//#define REG_BIT_CMD_BL_OFF ( 1 << 4 )
|
||||
#define REG_BIT_GOING_TO_SLEEP ( 1 << 4 )
|
||||
#define REG_BIT_FCRAM_RESET_REQ ( 1 << 3 )
|
||||
#define REG_BIT_RESET2_REQ ( 1 << 2 )
|
||||
#define REG_BIT_RESET1_REQ ( 1 << 1 )
|
||||
#define REG_BIT_OFF_REQ ( 1 << 0 )
|
||||
|
||||
// VREG_C_COMMAND1 (TWLに割り込みを入れる)
|
||||
// 未使用 ( 1 << 7 )
|
||||
// 未使用 ( 1 << 6 )
|
||||
#define REG_BIT_SEND_TWL_VOL_CLICK ( 1 << 5 )
|
||||
#define REG_BIT_SEND_TWL_BATT_EMPTY ( 1 << 4 )
|
||||
#define REG_BIT_SEND_TWL_BATT_LOW ( 1 << 3 )
|
||||
#define REG_BIT_SEND_TWL_OFF_DET ( 1 << 2 )
|
||||
#define REG_BIT_SEND_TWL_RESET_DET ( 1 << 1 )
|
||||
#define REG_BIT_SEND_TWL_PWSW_DET ( 1 << 0 )
|
||||
|
||||
// VREG_C_COMMAND2 液晶関係
|
||||
#define REG_BIT_CMD_BL_U_ON ( 1 << 5 )
|
||||
#define REG_BIT_CMD_BL_U_OFF ( 1 << 4 )
|
||||
#define REG_BIT_CMD_BL_L_ON ( 1 << 3 )
|
||||
#define REG_BIT_CMD_BL_L_OFF ( 1 << 2 )
|
||||
#define REG_BIT_CMD_LCD_ON ( 1 << 1 )
|
||||
#define REG_BIT_CMD_LCD_OFF ( 1 << 0 )
|
||||
#define REG_BITS_CMD_BL ( REG_BIT_CMD_BL_U_ON | REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_ON | REG_BIT_CMD_BL_L_OFF )
|
||||
|
||||
|
||||
// ↑TWLに通知するIRQレジスタ
|
||||
#define REG_BIT_TWL_IRQ_PWSW_DET 0x08
|
||||
#define REG_BIT_TWL_IRQ_RESET 0x01
|
||||
#define REG_BIT_TWL_IRQ_OFF 0x02
|
||||
#define REG_BIT_TWL_IRQ_BT_LOW 0x20
|
||||
#define REG_BIT_TWL_IRQ_BT_EMPTY 0x10
|
||||
#define REG_BIT_TWL_IRQ_VOL_CHANGE 0x40
|
||||
|
||||
// VOL option (0x26)
|
||||
#define REG_BIT_VOL_UPDATE_TO_SLIDER ( 1 << 4 )
|
||||
#define REG_BIT_VOL_FORCE_REG ( 1 << 2 )
|
||||
#define REG_BIT_VOL_BY_SPI ( 1 << 0 )
|
||||
// FORCE_REGの方が弱い
|
||||
|
||||
// CODEC上のPMIC NTR の代理レジスタ
|
||||
#define REG_BIT_TWL_REQ_OFF ( 1 << 6 )
|
||||
#define REG_BIT_TWL_REQ_BL_U ( 1 << 3 )
|
||||
#define REG_BIT_TWL_REQ_BL_L ( 1 << 2 )
|
||||
#define REG_BIT_TWL_REQ_RESET ( 1 << 0 )
|
||||
|
||||
|
||||
|
||||
// VREG_C_LED_NOTIFY_FLAG
|
||||
#define REG_BIT_IN_LOOP ( 1 << 0 )
|
||||
|
||||
|
||||
/*
|
||||
テンプレ
|
||||
#define REG_BIT_ ( 1 << 7 )
|
||||
#define REG_BIT_ ( 1 << 6 )
|
||||
#define REG_BIT_ ( 1 << 5 )
|
||||
#define REG_BIT_ ( 1 << 4 )
|
||||
#define REG_BIT_ ( 1 << 3 )
|
||||
#define REG_BIT_ ( 1 << 2 )
|
||||
#define REG_BIT_ ( 1 << 1 )
|
||||
#define REG_BIT_ ( 1 << 0 )
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*============================================================================*/
|
||||
extern u8 vreg_ctr[];
|
||||
|
||||
/*============================================================================*/
|
||||
enum VREG_C_ADRS
|
||||
{ // 未定義アドレスへ書き込んだ際の動作は不定
|
||||
VREG_C_MCU_VER_MAJOR = 0x00,
|
||||
VREG_C_MCU_VER_MINOR,
|
||||
VREG_C_MCU_STATUS,
|
||||
|
||||
VREG_C_VCOM_T = 0x03,
|
||||
VREG_C_VCOM_B,
|
||||
|
||||
VREG_C_DBG01 = 0x05,
|
||||
VREG_C_DBG02,
|
||||
VREG_C_DBG03,
|
||||
|
||||
VREG_C_TUNE = 0x08,
|
||||
VREG_C_SND_VOL,
|
||||
VREG_C_BT_TEMP,
|
||||
VREG_C_BT_REMAIN,
|
||||
VREG_C_BT_REMAIN_FINE,
|
||||
VREG_C_BT_VOLTAGE,
|
||||
|
||||
VREG_C_STATUS_1 = 0x0E,
|
||||
VREG_C_STATUS = 0x0F,
|
||||
|
||||
VREG_C_IRQ0 = 0x10,
|
||||
VREG_C_IRQ1,
|
||||
VREG_C_IRQ2,
|
||||
VREG_C_IRQ3,
|
||||
VREG_C_IRQ4,
|
||||
|
||||
VREG_C_IRQ_MASK0 = 0x18,
|
||||
VREG_C_IRQ_MASK1,
|
||||
VREG_C_IRQ_MASK2,
|
||||
VREG_C_IRQ_MASK3,
|
||||
VREG_C_IRQ_MASK4,
|
||||
|
||||
VREG_C_COMMAND0 = 0x20,
|
||||
VREG_C_COMMAND1,
|
||||
VREG_C_COMMAND2,
|
||||
VREG_C_COMMAND3, // 'r' でマイコンリセット、 'w' でWDTリセット
|
||||
|
||||
VREG_C_OFF_DELAY = 0x24,
|
||||
VREG_C_VOL_DIGITAL = 0x25,
|
||||
VREG_C_VOL_OPTION,
|
||||
VREG_C_VOL_ADC_RAW,
|
||||
|
||||
VREG_C_LED_BRIGHT = 0x28,
|
||||
VREG_C_LED_POW,
|
||||
VREG_C_LED_WIFI,
|
||||
VREG_C_LED_CAM,
|
||||
VREG_C_LED_TUNE,
|
||||
VREG_C_LED_NOTIFY_DATA,
|
||||
VREG_C_LED_NOTIFY_FLAG,
|
||||
|
||||
VREG_C_RTC_SEC = 0x30,
|
||||
VREG_C_RTC_MIN,
|
||||
VREG_C_RTC_HOUR,
|
||||
VREG_C_RTC_YOBI,
|
||||
VREG_C_RTC_DAY,
|
||||
VREG_C_RTC_MONTH,
|
||||
VREG_C_RTC_YEAR,
|
||||
|
||||
VREG_C_RTC_COMP,
|
||||
|
||||
VREG_C_RTC_ALARM_MIN = 0x38,
|
||||
VREG_C_RTC_ALARM_HOUR,
|
||||
VREG_C_RTC_ALARM_DAY,
|
||||
VREG_C_RTC_ALARM_MONTH,
|
||||
VREG_C_RTC_ALARM_YEAR,
|
||||
|
||||
VREG_C_RTC_SEC_FINE_L,
|
||||
VREG_C_RTC_SEC_FINE_H,
|
||||
|
||||
VREG_C_ACC_CONFIG = 0x40,
|
||||
VREG_C_ACC_R_ADRS,
|
||||
VREG_C_ACC_RESERVE,
|
||||
VREG_C_ACC_W_ADRS,
|
||||
VREG_C_ACC_W_BUF,
|
||||
|
||||
VREG_C_ACC_XL = 0x45,
|
||||
VREG_C_ACC_XH,
|
||||
VREG_C_ACC_YL,
|
||||
VREG_C_ACC_YH,
|
||||
VREG_C_ACC_ZL,
|
||||
VREG_C_ACC_ZH,
|
||||
|
||||
VREG_C_ACC_HOSU_L = 0x4B,
|
||||
VREG_C_ACC_HOSU_M,
|
||||
VREG_C_ACC_HOSU_H,
|
||||
VREG_C_ACC_HOSU_SETTING,
|
||||
VREG_C_ACC_HOSU_HIST = 0x4F,
|
||||
|
||||
VREG_C_ACC_HOSU_HOUR_BOUNDARY = 0x50,
|
||||
VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC,
|
||||
|
||||
VREG_C_VOL_CAL_MIN = 0x58,
|
||||
VREG_C_VOL_CAL_MAX,
|
||||
|
||||
VREG_C_ENDMARK_
|
||||
};
|
||||
|
||||
#define VREG_CX_INFO 0x7F
|
||||
#define VREG_CX_FREE_ADRS 0x60
|
||||
#define VREG_CX_FREE_DATA 0x61
|
||||
// VREG_C_AMBIENT_BRIGHTNESS = 0xXX,
|
||||
|
||||
|
||||
|
||||
|
||||
/*============================================================================*/
|
||||
void vreg_ctr_init( );
|
||||
void vreg_ctr_reset( );
|
||||
void vreg_ctr_write( u8 adrs, u8 data );
|
||||
u8 vreg_ctr_read( u8 phy_adrs );
|
||||
void vreg_ctr_after_read( u8 adrs, u8 data );
|
||||
void set_irq( u8 irqreg, u8 irq_flg );
|
||||
|
||||
#endif
|
@ -1,156 +0,0 @@
|
||||
/* ========================================================
|
||||
|
||||
TWL互換側のI2Cレジスタ
|
||||
|
||||
======================================================== */
|
||||
#include "incs.h"
|
||||
#include "jhl_defs.h"
|
||||
#include "led.h"
|
||||
|
||||
#include "vreg_twl.h"
|
||||
#include "vreg_ctr.h"
|
||||
|
||||
// ========================================================
|
||||
#define TWL_REG_VER_INFO 0x35
|
||||
#define NON_EXIST_REG 0xFF
|
||||
|
||||
// ========================================================
|
||||
u8 vreg_twl[_REG_TWL_INT_ADRS_ENDMARK];
|
||||
|
||||
extern bit twl_ver_read;
|
||||
extern bit cam_led_update;
|
||||
|
||||
extern bit vol_changed_by_twl;
|
||||
u8 vol_level_twl,vol_level_twl_readed; // SoC が最後に読んだVol値
|
||||
|
||||
|
||||
|
||||
/* ========================================================
|
||||
仮想レジスタの初期化
|
||||
======================================================== */
|
||||
void vreg_twl_init( )
|
||||
{
|
||||
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = 0x03;
|
||||
vreg_twl[ REG_TWL_INT_ADRS_IRQ ] = 0;
|
||||
vreg_twl[ REG_TWL_INT_ADRS_CAM ] = 0;
|
||||
vreg_twl[ REG_TWL_INT_ADRS_TEMP0 ] = 0;
|
||||
}
|
||||
|
||||
// ========================================================
|
||||
// I2C仮想レジスタに書く・何かアクションする
|
||||
// 引数 adrs は内部アドレス
|
||||
// 存在しないアドレスにアクセスした場合、何もしません。
|
||||
void vreg_twl_write( u8 adrs, u8 data )
|
||||
{
|
||||
switch ( adrs )
|
||||
{
|
||||
case ( REG_TWL_INT_ADRS_VOL ):
|
||||
{
|
||||
vol_changed_by_twl = true;
|
||||
vreg_twl[ REG_TWL_INT_ADRS_VOL ] = data;
|
||||
//renge_task_immed_add( tski_vol_update );
|
||||
vol_polling = 3;
|
||||
break;
|
||||
}
|
||||
|
||||
case ( REG_TWL_INT_ADRS_MODE ):
|
||||
vreg_twl[ REG_TWL_INT_ADRS_MODE ] = ( data & 0x83 ); // [8]vol32 [1:0]nand
|
||||
break;
|
||||
|
||||
case ( REG_TWL_INT_ADRS_CAM ):
|
||||
vreg_twl[ REG_TWL_INT_ADRS_CAM ] = ( data & 0x03 );
|
||||
if( ( data & 0x03 ) == TWL_CAMLED_BLINK )
|
||||
{
|
||||
cam_led_update = true;
|
||||
}
|
||||
tsk_led_cam();
|
||||
break;
|
||||
|
||||
case ( REG_TWL_INT_ADRS_TEMP0 ):
|
||||
vreg_twl[ REG_TWL_INT_ADRS_TEMP0 ] = data;
|
||||
break;
|
||||
|
||||
case ( REG_TWL_INT_ADRS_COMMAND ):
|
||||
/*
|
||||
if( data <= 2 ){
|
||||
if( ( data & REG_BIT_TWL_OFF_REQ ) != 0 )
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_OFF_REQ ); // OFFも実装していたらしい。
|
||||
break;
|
||||
}
|
||||
else if( ( data & REG_BIT_TWL_RESET_REQ ) != 0 )
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //リセットしかない。他のは、SPIから来ます。
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if( data == REG_BIT_TWL_RESET_REQ )
|
||||
{
|
||||
set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //リセットしかない。他のは、SPIから来ます。
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// I2C仮想レジスタから読みます。
|
||||
// 引数 adrs 外から見たときの、アドレス
|
||||
// 戻り xx データ
|
||||
// 存在しないアドレスにアクセスした場合、戻り値は0x5A
|
||||
u8 vreg_twl_read( u8 phy_adrs )
|
||||
{
|
||||
u8 temp;
|
||||
|
||||
switch( phy_adrs ){
|
||||
// 10%以下で赤になる
|
||||
case( REG_TWL_INT_ADRS_POWER_INFO ):
|
||||
// レベルのセットは get_batt_left()内(処理が遅くて無理でした)
|
||||
return( vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] | ( !PM_EXTDC_n ? 0x80: 0x00 ) ); // アダプタbit(アダプタ有無)
|
||||
|
||||
case( REG_TWL_INT_ADRS_IRQ ):
|
||||
temp = vreg_twl[ REG_TWL_INT_ADRS_IRQ ];
|
||||
vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;
|
||||
return( temp );
|
||||
|
||||
case( REG_TWL_INT_ADRS_VOL ):
|
||||
vol_level_twl_readed = vol_level_twl; // TWLとスライダと不整合が起きないように
|
||||
return( vreg_twl[ REG_TWL_INT_ADRS_VOL ] );
|
||||
|
||||
case( REG_TWL_INT_ADRS_VER_INFO ):
|
||||
// set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); // 速度的に無理なので
|
||||
twl_ver_read = true;
|
||||
return( TWL_REG_VER_INFO );
|
||||
|
||||
case( REG_TWL_ADRS_NON_EXIST ):
|
||||
return( 0x00 );
|
||||
|
||||
default:
|
||||
return( vreg_twl[ phy_adrs ] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ========================================================
|
||||
// 外部から見える虫食いアドレスを、内部の連続アドレスに読み替える
|
||||
// 0xFFは存在しないアドレス。
|
||||
u8 adrs_table_twl_ext2int( u8 img )
|
||||
{
|
||||
switch( img ){
|
||||
case( REG_TWL_ADRS_IRQ ): return( REG_TWL_INT_ADRS_IRQ );
|
||||
case( REG_TWL_ADRS_COMMAND ): return( REG_TWL_INT_ADRS_COMMAND );
|
||||
case( REG_TWL_ADRS_POWER_INFO ): return( REG_TWL_INT_ADRS_POWER_INFO );
|
||||
case( REG_TWL_ADRS_VOL ): return( REG_TWL_INT_ADRS_VOL );
|
||||
case( REG_TWL_ADRS_CAM ): return( REG_TWL_INT_ADRS_CAM );
|
||||
case( REG_TWL_ADRS_TEMP0 ): return( REG_TWL_INT_ADRS_TEMP0 );
|
||||
case( REG_TWL_ADRS_VER_INFO ): return( REG_TWL_INT_ADRS_VER_INFO );
|
||||
case( REG_TWL_ADRS_MODE ): return( REG_TWL_INT_ADRS_MODE );
|
||||
default: return( REG_TWL_ADRS_NON_EXIST );
|
||||
// 0が読めればよい、書けなくて良い
|
||||
// case( REG_TWL_ADRS_WIFI ): return( REG_TWL_INT_ADRS_WIFI );
|
||||
}
|
||||
}
|
@ -1,130 +0,0 @@
|
||||
#ifndef __vreg_twl__
|
||||
#define __vreg_twl__
|
||||
/* ========================================================================= */
|
||||
extern u8 vreg_twl[];
|
||||
extern u8 vol_level_twl,vol_level_twl_readed; // SoC が最後に読んだVol値
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* 外から見たときのマイコンレジスタアドレス。
|
||||
* 拡張性などを考えて飛び飛びにしてある。
|
||||
*/
|
||||
/*
|
||||
* 割り込み要因フラグは
|
||||
* MSB:外部電源供給有り/なし変化 (未実装)
|
||||
* 6:Volキー操作(変更に限らず。MAX時に+でも。)
|
||||
* 5:電池電圧 少 検出
|
||||
* 4: 僅
|
||||
* 3:電源スイッチ 押され検出
|
||||
* 2:(未設定)
|
||||
* 1:電源スイッチ OFF 時間押され検出
|
||||
* LSB: リセット
|
||||
*/
|
||||
enum REG_TWL_ADRS
|
||||
{ // 未定義アドレスへ書き込んだ際は無視
|
||||
REG_TWL_ADRS_VER_INFO = 0x00,
|
||||
REG_TWL_ADRS_PMIC_INFO,
|
||||
REG_TWL_ADRS_BATT_INFO,
|
||||
REG_TWL_ADRS_IRQ = 0x10,
|
||||
REG_TWL_ADRS_COMMAND,
|
||||
REG_TWL_ADRS_MODE,
|
||||
REG_TWL_ADRS_POWER_INFO = 0x20,
|
||||
REG_TWL_ADRS_POWER_SAVE,
|
||||
REG_TWL_ADRS_WIFI = 0x30,
|
||||
REG_TWL_ADRS_CAM,
|
||||
REG_TWL_ADRS_VOL = 0x40,
|
||||
REG_TWL_ADRS_BL,
|
||||
REG_TWL_ADRS_CODEC_MIC_GAIN = 0x50,
|
||||
REG_TWL_ADRS_ADC_CALIB = 0x60,
|
||||
REG_TWL_ADRS_ADC_CALIB_STATUS,
|
||||
REG_TWL_ADRS_ADC_CALIB_VALUE,
|
||||
REG_TWL_ADRS_POWER_LED,
|
||||
REG_TWL_ADRS_TEMP0 = 0x70,
|
||||
REG_TWL_ADRS_TEMP1,
|
||||
REG_TWL_ADRS_TEMP2,
|
||||
REG_TWL_ADRS_TEMP3,
|
||||
REG_TWL_ADRS_TEMP4,
|
||||
REG_TWL_ADRS_TEMP5,
|
||||
REG_TWL_ADRS_TEMP6,
|
||||
REG_TWL_ADRS_TEMP7,
|
||||
REG_TWL_ADRS_TIME_PWSW_DELAY = 0x80,
|
||||
REG_TWL_ADRS_TIME_PWSW_THRESHOLD
|
||||
};
|
||||
|
||||
#define REG_TWL_ADRS_NON_EXIST 0xFF
|
||||
|
||||
/*
|
||||
* マイコン内部でのレジスタの実装
|
||||
* もちろんつめてある
|
||||
*/
|
||||
enum REG_TWL_ADRS_INT
|
||||
{
|
||||
REG_TWL_INT_ADRS_VER_INFO = 0x00,
|
||||
// REG_TWL_INT_ADRS_PMIC_INFO,
|
||||
// REG_TWL_INT_ADRS_BATT_INFO,
|
||||
REG_TWL_INT_ADRS_IRQ, // 0x10,
|
||||
REG_TWL_INT_ADRS_COMMAND,
|
||||
REG_TWL_INT_ADRS_MODE,
|
||||
REG_TWL_INT_ADRS_POWER_INFO, // 0x20,
|
||||
// REG_TWL_INT_ADRS_POWER_SAVE,
|
||||
// REG_TWL_INT_ADRS_WIFI, // 0x30,
|
||||
REG_TWL_INT_ADRS_CAM,
|
||||
REG_TWL_INT_ADRS_VOL, // 0x40,
|
||||
// REG_TWL_INT_ADRS_BL,
|
||||
// REG_TWL_INT_ADRS_CODEC_MIC_GAIN, // 0x50,
|
||||
// REG_TWL_INT_ADRS_CODEC_MIC_GAIN_RELOAD,
|
||||
// REG_TWL_INT_ADRS_ADC_CALIB, // 0x60,
|
||||
// REG_TWL_INT_ADRS_ADC_CALIB_STATUS,
|
||||
// REG_TWL_INT_ADRS_ADC_CALIB_VALUE,
|
||||
// REG_TWL_INT_ADRS_POWER_LED,
|
||||
REG_TWL_INT_ADRS_TEMP0, // 0x70 - 0x77
|
||||
REG_TWL_INT_ADRS_TEMP1,
|
||||
REG_TWL_INT_ADRS_TEMP2,
|
||||
REG_TWL_INT_ADRS_TEMP3,
|
||||
REG_TWL_INT_ADRS_TEMP4,
|
||||
REG_TWL_INT_ADRS_TEMP5,
|
||||
REG_TWL_INT_ADRS_TEMP6,
|
||||
REG_TWL_INT_ADRS_TEMP7,
|
||||
// REG_TWL_INT_ADRS_TIME_PWSW_DELAY,
|
||||
// REG_TWL_INT_ADRS_TIME_PWSW_THRESHOLD
|
||||
_REG_TWL_INT_ADRS_ENDMARK,
|
||||
};
|
||||
|
||||
|
||||
|
||||
/* ========================================================================= */
|
||||
#define is_TWL ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x01 )
|
||||
#define with_NAND ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x02 )
|
||||
#define volSteps32 ( vreg_twl[ REG_TWL_INT_ADRS_MODE ] & 0x80 )
|
||||
|
||||
#define reg_wifi_led ( vreg_twl[ REG_TWL_INT_ADRS_WIFI ] & 0x01 )
|
||||
#define reg_wifi_led_blink ( vreg_twl[ REG_TWL_INT_ADRS_WIFI ] & 0x02 )
|
||||
|
||||
#define REG_TWL_ADRS_MODE__VOL32 ( 1 << 7 )
|
||||
|
||||
typedef enum CAM_LED_TWL_MODE
|
||||
{
|
||||
TWL_CAMLED_OFF,
|
||||
TWL_CAMLED_ON,
|
||||
TWL_CAMLED_BLINK,
|
||||
TWL_CAMLED_DEF_ON
|
||||
}twl_camLed_mode;
|
||||
|
||||
|
||||
/* ========================================================================= */
|
||||
void vreg_twl_init( );
|
||||
void vreg_twl_write( u8 adrs, u8 data );
|
||||
u8 adrs_table_twl_ext2int( u8 img );
|
||||
u8 vreg_twl_read( u8 phy_adrs );
|
||||
|
||||
|
||||
// 読んだらクリアなどの処理
|
||||
#define vreg_twl_after_read( reg_adrs ); \
|
||||
if( reg_adrs == REG_TWL_INT_ADRS_IRQ ) \
|
||||
{ \
|
||||
vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;\
|
||||
}
|
||||
|
||||
#endif
|
@ -1,164 +0,0 @@
|
||||
C:\WINDOWS\system32\cmd.exe /c touch magic.c
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no loader.c
|
||||
loader.c(121) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
loader.c(122) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 2 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\loader.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no pm.c
|
||||
pm.c(267) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
pm.c(776) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pm.c(853) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pm.c(861) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pm.c(1009) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
pm.c(1076) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pm.c(1079) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 7 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\pm.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_ctr.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\i2c_ctr.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no main.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\main.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no magic.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\magic.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no WDT.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\WDT.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_mcu.c
|
||||
i2c_mcu.c(205) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 1 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\i2c_mcu.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no i2c_twl.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\i2c_twl.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no led.c
|
||||
led.c(108) : CC78K0R warning W0745: Expected function prototype
|
||||
led.c(250) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
led.c(255) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
led.c(317) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
led.c(376) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
led.c(402) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
led.c(578) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 7 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\led.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no rtc.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\rtc.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no vreg_ctr.c
|
||||
vreg_ctr.c(109) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(118) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(128) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(138) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(142) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(149) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(159) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_ctr.c(160) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_ctr.c(162) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_ctr.c(164) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_ctr.c(165) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_ctr.c(269) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(274) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(279) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(309) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
vreg_ctr.c(436) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
Compilation complete, 0 error(s) and 16 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\vreg_ctr.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no vreg_twl.c
|
||||
vreg_twl.c(57) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
vreg_twl.c(61) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 2 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\vreg_twl.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no adc.c
|
||||
adc.c(95) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(113) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
adc.c(192) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(218) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(310) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(334) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
adc.c(353) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(431) : CC78K0R warning W0745: Expected function prototype
|
||||
adc.c(460) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(465) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
adc.c(114) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 11 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\adc.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no renge\renge.c
|
||||
renge\renge.c(152) : CC78K0R warning W0411: Illegal pointer combination
|
||||
renge\renge.c(160) : CC78K0R warning W0412: Illegal pointer combination in conditional expression
|
||||
Compilation complete, 0 error(s) and 2 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\renge.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no accero.c
|
||||
accero.c(242) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
Compilation complete, 0 error(s) and 1 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\accero.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no self_flash.c
|
||||
self_flash.c(271) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
self_flash.c(272) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 2 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\self_flash.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no sw.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\sw.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_debug.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\task_debug.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_misc.c
|
||||
task_misc.c(75) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
task_misc.c(87) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
task_misc.c(308) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 3 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\task_misc.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_sys.c
|
||||
task_sys.c(194) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
task_sys.c(503) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
task_sys.c(505) : CC78K0R warning W0510: Pointer mismatch in function 'renge_task_immed_add'
|
||||
Compilation complete, 0 error(s) and 3 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\task_sys.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no pedo_alg_thre_det2.c
|
||||
pedo_alg_thre_det2.c(58) : CC78K0R warning W0745: Expected function prototype
|
||||
pedo_alg_thre_det2.c(73) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pedo_alg_thre_det2.c(140) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
pedo_alg_thre_det2.c(153) : CC78K0R warning W0401: Conversion may lose significant digits
|
||||
Compilation complete, 0 error(s) and 4 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\pedo_alg_thre_det2.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no ini_VECT.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\ini_VECT.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\bin\cc78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r" -ms -qvjl2w -sainter_asm -zpb -no task_status.c
|
||||
Compilation complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"d:\program files\nec electronics tools\dev" -_msgoff inter_asm\task_status.asm
|
||||
Assembly complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"d:\program files\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.12\lib78k0r\s0rm.rel" -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"D:\Program Files\NEC Electronics Tools\CC78K0R\W2.12\lib78k0r" -dbsr_mcu.dr -s -w0 loader.rel pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel renge.rel accero.rel self_flash.rel sw.rel task_debug.rel task_misc.rel task_sys.rel pedo_alg_thre_det2.rel ini_VECT.rel task_status.rel
|
||||
Link complete, 0 error(s) and 0 warning(s) found.
|
||||
"D:\Program Files\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"d:\program files\nec electronics tools\dev" -_msgoff -o.\bsr.hex -nu -ki bsr.lmf
|
||||
Object Conversion Complete, 0 error(s) and 0 warning(s) found.
|
||||
C:\WINDOWS\system32\cmd.exe /c ruby nec_s_2_bsrbin2.rb bsr.hex
|
||||
intel-HEX to bsr bin converter
|
||||
file converted!
|
||||
|
||||
|
||||
Build Total error(s) : 0 Total warning(s) : 61
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,26 +0,0 @@
|
||||
[ProjectManager]
|
||||
FrameMax=0
|
||||
FrameX=71
|
||||
FrameY=115
|
||||
FrameCX=1200
|
||||
FrameCY=854
|
||||
OpenFile1=jhl_defs.h,0,286,286,1530,1012,0,15,26,0
|
||||
OpenFile2=self_flash.c,0,352,352,1596,1078,0,142,5,0
|
||||
OpenFile3=ini_VECT.c,0,330,330,1574,1056,6,93,6,0
|
||||
OpenFile4=renge\renge.c,0,348,332,1592,1058,0,31,0,0
|
||||
OpenFile5=renge\renge.h,0,264,264,1508,990,3,4,3,0
|
||||
OpenFile6=adc.c,0,220,220,1464,946,8,230,8,0
|
||||
OpenFile7=ProjectWindow
|
||||
PrjPos=0,0,1039,0,345
|
||||
OpenFile8=config.h,0,242,242,1486,968,0,40,0,0
|
||||
OpenFile9=led.c,0,264,264,1508,990,0,731,0,0
|
||||
OpenFile10=task_misc.c,0,286,286,1530,1012,65,141,69,0
|
||||
OpenFile11=main.c,0,220,220,1464,946,3,27,1,0
|
||||
OpenFile12=i2c_mcu.c,0,308,308,1552,1034,10,76,7,0
|
||||
OpenFile13=task_sys.c,0,330,330,1574,1056,10,38,7,0
|
||||
OpenFile14=OutputWindow
|
||||
OutputPos=0,3,734,347,1591
|
||||
OpenFile15=pm.c,0,110,110,1078,614,11,677,11,0
|
||||
ActivePRJ=yav_mcu_bsr.prj
|
||||
[ProjectWindow]
|
||||
ProjectWindowDispType=0
|
@ -1,8 +0,0 @@
|
||||
[System]
|
||||
System1=default
|
||||
[default]
|
||||
Project1=yav_mcu_bsr.prj
|
||||
[BATCH_BUILD]
|
||||
Build1=yav_mcu_bsr.prj,Debug Build,1
|
||||
Build2=yav_mcu_bsr.prj,Release Build,0
|
||||
Build3=yav_mcu_bsr.prj,BSR_WM0,0
|
@ -1,269 +0,0 @@
|
||||
[SdbInfo]
|
||||
Ver=5
|
||||
[loader.c]
|
||||
T=4cb55571
|
||||
1=incs_loader.h
|
||||
2=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
3=fsl_user.h
|
||||
4=i2c_ctr.h
|
||||
5=i2c_mcu.h
|
||||
6=pm.h
|
||||
7=rtc.h
|
||||
8=reboot.h
|
||||
9=magic.h
|
||||
[pm.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=adc.h
|
||||
3=led.h
|
||||
4=pm.h
|
||||
5=renge\renge.h
|
||||
6=batt_params.h
|
||||
7=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
8=fsl_user.h
|
||||
[i2c_ctr.c]
|
||||
T=4ca984cf
|
||||
1=config.h
|
||||
2=incs.h
|
||||
[main.c]
|
||||
T=4cb55571
|
||||
1=incs_loader.h
|
||||
2=WDT.h
|
||||
3=rtc.h
|
||||
4=pm.h
|
||||
5=accero.h
|
||||
6=led.h
|
||||
7=adc.h
|
||||
8=pool.h
|
||||
[magic.c]
|
||||
T=4cb6bff2
|
||||
1=config.h
|
||||
2=magic.h
|
||||
[WDT.c]
|
||||
T=4ca984cf
|
||||
1=incs_loader.h
|
||||
[i2c_mcu.c]
|
||||
T=4ca984cf
|
||||
1=incs_loader.h
|
||||
2=i2c_mcu.h
|
||||
[i2c_twl.c]
|
||||
T=4ca984cf
|
||||
1=config.h
|
||||
2=incs.h
|
||||
3=i2c_twl_defs.h
|
||||
4=i2c_twl.h
|
||||
[led.c]
|
||||
T=4cae626d
|
||||
1=incs.h
|
||||
2=led.h
|
||||
[rtc.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
[vreg_ctr.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=vreg_ctr.h
|
||||
3=rtc.h
|
||||
4=led.h
|
||||
5=accero.h
|
||||
6=pm.h
|
||||
7=pool.h
|
||||
8=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
9=fsl_user.h
|
||||
[vreg_twl.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=jhl_defs.h
|
||||
3=led.h
|
||||
4=vreg_twl.h
|
||||
5=vreg_ctr.h
|
||||
[adc.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=adc.h
|
||||
3=pm.h
|
||||
4=led.h
|
||||
5=voltable.h
|
||||
[renge\renge.c]
|
||||
T=4cb55570
|
||||
1=renge\renge.h
|
||||
2=renge\renge_task_intval.h
|
||||
3=renge\renge_task_immediate.h
|
||||
4=WDT.h
|
||||
5=config.h
|
||||
6=user_define.h
|
||||
7=bsr_system.h
|
||||
[accero.c]
|
||||
T=4cb55571
|
||||
1=config.h
|
||||
2=incs.h
|
||||
3=..\..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.12\inc78k0r\math.h
|
||||
[self_flash.c]
|
||||
T=4cb55571
|
||||
1=incs_loader.h
|
||||
2=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h
|
||||
3=fsl_user.h
|
||||
4=i2c_ctr.h
|
||||
5=pool.h
|
||||
6=magic.h
|
||||
7=pm.h
|
||||
[sw.c]
|
||||
T=4ca984cf
|
||||
1=incs.h
|
||||
2=i2c_twl.h
|
||||
3=i2c_ctr.h
|
||||
4=led.h
|
||||
5=pm.h
|
||||
6=rtc.h
|
||||
7=sw.h
|
||||
[task_debug.c]
|
||||
T=4cb55571
|
||||
1=incs_loader.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
4=accero.h
|
||||
[task_misc.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
4=accero.h
|
||||
5=adc.h
|
||||
6=i2c_mcu.h
|
||||
7=led.h
|
||||
[task_sys.c]
|
||||
T=4cb55571
|
||||
1=incs.h
|
||||
2=i2c_twl.h
|
||||
3=i2c_ctr.h
|
||||
4=led.h
|
||||
5=accero.h
|
||||
6=pm.h
|
||||
7=rtc.h
|
||||
8=sw.h
|
||||
9=adc.h
|
||||
10=self_flash.h
|
||||
[pedo_alg_thre_det2.c]
|
||||
T=4cb6b79e
|
||||
1=incs.h
|
||||
2=..\..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.12\inc78k0r\math.h
|
||||
3=accero.h
|
||||
4=pedometer.h
|
||||
5=pedo_lpf_coeff.h
|
||||
6=pool.h
|
||||
[ini_VECT.c]
|
||||
T=4ca984cf
|
||||
1=config.h
|
||||
[task_status.c]
|
||||
T=4cae626d
|
||||
1=incs_loader.h
|
||||
2=renge\renge.h
|
||||
3=pm.h
|
||||
4=accero.h
|
||||
5=adc.h
|
||||
6=i2c_mcu.h
|
||||
[incs_loader.h]
|
||||
T=4ca984cf
|
||||
1=jhl_defs.h
|
||||
2=user_define.h
|
||||
3=bsr_system.h
|
||||
4=renge\renge.h
|
||||
5=vreg_ctr.h
|
||||
6=vreg_twl.h
|
||||
7=loader.h
|
||||
8=i2c_mcu.h
|
||||
9=WDT.h
|
||||
[jhl_defs.h]
|
||||
T=4ca984cf
|
||||
1=config.h
|
||||
[config.h]
|
||||
T=4cb6bfe2
|
||||
[user_define.h]
|
||||
T=4cb55571
|
||||
[bsr_system.h]
|
||||
T=4ca984cf
|
||||
[renge\renge.h]
|
||||
T=4ca984cd
|
||||
1=renge\renge_defs.h
|
||||
2=renge\renge_task_immediate.h
|
||||
[renge\renge_defs.h]
|
||||
T=4ca984cd
|
||||
[renge\renge_task_immediate.h]
|
||||
T=4cb55570
|
||||
1=renge\renge_defs.h
|
||||
[vreg_ctr.h]
|
||||
T=4cb55571
|
||||
1=config.h
|
||||
[vreg_twl.h]
|
||||
T=4cb55571
|
||||
[loader.h]
|
||||
T=4ca984cf
|
||||
[i2c_mcu.h]
|
||||
T=4ca984cf
|
||||
[WDT.h]
|
||||
T=4ca984cf
|
||||
[fsl_user.h]
|
||||
T=4bf0fdc7
|
||||
[i2c_ctr.h]
|
||||
T=4bf0fdc7
|
||||
[pm.h]
|
||||
T=4cae626d
|
||||
[rtc.h]
|
||||
T=4ca984cf
|
||||
[reboot.h]
|
||||
T=4bf0fdc7
|
||||
[incs.h]
|
||||
T=4ca984cf
|
||||
1=jhl_defs.h
|
||||
2=user_define.h
|
||||
3=bsr_system.h
|
||||
4=renge\renge.h
|
||||
5=loader.h
|
||||
6=vreg_ctr.h
|
||||
7=vreg_twl.h
|
||||
8=i2c_mcu.h
|
||||
9=i2c_twl.h
|
||||
10=rtc.h
|
||||
11=accero.h
|
||||
12=pm.h
|
||||
13=sw.h
|
||||
14=adc.h
|
||||
15=WDT.h
|
||||
[accero.h]
|
||||
T=4cb55571
|
||||
1=jhl_defs.h
|
||||
2=pedometer.h
|
||||
[pedometer.h]
|
||||
T=4ca984cf
|
||||
[adc.h]
|
||||
T=4cb55571
|
||||
1=jhl_defs.h
|
||||
[led.h]
|
||||
T=4ca984cf
|
||||
[batt_params.h]
|
||||
T=4cb55571
|
||||
[i2c_twl_defs.h]
|
||||
T=4bf0fdc7
|
||||
[renge\renge_task_intval.h]
|
||||
T=4cb55570
|
||||
1=renge\renge_defs.h
|
||||
[i2c_twl.h]
|
||||
T=4bf4e29e
|
||||
[sw.h]
|
||||
T=4ca984cf
|
||||
1=config.h
|
||||
[self_flash.h]
|
||||
T=4ca984cf
|
||||
[pool.h]
|
||||
T=4ca984cf
|
||||
1=pedometer.h
|
||||
[pedo_lpf_coeff.h]
|
||||
T=4ca984cf
|
||||
[voltable.h]
|
||||
T=4ca984cf
|
||||
[magic.h]
|
||||
T=4cb55571
|
||||
[C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r\fsl.h]
|
||||
T=49a3bd4e
|
||||
[..\..\..\..\Program Files\NEC Electronics Tools\CC78K0R\W2.12\inc78k0r\math.h]
|
||||
T=45f12258
|
Loading…
Reference in New Issue
Block a user