From ce4e3a3d1405acd6c6b0520a0e22e5b064261a73 Mon Sep 17 00:00:00 2001 From: n2232 Date: Wed, 3 Aug 2011 07:18:43 +0000 Subject: [PATCH] =?UTF-8?q?=E2=80=BB=E3=81=99=E3=81=A7=E3=81=AB=E3=81=84?= =?UTF-8?q?=E3=81=8F=E3=81=A4=E3=81=8B=E3=83=90=E3=82=B0=E3=81=8C=E8=A6=8B?= =?UTF-8?q?=E3=81=A4=E3=81=8B=E3=81=A3=E3=81=A6=E3=81=84=E3=81=BE=E3=81=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Volumes/Transfer/gigaleak_20231201/2020-05-23%20-%20ctr.7z%20+%20svn_v1.068.zip/ctr/svn/ctr_mcu@361 013db118-44a6-b54f-8bf7-843cb86687b1 --- tags/SDK3.0(2.00)/VCProj/Debug/BuildLog.htm | Bin 0 -> 3992 bytes .../VCProj/Debug/bsr_trunk.lastbuildstate | 2 + tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.log | 71 + .../VCProj/Debug/bsr_trunk.unsuccessfulbuild | 0 .../_UpgradeReport_Files/UpgradeReport.css | 207 +++ .../_UpgradeReport_Files/UpgradeReport.xslt | 232 +++ .../UpgradeReport_Minus.gif | Bin 0 -> 69 bytes .../UpgradeReport_Plus.gif | Bin 0 -> 71 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.ncb | Bin 0 -> 912384 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.opensdf | Bin 0 -> 30 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.sdf | Bin 0 -> 1396736 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.sln | 20 + tags/SDK3.0(2.00)/VCProj/bsr_trunk.sln.old | 20 + tags/SDK3.0(2.00)/VCProj/bsr_trunk.suo | Bin 0 -> 85504 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.suo.old | Bin 0 -> 45056 bytes tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj | 594 +++++++ .../VCProj/bsr_trunk.vcproj.NCL.N2232.user | 65 + tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj | 151 ++ .../VCProj/bsr_trunk.vcxproj.filters | 210 +++ .../VCProj/bsr_trunk.vcxproj.user | 3 + tags/SDK3.0(2.00)/WDT.c | 1 + tags/SDK3.0(2.00)/WDT.h | 20 + tags/SDK3.0(2.00)/accero.c | 261 ++++ tags/SDK3.0(2.00)/accero.h | 14 + tags/SDK3.0(2.00)/adc.c | 515 ++++++ tags/SDK3.0(2.00)/adc.h | 48 + tags/SDK3.0(2.00)/batt_params.h | 132 ++ tags/SDK3.0(2.00)/bsr.hex | 1008 ++++++++++++ tags/SDK3.0(2.00)/bsr.lmf | Bin 0 -> 176560 bytes tags/SDK3.0(2.00)/bsr_k0r.map | 707 +++++++++ tags/SDK3.0(2.00)/bsr_mcu.dr | 48 + tags/SDK3.0(2.00)/bsr_system.h | 67 + tags/SDK3.0(2.00)/config.h | 89 ++ tags/SDK3.0(2.00)/fsl.h | 362 +++++ tags/SDK3.0(2.00)/fsl_user.h | 113 ++ tags/SDK3.0(2.00)/hal.c | 160 ++ tags/SDK3.0(2.00)/hal.h | 16 + tags/SDK3.0(2.00)/hoge.bin | Bin 0 -> 16387 bytes tags/SDK3.0(2.00)/i2c_ctr.c | 297 ++++ tags/SDK3.0(2.00)/i2c_ctr.h | 210 +++ tags/SDK3.0(2.00)/i2c_mcu.c | 655 ++++++++ tags/SDK3.0(2.00)/i2c_mcu.h | 36 + tags/SDK3.0(2.00)/i2c_twl.c | 228 +++ tags/SDK3.0(2.00)/i2c_twl.h | 7 + tags/SDK3.0(2.00)/i2c_twl_defs.h | 196 +++ tags/SDK3.0(2.00)/incs.h | 58 + tags/SDK3.0(2.00)/incs_loader.h | 47 + tags/SDK3.0(2.00)/ini_VECT.c | 383 +++++ tags/SDK3.0(2.00)/jhl_defs.h | 29 + tags/SDK3.0(2.00)/led.c | 350 +++++ tags/SDK3.0(2.00)/led.h | 146 ++ tags/SDK3.0(2.00)/led_cam.c | 145 ++ tags/SDK3.0(2.00)/led_pow.c | 269 ++++ tags/SDK3.0(2.00)/loader.c | 382 +++++ tags/SDK3.0(2.00)/loader.h | 7 + tags/SDK3.0(2.00)/magic.c | 29 + tags/SDK3.0(2.00)/magic.h | 24 + tags/SDK3.0(2.00)/main.c | 93 ++ tags/SDK3.0(2.00)/nec_s_2_bsrbin2.rb | 82 + tags/SDK3.0(2.00)/pedo_alg_thre_det2.c | 569 +++++++ tags/SDK3.0(2.00)/pedo_lpf_coeff.h | 84 + tags/SDK3.0(2.00)/pedometer.h | 36 + tags/SDK3.0(2.00)/pm.c | 1387 +++++++++++++++++ tags/SDK3.0(2.00)/pm.h | 216 +++ tags/SDK3.0(2.00)/pool.h | 24 + tags/SDK3.0(2.00)/reboot.c | 24 + tags/SDK3.0(2.00)/reboot.h | 6 + tags/SDK3.0(2.00)/renge/renge.c | 315 ++++ tags/SDK3.0(2.00)/renge/renge.h | 28 + tags/SDK3.0(2.00)/renge/renge_defs.h | 55 + tags/SDK3.0(2.00)/renge/renge_task_config.rb | 59 + .../SDK3.0(2.00)/renge/renge_task_immediate.h | 25 + tags/SDK3.0(2.00)/renge/renge_task_intval.h | 37 + tags/SDK3.0(2.00)/renge/renge_tasks.txt | 11 + tags/SDK3.0(2.00)/rtc.c | 175 +++ tags/SDK3.0(2.00)/rtc.h | 21 + tags/SDK3.0(2.00)/self_flash.c | 608 ++++++++ tags/SDK3.0(2.00)/self_flash.h | 9 + tags/SDK3.0(2.00)/sim/sfrAlias.h | 200 +++ tags/SDK3.0(2.00)/sim/simFixture.c | 149 ++ tags/SDK3.0(2.00)/sim/simOnWin.h | 701 +++++++++ tags/SDK3.0(2.00)/sim/sim_interrupt_decrare.c | 74 + tags/SDK3.0(2.00)/sw.c | 183 +++ tags/SDK3.0(2.00)/sw.h | 20 + tags/SDK3.0(2.00)/task_debug.c | 120 ++ tags/SDK3.0(2.00)/task_misc.c | 346 ++++ tags/SDK3.0(2.00)/task_status.c | 84 + tags/SDK3.0(2.00)/task_sys.c | 637 ++++++++ tags/SDK3.0(2.00)/user_define.h | 214 +++ tags/SDK3.0(2.00)/voltable.h | 57 + tags/SDK3.0(2.00)/vreg_ctr.c | 570 +++++++ tags/SDK3.0(2.00)/vreg_ctr.h | 299 ++++ tags/SDK3.0(2.00)/vreg_twl.c | 150 ++ tags/SDK3.0(2.00)/vreg_twl.h | 127 ++ tags/SDK3.0(2.00)/yav_mcu_bsr.plg | 175 +++ tags/SDK3.0(2.00)/yav_mcu_bsr.pri | 1066 +++++++++++++ tags/SDK3.0(2.00)/yav_mcu_bsr.prj | 1062 +++++++++++++ tags/SDK3.0(2.00)/yav_mcu_bsr.prk | 15 + tags/SDK3.0(2.00)/yav_mcu_bsr.prw | 8 + tags/SDK3.0(2.00)/yav_mcu_bsr.sdb | 298 ++++ tags/SDK3.0(2.00)/ベースからの変更.xls | Bin 0 -> 26624 bytes 101 files changed, 19053 insertions(+) create mode 100644 tags/SDK3.0(2.00)/VCProj/Debug/BuildLog.htm create mode 100644 tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.lastbuildstate create mode 100644 tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.log create mode 100644 tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.unsuccessfulbuild create mode 100644 tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.css create mode 100644 tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt create mode 100644 tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif create mode 100644 tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport_Plus.gif create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.ncb create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.opensdf create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.sdf create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.sln create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.sln.old create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.suo create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.suo.old create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj.NCL.N2232.user create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.filters create mode 100644 tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.user create mode 100644 tags/SDK3.0(2.00)/WDT.c create mode 100644 tags/SDK3.0(2.00)/WDT.h create mode 100644 tags/SDK3.0(2.00)/accero.c create mode 100644 tags/SDK3.0(2.00)/accero.h create mode 100644 tags/SDK3.0(2.00)/adc.c create mode 100644 tags/SDK3.0(2.00)/adc.h create mode 100644 tags/SDK3.0(2.00)/batt_params.h create mode 100644 tags/SDK3.0(2.00)/bsr.hex create mode 100644 tags/SDK3.0(2.00)/bsr.lmf create mode 100644 tags/SDK3.0(2.00)/bsr_k0r.map create mode 100644 tags/SDK3.0(2.00)/bsr_mcu.dr create mode 100644 tags/SDK3.0(2.00)/bsr_system.h create mode 100644 tags/SDK3.0(2.00)/config.h create mode 100644 tags/SDK3.0(2.00)/fsl.h create mode 100644 tags/SDK3.0(2.00)/fsl_user.h create mode 100644 tags/SDK3.0(2.00)/hal.c create mode 100644 tags/SDK3.0(2.00)/hal.h create mode 100644 tags/SDK3.0(2.00)/hoge.bin create mode 100644 tags/SDK3.0(2.00)/i2c_ctr.c create mode 100644 tags/SDK3.0(2.00)/i2c_ctr.h create mode 100644 tags/SDK3.0(2.00)/i2c_mcu.c create mode 100644 tags/SDK3.0(2.00)/i2c_mcu.h create mode 100644 tags/SDK3.0(2.00)/i2c_twl.c create mode 100644 tags/SDK3.0(2.00)/i2c_twl.h create mode 100644 tags/SDK3.0(2.00)/i2c_twl_defs.h create mode 100644 tags/SDK3.0(2.00)/incs.h create mode 100644 tags/SDK3.0(2.00)/incs_loader.h create mode 100644 tags/SDK3.0(2.00)/ini_VECT.c create mode 100644 tags/SDK3.0(2.00)/jhl_defs.h create mode 100644 tags/SDK3.0(2.00)/led.c create mode 100644 tags/SDK3.0(2.00)/led.h create mode 100644 tags/SDK3.0(2.00)/led_cam.c create mode 100644 tags/SDK3.0(2.00)/led_pow.c create mode 100644 tags/SDK3.0(2.00)/loader.c create mode 100644 tags/SDK3.0(2.00)/loader.h create mode 100644 tags/SDK3.0(2.00)/magic.c create mode 100644 tags/SDK3.0(2.00)/magic.h create mode 100644 tags/SDK3.0(2.00)/main.c create mode 100755 tags/SDK3.0(2.00)/nec_s_2_bsrbin2.rb create mode 100644 tags/SDK3.0(2.00)/pedo_alg_thre_det2.c create mode 100644 tags/SDK3.0(2.00)/pedo_lpf_coeff.h create mode 100644 tags/SDK3.0(2.00)/pedometer.h create mode 100644 tags/SDK3.0(2.00)/pm.c create mode 100644 tags/SDK3.0(2.00)/pm.h create mode 100644 tags/SDK3.0(2.00)/pool.h create mode 100644 tags/SDK3.0(2.00)/reboot.c create mode 100644 tags/SDK3.0(2.00)/reboot.h create mode 100644 tags/SDK3.0(2.00)/renge/renge.c create mode 100644 tags/SDK3.0(2.00)/renge/renge.h create mode 100644 tags/SDK3.0(2.00)/renge/renge_defs.h create mode 100644 tags/SDK3.0(2.00)/renge/renge_task_config.rb create mode 100644 tags/SDK3.0(2.00)/renge/renge_task_immediate.h create mode 100644 tags/SDK3.0(2.00)/renge/renge_task_intval.h create mode 100644 tags/SDK3.0(2.00)/renge/renge_tasks.txt create mode 100644 tags/SDK3.0(2.00)/rtc.c create mode 100644 tags/SDK3.0(2.00)/rtc.h create mode 100644 tags/SDK3.0(2.00)/self_flash.c create mode 100644 tags/SDK3.0(2.00)/self_flash.h create mode 100644 tags/SDK3.0(2.00)/sim/sfrAlias.h create mode 100644 tags/SDK3.0(2.00)/sim/simFixture.c create mode 100644 tags/SDK3.0(2.00)/sim/simOnWin.h create mode 100644 tags/SDK3.0(2.00)/sim/sim_interrupt_decrare.c create mode 100644 tags/SDK3.0(2.00)/sw.c create mode 100644 tags/SDK3.0(2.00)/sw.h create mode 100644 tags/SDK3.0(2.00)/task_debug.c create mode 100644 tags/SDK3.0(2.00)/task_misc.c create mode 100644 tags/SDK3.0(2.00)/task_status.c create mode 100644 tags/SDK3.0(2.00)/task_sys.c create mode 100644 tags/SDK3.0(2.00)/user_define.h create mode 100644 tags/SDK3.0(2.00)/voltable.h create mode 100644 tags/SDK3.0(2.00)/vreg_ctr.c create mode 100644 tags/SDK3.0(2.00)/vreg_ctr.h create mode 100644 tags/SDK3.0(2.00)/vreg_twl.c create mode 100644 tags/SDK3.0(2.00)/vreg_twl.h create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.plg create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.pri create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.prj create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.prk create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.prw create mode 100644 tags/SDK3.0(2.00)/yav_mcu_bsr.sdb create mode 100644 tags/SDK3.0(2.00)/ベースからの変更.xls diff --git a/tags/SDK3.0(2.00)/VCProj/Debug/BuildLog.htm b/tags/SDK3.0(2.00)/VCProj/Debug/BuildLog.htm new file mode 100644 index 0000000000000000000000000000000000000000..826ce7ce8cbd63fbd1c0dfd05436b1b710c41607 GIT binary patch literal 3992 zcmeH~&u>&!6vvM)o0#w?ywm`Sna*ho0xdNH9U{=uANGf2#xygX9~~K(Ix|H}(4C1| z6O$TOni!)&cbKrzy$cCTC9X7aNeC-;#;Bij-n*R{+dzvUVbQ$2_wJ8#&#!yV_n!OD z-^XN0T5?fp@{&9wJ!1Wm~u>=ZAg>Z7F<{OmXXviFR~`+W^1~&E5N^qyg;!G zkJ3i31YI=i#4bG&B!769Aia;f8;IminYp# zRS~T`>r1RO?W=riP&8>>@zED#Fwy2`y{k7hl6(4{#-2`Z@G&`QBn53_xuMss`vLfy z#2QZ%Kb!n2p0A*TcFfsKk*7V^w#KX~Lfh#RTf5mC85w1_NAZbyV;^z~E_FE3*gUd* zZl~ZAo}F+z;8MExcF8>(yt?-3t@A@z@T=a_@AVtKu0N^uP1}Yn_%5!X{RMeSZ&mjc zY;F`U7KpTpT$OqE)1VBvT`}*lOF{1T_vk_KWxlkxJHBEcnlE<}TLVdK-O%6lzDL&` z{hC(LJn%BUyYXc)zjd^B$CsQtQNFET;>o+@tKr*_s7q6;1Wr?_NII0=`UFJ1p>gTO6+HzTQ z*f!0~veUJ&Fsz9=byH^0r(XU0ki@$!M!3BC5F-<28@|Rr+(D zp;pIOZ5PQ=FwL;84}?=W%sCm4Sf2EN1a&ZE6)9EF#VX1O4NkfSn{|tvzLB7g;bbhO zk5v)aYL!jY!K>-L5+}K#h9OxIJxuO7>^UxH!L1k%tQxZ_%GP%x%&b>@htS$kqm2>! zAA+a*p&rw<4~lwLKLmNQ`U&`Ll3zuR*&OTf_z7ePbv7laC#f?|fb{f10+t z)ynp2>+WhLu7K@UQTJ-4Og7nxKZHlqWVh8Whvf)W!~%H}=SMDy`&3d#q`Y2fGHW=I zBeolyt5z-N{G1Q*o$IKXtqxjoSw$Hm7b@gJe3!JU=Ysw=@mh9PKT6K)IBPan<5t&1 z63+Pns`K*NnVATT2~n}V7&heSyv?*LaJw-ER2l&Rw!Y_Vee3&wRr$kWI*r%E?bT@8 HH}QV~c8B5A literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.lastbuildstate b/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.lastbuildstate new file mode 100644 index 0000000..ed27c09 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v100 +Debug|Win32|C:\78k_data\yav-mcu-basara\trunk\VCProj\| diff --git a/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.log b/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.log new file mode 100644 index 0000000..58c1bd7 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.log @@ -0,0 +1,71 @@ +2011/08/02 14:10:42 にビルドを開始しました。 + 1>ノード 2 上のプロジェクト "C:\78k_data\yav-mcu-basara\branches\sim\VCProj\bsr_trunk.vcxproj" (build ターゲット)。 + 1>InitializeBuildStatus: + "Debug\sim.unsuccessfulbuild" のタッチ タスクを実行しています。 + ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /Z7 /nologo /W1 /WX- /Od /Oy- /D _MBCS /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc100.pdb" /Gd /TC /analyze- /errorReport:prompt ..\accero.c ..\adc.c ..\i2c_ctr.c ..\i2c_twl.c ..\led.c ..\led_cam.c ..\led_pow.c ..\loader.c ..\magic.c ..\main.c ..\pedo_alg_thre_det2.c ..\pm.c ..\rtc.c ..\self_flash.c ..\sw.c ..\task_debug.c ..\task_misc.c ..\task_status.c ..\task_sys.c ..\vreg_ctr.c ..\vreg_twl.c + accero.c + adc.c + i2c_ctr.c + i2c_twl.c + led.c + led_cam.c + led_pow.c + loader.c + magic.c + main.c + pedo_alg_thre_det2.c + pm.c + 1>..\pm.c(1279): warning C4090: '=' : 異なる 'const' 修飾子です。 + rtc.c + self_flash.c + sw.c + task_debug.c + task_misc.c + task_status.c + task_sys.c + vreg_ctr.c + コードを生成中... + コンパイル中... + vreg_twl.c + コードを生成中... + Link: + C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe" /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /ManifestFile:"Debug\sim.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.pdb" /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.lib" /MACHINE:X86 Debug\accero.obj + Debug\adc.obj + Debug\hal.obj + Debug\i2c_ctr.obj + Debug\i2c_mcu.obj + Debug\i2c_twl.obj + Debug\ini_VECT.obj + Debug\led.obj + Debug\led_cam.obj + Debug\led_pow.obj + Debug\loader.obj + Debug\magic.obj + Debug\main.obj + Debug\pedo_alg_thre_det2.obj + Debug\pm.obj + Debug\rtc.obj + Debug\self_flash.obj + Debug\simFixture.obj + Debug\sw.obj + Debug\task_debug.obj + Debug\task_misc.obj + Debug\task_status.obj + Debug\task_sys.obj + Debug\vreg_ctr.obj + Debug\vreg_twl.obj + Debug\WDT.obj + Debug\renge.obj + LINK : 前回のインクリメンタル リンクで C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe が見つからなかったか、ビルドされませんでした。フル リンクを行います。 + bsr_trunk.vcxproj -> C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe + Manifest: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\mt.exe /nologo /verbose /outputresource:"C:\78k_data\yav-mcu-basara\branches\sim\VCProj\Debug\sim.exe;#1" /manifest Debug\sim.exe.intermediate.manifest + FinalizeBuildStatus: + ファイル "Debug\sim.unsuccessfulbuild" を削除しています。 + "Debug\sim.lastbuildstate" のタッチ タスクを実行しています。 + 1>プロジェクト "C:\78k_data\yav-mcu-basara\branches\sim\VCProj\bsr_trunk.vcxproj" (build ターゲット) のビルドが完了しました。 + +ビルドに成功しました。 + +経過時間 00:00:03.96 diff --git a/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.unsuccessfulbuild b/tags/SDK3.0(2.00)/VCProj/Debug/bsr_trunk.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.css b/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.css new file mode 100644 index 0000000..3411f63 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.css @@ -0,0 +1,207 @@ +BODY +{ + BACKGROUND-COLOR: white; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px +} +P +{ + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 70%; + LINE-HEIGHT: 12pt; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 10px +} +.note +{ + BACKGROUND-COLOR: #ffffff; + COLOR: #336699; + FONT-FAMILY: "Verdana", sans-serif; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 0px; + MARGIN-LEFT: 0px; + MARGIN-TOP: 0px; + PADDING-RIGHT: 10px +} +.infotable +{ + BACKGROUND-COLOR: #f0f0e0; + BORDER-BOTTOM: #ffffff 0px solid; + BORDER-COLLAPSE: collapse; + BORDER-LEFT: #ffffff 0px solid; + BORDER-RIGHT: #ffffff 0px solid; + BORDER-TOP: #ffffff 0px solid; + FONT-SIZE: 70%; + MARGIN-LEFT: 10px +} +.issuetable +{ + BACKGROUND-COLOR: #ffffe8; + BORDER-COLLAPSE: collapse; + COLOR: #000000; + FONT-SIZE: 100%; + MARGIN-BOTTOM: 10px; + MARGIN-LEFT: 13px; + MARGIN-TOP: 0px +} +.issuetitle +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px; + COLOR: #003366; + FONT-WEIGHT: normal +} +.header +{ + BACKGROUND-COLOR: #cecf9c; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + COLOR: #000000; + FONT-WEIGHT: bold +} +.issuehdr +{ + BACKGROUND-COLOR: #E0EBF5; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + COLOR: #000000; + FONT-WEIGHT: normal +} +.issuenone +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: 0px; + BORDER-LEFT: 0px; + BORDER-RIGHT: 0px; + BORDER-TOP: 0px; + COLOR: #000000; + FONT-WEIGHT: normal +} +.content +{ + BACKGROUND-COLOR: #e7e7ce; + BORDER-BOTTOM: #ffffff 1px solid; + BORDER-LEFT: #ffffff 1px solid; + BORDER-RIGHT: #ffffff 1px solid; + BORDER-TOP: #ffffff 1px solid; + PADDING-LEFT: 3px +} +.issuecontent +{ + BACKGROUND-COLOR: #ffffff; + BORDER-BOTTOM: #dcdcdc 1px solid; + BORDER-TOP: #dcdcdc 1px solid; + PADDING-LEFT: 3px +} +A:link +{ + COLOR: #cc6633; + TEXT-DECORATION: underline +} +A:visited +{ + COLOR: #cc6633; +} +A:active +{ + COLOR: #cc6633; +} +A:hover +{ + COLOR: #cc3300; + TEXT-DECORATION: underline +} +H1 +{ + BACKGROUND-COLOR: #003366; + BORDER-BOTTOM: #336699 6px solid; + COLOR: #ffffff; + FONT-SIZE: 130%; + FONT-WEIGHT: normal; + MARGIN: 0em 0em 0em -20px; + PADDING-BOTTOM: 8px; + PADDING-LEFT: 30px; + PADDING-TOP: 16px +} +H2 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 3px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px; + PADDING-LEFT: 0px +} +H3 +{ + COLOR: #000000; + FONT-SIZE: 80%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: -5px; + MARGIN-LEFT: 10px; + MARGIN-TOP: 20px +} +H4 +{ + COLOR: #000000; + FONT-SIZE: 70%; + FONT-WEIGHT: bold; + MARGIN-BOTTOM: 0px; + MARGIN-TOP: 15px; + PADDING-BOTTOM: 0px +} +UL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +OL +{ + COLOR: #000000; + FONT-SIZE: 70%; + LIST-STYLE: square; + MARGIN-BOTTOM: 0pt; + MARGIN-TOP: 0pt +} +LI +{ + LIST-STYLE: square; + MARGIN-LEFT: 0px +} +.expandable +{ + CURSOR: hand +} +.expanded +{ + color: black +} +.collapsed +{ + DISPLAY: none +} +.foot +{ +BACKGROUND-COLOR: #ffffff; +BORDER-BOTTOM: #cecf9c 1px solid; +BORDER-TOP: #cecf9c 2px solid +} +.settings +{ +MARGIN-LEFT: 25PX; +} +.help +{ +TEXT-ALIGN: right; +margin-right: 10px; +} diff --git a/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt b/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt new file mode 100644 index 0000000..8277446 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport.xslt @@ -0,0 +1,232 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ ソリューション: + プロジェクト: + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + src + + + + + + + + + + + + +
ファイル名状態エラー警告
+ javascript:document.images[''].click()src + + + + 変換済み + + + + 変換済み + +
+ + ファイル + + + 1 ファイル + + + 変換済み:
+ 変換されませんでした。: +
+
+
+ + + + : + + + + + + + + + 変換レポート + <xsl:if test="Properties/Property[@Name='LogNumber']"> + <xsl:value-of select="Properties/Property[@Name='LogNumber']/@Value"/> + </xsl:if> + + + + +

変換レポート -

+ +

+ 変換時間:
+

+ + + + + + + + + + + + + + + + + + + + + + + + +

+ + + + + +
+ 変換の設定 +

+ + +
+
diff --git a/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif b/tags/SDK3.0(2.00)/VCProj/_UpgradeReport_Files/UpgradeReport_Minus.gif new file mode 100644 index 0000000000000000000000000000000000000000..17751cb2fd5c284dfe984adc4c769982f73a0a66 GIT binary patch literal 69 zcmZ?wbhEHb23ky~TYXIqG7FYlP literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.ncb b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.ncb new file mode 100644 index 0000000000000000000000000000000000000000..c3df73580a39448b36d235699ff9a4453c3fcdab GIT binary patch literal 912384 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℞nLY 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
wTg`ZFRO^ELFVrKO7g{37O%!P~hTrty{vBwlY!! zmvhVGtQFz)Pz@dtH(+Cp9M;KUt=!PPS?)knx0%$?VI3XT(kP`1%c=NnP-V$$xw-&uU zKDX`i#E#%;o$=Tv`)G-C#0tmCq3vbMdn;Pq@crnGwsr*Gj=9pZM(@U#QpZPcMoen; z{OA>yKySOEU)`_eH$k89PV~Cl`(6DW{$TUYJSMe#^u{cen*CGh4SwVAykd_qc}@RM z{dD#Wa|cOR>>ZX5Qfd?G1~*Axv5E8*6YT^0iamm!SL`p2MDJg>9PBqf6HL5f-*Fzi z_Ws_cEDu&mPjbEVBopn+_TX#jN$!=NWTLIvj&~sgUJSkqGv#eqDDT6iJrKSXJ1*&m zgzq)qjzHdz>~6|$Mf6VSK1%YpA?mM0?}6^OB!2_ghk4k21lut47L0YD!kaKj-h~-> z8|Gk}k5SG-^HwZzSK`fBC-26`cstm`{Q~dEm&x9ePr&tg4jt9v5IvOq7GuWo0U;Ou;ao9Ir zXWF@|@3n>Rd3n6)Rpni;gAsN^Y)vo{VT6+3U^L%&tanxJ%P~%@+;g{CKDQS8EY2p=&hOPPaan7#f zHwK6X@vP|~-yoj-q!pbn+=tBgYouNOVh@_0`TYDE_~X+np8F-~3vc*Y_jJ#0gt$9uxobG?59dfB{o_G=2E z?{cDXsC!$3KK2LJ_n4XB;4W2h=$*u8@sYI!UP+v*z~A+=O|Me!)pyro{Oe=ye#8+N zj`^z-t>>+^CEaCUVon_=&E4U9^pkaq-5y@3eVwdE3sNFZzc`-dOUyj} zTD)j^mN`xdw+G4y&k|~Oi#k0}FYufDI-G;SV;=ESLpwSEZz=zxA7T@kpN=ZS8tsgQ zf9wqO@0Vb-_z`+A`!G`c1wEF`DD#h^*D%TSp5Hy~2+{Tk}rcEwfR0uWt8a&@FTB6z}#8m`TNXKis!4+h??S_PG&}fqs!Z;sS2I zV-G@Y%3RlDt~xy_`H7EsJ*jNYE8$-!{fg+B<~H?jZ=3$NJR*SCZR8W15B_=Y!y9(J z{iV-&7<|fix*x{Q`{RO7P_yvwx^6A+pg$n^%G4BlYw;HN3-!Q0zi+_VO#JS&(EA(>hM<74BxZ}(y;xhljC)oXEDs`C#GtoipUi`{G8eRz z6`-9=lz@)VNDhQ1aso7v3GG30tHoR8t% zXo>yl(vP2uQoj(oUTP9oizacCXcD(cKYows6TcUI;u#sA+b;X@8S!RhcV|i;`V-Sr z_M|6VPIQFrL>u_H=>6W69_k?(yBCz+W>e9+J}y1TcSMs)P4V|J>V|VcFU-DPZ|T!b z6>Z%H(ac2=iH2GW?K_;)=Dy~Sb9MrMWgYh^!*aws;A#0_d|IvH1HB)!@SB?_*vRhU zaOMJ!xzVj|p5@EPHOKzZ=msj;^U!v{)cvp8j(-}BjKnyDwv@Px5GslOw3BE`Cy1?N zmGs=d7u!g2^un7%AKeyx>lx57uZz*X)X-Q!`Wwr~3}f-w{4XpW(YW@X$FsSO?Wq_n z9Hn91s0dwVatqYG#s)PAR*Z*X!FUvwi)V~2>P1*AW}|nr0CoI7S)}Hn4&f8{GvI72 zzCUf;ulyW1+dU(~_h*s2)9(=krsmj=7!%oT&gAA%1>?WsEn|t!jc;Fv63sa0|M|!? z(%Tfe%-A&4*j!F$a}#FI+-&qVjWP44nbF;Fw5l~Xm($(ci&;oLjQ-|+%wX!9q7End z=rz*iEOA%JxOJ_JTsNV03dgQr%cym)((WW5w?=xN-HlZQ1WqU zqzg)}!=p|p(c-m@bw^9rA8p-m(UZP_F=fiy{zw~?T+<)vg)SX0M*5*k$BB`i=u(S7 zq%XSE8t^}>H@dRshpebM3&>5Z3#U2Ic^Ri`31$*|vpqZ(y)5i-G4f}kvt+iGUgivS@=M0h5$XN^XLh2*7{c^Pb zA0YbY=dj!VWOIHcYm8>@8SjKYJjiV7a7M73W&eSiy9_?92JLDs*t%}Qo7q_2$>w+) zTS9}{9-7lGusigCmYMI`0BDLl%9~Ha<2f#<@g%Cm2=t zAZ8IUwu!Wlh=ei9ylL6voB_yOeK4*X;tX{-GnjwhfU@$fe}C{X$}F67#6Gv>Zx*`b z^?s<8)Rww0jn1P9Vlr|TF5ik?Zf(=Tw{$TQ_8$*wn^wGRyoBj*?UT8Zyxv7lNtg4C zxj)?P8XPj$o;Uuf*-MJ=K#k(#^FD|iI1OC#3*^7GsxlWSDxo2v}rXi=30XqX*uZs zj1J^c(VU0%3~LwGDAZxI=AbT`H3sVjw&%2Qj)cYiKhcEHKZ?Fl|KyF6@>|@(_~HB~ zww09Lx`;my@IM(LuRzBCtnA189=j8quut_w*lVvH&Cwe)?Lg6Q85izC3C7;}Qu}sCA zgn14jQezZFd#=?m&iU6oHVN9jjHAM<_{L`pZJxiqbstLMZ|3bQ5MPhBnb+CDURpSO z50mhD8K;eNeY{3|smYfsJ_Db|kS`;&H9sMCwPkaj=s1uT5_kDt%qb0h&E}cbmu+w8 zZn|K`|+YLS@l?**v+vP=u3ue_ng?m*y7mx#>4C<<6D-` z4}HoS`=Kw{AV2gWd)W_t$3F3M!lIWCzFtM(e^3$@X0{CU>R=y$o=WwCTY~06D_H7! z!mFzvJh}$Mo9hv20ce+_C({J<6ehusYZ`nPX2CkmTA%he_8jQtv?5p=YzjULz6!n# zz6*{Aj5EMH+Sz3kZtfLu3!=W_-OGoFZWR!%Y@uBcca~2nHDWU{k_6xV#;}tA;6EHN z@&J!(=Pnu%*5GG6jwHjo(j50C8c~M#WhL&+x)|HdviN<&rS%$vk=wk0bFBF-jA_U? zIxGQ2p-ZjrFiHi#^JaId_q{(P;4ESOJ-{AlKZs|!4^Nl5J0LP?7n^fWd7f3U_J4tz zDHZlDXm>AoSz-lZrDNS<562#hO^!W!Nj=Pn8a!unw=H^Kj|KxT`Ly`OT8%T%`CWHA z^z=MvT9HyVXFBsfOtv|PoZnv?GshXjlK1j8>lSB z1gDEvHhYN8gzUd~=eYu)8+b@XpIYCIJqPs7M#F!BhTV_KL- zh|)L*zdk>%Et5Uo`LC49$>?A3-sN#7qZfc14;^m8vn=!}qbFHew~p~3qvu%UHOBsC z*q=;3YW!!fuq*j*Mg70OdubhjUoCrp^r?+}XA2t-O?qUugm$y-MW0LhSVn%8^rQR~ zI?rve+t7=O@u*l<&IbkJ!%S;jGk#;7@tk-^vO7PRl8`UH$CSvu&?)V=_ZXfh&N|(>xIH$y_f-O%x|~$LUZw#^#aOn%9=$+yJ4B{;vVn|;~E*|gJ-(UJ>@g94L@t| z?)LLS%fd)NEUBe@2e$hYxNcsb8$WN#{dD_0o?S(-##p4U=)M^f9JOfA>#a4)v7z8PvSLoIMSZot)g=cMd^knqY$KJKDNQZ)AZ zXI&rtZ4wrP(BDQ|4gR}FWyzn|e=V4TjYNo zjoTu9$iMIJU9BEu8QKuqcmIHQWg2MDIm&0Liu}Any|s>zG0AZ~l$&F~8TevTdzG7u(yd zqr!T}hTqc8U^!YJ)TXG{$Nql7v(A!Ik4}8A4crkzYwjy2yB7-@ouL9yPPNbN4T4L@wv7e|LI-uGR88; zvc&RYY+N8#0^{S-vC0@DcZ&_dIQik&Sd5h)i#?0+^5odeSQK9+FXBKf#fpgU+CyE& zN9M0#2>+r#{Wg~oYj}qk$-FM|@jJe=>KgBX9_~@U1a$1BP{-3Nk(#A{ z=YvH(6Mf{V=gywYC-J{m+mu|#9C}8Dny2J?=Kq>6`IY)s(OcxmJb=_P4 z0Loo<9zdwc`n#tS{hTg+-$Ea!lr`1=?3W(Zu$THU(Ss?{fL)Ep`u~5mVvIeXo<$60EH}zlMa*m%gc%J_ zVE4(Fkz+d7o*p1@wm8c3Uc`ew4FDyqd z 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 z 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%0D(6gCyK>?5sueXqnc&nY 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 BV|V}n literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.opensdf b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.opensdf new file mode 100644 index 0000000000000000000000000000000000000000..cdfe0d51c461f46c4d9794132cbb050a8794f64b GIT binary patch literal 30 bcmc~}FaknjAZB0)VsK?}VF+MwhKm6JIJg6E literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.sdf b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.sdf new file mode 100644 index 0000000000000000000000000000000000000000..c3d96574f67ef70e8a417f4bf03cdcb47bc3c396 GIT binary patch literal 1396736 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 z%0D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 Q;X5{bJ3vv7c_~*0B?dY0Y)}d+i?5 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
Ef&BCibcR(J2k>JtP}?-OE8 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 literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj new file mode 100644 index 0000000..1a6531b --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj @@ -0,0 +1,594 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj.NCL.N2232.user b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj.NCL.N2232.user new file mode 100644 index 0000000..257e4e7 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcproj.NCL.N2232.user @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj new file mode 100644 index 0000000..506aae7 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj @@ -0,0 +1,151 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + + {9DF31AC3-BD19-4158-BD6F-9CFE64AEE5D2} + bsr_trunk + sim + + + + Application + MultiByte + true + + + Application + MultiByte + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + nmake -f yav_mcu_bsr.mak + + + + $(NMakePreprocessorDefinitions) + $(NMakeIncludeSearchPath) + $(NMakeForcedIncludes) + $(NMakeAssemblySearchPath) + $(NMakeForcedUsingAssemblies) + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r;$(IncludePath) + + + + MaxSpeed + true + MultiThreadedDLL + true + Level3 + ProgramDatabase + + + true + true + true + MachineX86 + + + + + Disabled + OldStyle + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.filters b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.filters new file mode 100644 index 0000000..af77d25 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.filters @@ -0,0 +1,210 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {4e2142a2-478d-4e47-ab3f-7ae7d1e531bd} + + + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル\renge + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + ソース ファイル + + + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ソース ファイル\renge + + + ソース ファイル\renge + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + ヘッダー ファイル + + + + + + \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.user b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.user new file mode 100644 index 0000000..695b5c7 --- /dev/null +++ b/tags/SDK3.0(2.00)/VCProj/bsr_trunk.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/WDT.c b/tags/SDK3.0(2.00)/WDT.c new file mode 100644 index 0000000..dd9a332 --- /dev/null +++ b/tags/SDK3.0(2.00)/WDT.c @@ -0,0 +1 @@ +#include "incs_loader.h" \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/WDT.h b/tags/SDK3.0(2.00)/WDT.h new file mode 100644 index 0000000..2e28e9d --- /dev/null +++ b/tags/SDK3.0(2.00)/WDT.h @@ -0,0 +1,20 @@ +#ifndef _WDT_ +#define _WDT_ + + + +//========================================================= +#define WDT_RESTART_MAGIC 0xAC + + + +//========================================================= +// EHb`hbO^C}̃X^[g +// void WDT_Restart( void ); +#define WDT_Restart() WDTE = WDT_RESTART_MAGIC + +// KlȊOƗOŃZbg +#define mcu_wdt_reset WDTE = 0x0 + + +#endif diff --git a/tags/SDK3.0(2.00)/accero.c b/tags/SDK3.0(2.00)/accero.c new file mode 100644 index 0000000..dc52759 --- /dev/null +++ b/tags/SDK3.0(2.00)/accero.c @@ -0,0 +1,261 @@ +/* ======================================================== +@xZT֌W +Ef[^XVŃf[^zグ背WX^XVACPUɊ荞 +EtOĂΕJEg +ExZT荞݂^XNo^ĉBiI2C̋Ȃǂ̂Łj + + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP +#pragma ROT +// rorb, rolb, rorw, rolw +#pragma MUL +#pragma BCD + +#endif + +#include "config.h" +#ifndef _WIN32 + +#pragma interrupt INTP23 intp23_ACC_ready RB3 // xZTAf[^ + +#endif + + +#include "incs.h" + +#ifndef _WIN32 +#include +#endif +// ======================================================== +// WX^ +#define ACC_REG_WHOAMI 0x0F +#define ACC_REG_CTRL1 0x20 +#define ACC_REG_CTRL5 0x24 +#define ACC_REG_X 0x28 + +// rbgʒu +#define ACC_bP_PM0 5 +#define ACC_bP_DR0 3 + +// rbgݒl +#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( ); + + + +/* ======================================================== +@E荞݂mFăf[^zグAWX^ɏo܂ + E{ł΃R[obN֐o^Ă΂ƂȂ̂łA + I2CgpHƂlƎł͂܂łłȂ̂łB + EvƂł + ======================================================== */ +task_status_immed tski_cbk_accero( ) +{ // i^jisro^܂ + static u8 err_count; + u8 acc_dat_buff[6]; + + // xZTf[^WX^ւ̔f + if( iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, acc_dat_buff ) + != ERR_SUCCESS ) + { + err_count ++; + if( err_count < 8 ) + { + // gC + return( ERR_CONTINUE ); + } + else + { + // xZTُɂȂ̂Ŏ~߂ + 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 ); // ^XN̍폜͕Kv + } + } + else + { + memcpy( &vreg_ctr[VREG_C_ACC_XL], acc_dat_buff, 6 ); + + err_count = 0; + // 펞pX // + // xXV荞 + 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 ); + // S~f[^̃Jǂ + if( ACC_VALID ) + { + u8 temp[6]; + iic_mcu_read( IIC_SLA_ACCEL, ( ACC_REG_X | 0x80 ), 6, temp ); + } + } + if(( system_status.pwr_state != ON_CHECK ) + &&( system_status.pwr_state != OFF ) +#ifndef _DBG_PEDO_AUTO_ENABLE_ + &&( ( vreg_ctr[VREG_C_ACC_CONFIG] & VREG_BITMASK_ACC_CONF_HOSU ) != 0 ) +#endif + ) + { + pedometer(); // v + } + } + return ( ERR_FINISED ); +} + + + + + +/*======================================================= +@xZT߃ANZX@[h + ========================================================*/ +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 ); +} + + + +/*========================================================= +@xZT߃ANZX@Cg + ========================================================*/ +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 ); +} + + + +/*========================================================= +@xZT̐ݒ + ========================================================*/ +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 ); // Ƃ肠A^XN͍폜ȂĂ͂ȂȂ + }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 + { + // @hA + str_send_buf[2] = 0x10; // 3 IRQ pol :Active HI, Drive:Pushpull, + } +*/ + if( system_status.model == MODEL_TS_BOARD ) + { + str_send_buf[2] = bits8(0,0,0,0, 0,0,1,0); // sŝ߁Aƕ + } + else + { + str_send_buf[2] = bits8(0,0,0,1, 0,0,0,0); + } + 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; + // S~ + 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 ); + + // Jǂ + 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 ); +} + + + +/* ======================================================== + xZT荞 + I2CgpȂ̂ŁAǂݏo^XN̓o^ŝ + ======================================================== */ +__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 ); + } + } + } +} diff --git a/tags/SDK3.0(2.00)/accero.h b/tags/SDK3.0(2.00)/accero.h new file mode 100644 index 0000000..20494b9 --- /dev/null +++ b/tags/SDK3.0(2.00)/accero.h @@ -0,0 +1,14 @@ +#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 diff --git a/tags/SDK3.0(2.00)/adc.c b/tags/SDK3.0(2.00)/adc.c new file mode 100644 index 0000000..20769fa --- /dev/null +++ b/tags/SDK3.0(2.00)/adc.c @@ -0,0 +1,515 @@ +/* ======================================================== + cJZ + 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; + +u8 vol_level_twl; + + +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_3D ] + }; + + +u8 vol_data_ctr; +u8 vol_data_ctr_tmp; +filter_work work_vr_vol = { + &vol_data_ctr_tmp + }; + + +// twl 8iKvol̃jAl̋E +/* + twl32 -> 8 e[u + 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 ); +static void update_twl_vol( u8 sent_index ); + + + +// ===================================================== // +#define INTERVAL_TSK_ADC 15 + + + +/* ======================================================== + ADCݒƁAJn + + ȉ̃s͎ɂőEĎ܂B + EBT_TEMP,_P + EADIN1 + EVOL + + ֌W肻łʂ̂ƂŊǗĂ܂ + EPM_BT_DET,_P BT_chk + ======================================================== */ +void tsk_adc( ) +{ + if( adc_updated ) + { + adc_updated = false; + + // 3D ///////////////////////////////////////// + vreg_ctr[ VREG_C_3D ] = adc_raw_dep; // l + + // Volume ///////////////////////////////////// + { + vreg_ctr[ VREG_C_VOL_ADC_RAW ] = adc_raw_vol; + + adc_filter( adc_scaling( adc_raw_vol ), &work_vr_vol ); // ʂ*work_vr_volwvol_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 ); œo^ + } + } + + // obe /////////////////////////// + /* Ă΂܂ */ + } + + // YꂪƂȂ̂Ń|[O orz + if( vol_polling < 5 ) + { + renge_task_immed_add( tski_vol_update ); + vol_polling = (u8)(200 / SYS_INTERVAL_TICK) + 5; // 5/sec + } + vol_polling --; + + + ADCEN = 1; + ADM = bits8(0,0,0,0, 1,0,1,1); // ZNg[hAAfCLK/6 // + + ADPC = 0x06; // ADC|[g̃ZNg + ADS = ADC_SEL_3D; + nop8(); + ADCS = 1; // ADJnB // ܂Ł@@܂ł1us=8clkȏJ + + ADIF = 0; + ADMK = 0; +} + + + +void vol_reset() +{ + vol_old = vol_data_ctr; + vreg_ctr[ VREG_C_SND_VOL ] = vol_data_ctr; // 64i +} + + +/* ======================================================== +@VolXV܂B + @Ȏɓo^܂B +@@E[U[VolXC_𓮂 +@@EHorizonɋXVwꂽ@icodecZbgj +@@ETWLAvVol +======================================================== */ +task_status_immed tski_vol_update() +{ + static u8 sent_index, sent_index_twl; + static bit last_modifyer_is_twl; // false = ctr + + if( !( system_status.pwr_state == ON ) || + ( system_status.pwr_state == SLEEP )){ + return( ERR_FINISED ); + } + + // ǂ̉ʂɂ́H // + if( vol_changed_by_ctr ) + { + // XC_ + vol_changed_by_ctr = false; + last_modifyer_is_twl = false; + sent_index = vol_data_ctr; + } + else if( vol_changed_by_twl ) + { + // TWLAv + 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_slider0ɂƂ & ܂Ƃ + // XC_TWL̍ŌɃZbgZbg + if( last_modifyer_is_twl ) + { + sent_index = sent_index_twl; + } + else + { + sent_index = vol_data_ctr; + } + } + + // WX^̍XV // + vreg_ctr[ VREG_C_SND_VOL ] = sent_index; + + // twlXV + update_twl_vol( sent_index ); + + // codecɓ` + /// lł + iic_mcu_write_a_byte_codec( CODEC_REG_VOL, slider_to_codec[ sent_index ] ); + + // set_irq( VREG_C_IRQ0, REG_BIT_VR_SNDVOL_CHANGE ); // 荞ݔp~ + return( ERR_FINISED ); +} + + +static void update_twl_vol( u8 sent_index ) +{ + // XP[O + 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; // P̓~bVOŐ + } + else + { + vreg_twl[ REG_TWL_INT_ADRS_VOL ] = sent_index/2 ; + } + + // 8iK̃xB@荞݂̂ɕKv + { + static u8 vol_twl_old; + + if( vol_twl_old != vreg_twl[ REG_TWL_INT_ADRS_VOL ] ) + { + // 8ixɕϊ + 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; + } + } +} + + +/* ======================================================== +@ߋR‚minłMAXłȂlԂ + @˔IȃmCYB + @^ƐU +======================================================== */ +static u8 getmean3( u8 * hist ) +{ +/* +// ͑傫Ēx + u16 temp = 0; + u8 min = 255; + u8 max = 0; + u8 i; + + for( i=0; i!= 3; i++ ) + { + temp += *(hist+i); + if( min > *(hist+i) ){ min = *(hist+i); } + if( max < *(hist+i) ){ max = *(hist+i); } + } + return (u8)(temp - min - max); +*/ + + if( *hist > *( hist + 1 ) ) + { + if( *hist > *( hist + 2 ) ) + { + if( *( hist + 1 ) > *( hist + 2 ) ) + { + return( *( hist + 1 ) ); + } + else + { + return( *( hist + 2 ) ); + } + } + else + { + return( *hist ); + } + + }else{ + if( *hist > *( hist + 2 ) ) + { + return( *hist ); + } + else + { + if( *( hist + 1 ) < *( hist + 2 ) ) + { + return( *( hist + 1 ) ); + } + else + { + return( *( hist + 2 ) ); + } + } + } +} + + + +/* ======================================================== +@OŎ̃`l +@@ʂI~߂ + ======================================================== */ +__interrupt void int_adc( ) +{ + 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_3D ): + 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(); + if( vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] == 0xFF ) + { + raw_adc_temperature = adc_data; + } + else + { + raw_adc_temperature = vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ]; + } + + if( (( vreg_ctr[ VREG_C_STATUS_1 ] & REG_BIT_MGIC_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; // ̃`l + } + else + { + ADCEN = 0; // ~߂Ă܂ + adc_updated = true; + + if( ++index > 2 ) // mCY̔zCfbNX + { + index = 0; + } + } + ADIF = 0; // ȂƁAÕ`l̃f[^̊ŒɊ荞މ”\ +} + + + +/* ======================================================== + tsk_adcƋ邱ƂlĂ܂B + ======================================================== */ +u8 get_adc( u8 ch ) +{ + u8 temp; + + ADMK = 1; + ADIF = 0; + + ADCEN = 1; + ADM = bits8(0,0,0,0, 1,0,1,1); // ZNg[hAAfCLK/6 ///火 + + ADPC = 0x06; // ADC|[g̃ZNg + ADS = ch; + + nop8(); + + ADCS = 1; // ADJnB /// ܂Ł@ɁA1usȏJ + + ADIF = 0; + while( ADIF == 0 ){;} + temp = ADCRH; + ADCEN = 0; + + ADMK = 0; + return ( temp ); +} + + + + + +/* ======================================================== + VR̉“͈͂lăXP[O + + Volp@g񂷂Ȃ炻̂Ƃǂɂ +======================================================== */ +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 ) ); +} + + + + +/* ======================================================== + qXeVX V2 + ľܓIȓ܂ +======================================================== */ +#define KIKAN 16 +static void adc_filter( u8 new_val, filter_work *work ) +{ + if( abs( new_val - *( work -> value_used )) > 2 ) + { + // 傫ꂽ + work -> large_diff_count ++; + if( work -> large_diff_count > 16 ) + { + *( work -> value_used ) = new_val; + work -> diffs = 0; + work -> kikan = KIKAN; + } + } + else + { + work -> large_diff_count = 0; + // ߏ̒lłAԂłς΂Ă炻Ɋ񂹂 + if( *( work -> value_used ) < new_val ) + { + work -> diffs ++; + } + else if( *( work -> value_used ) > new_val ) + { + work -> diffs --; + } + + 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; + } + } +} + diff --git a/tags/SDK3.0(2.00)/adc.h b/tags/SDK3.0(2.00)/adc.h new file mode 100644 index 0000000..6f4ad04 --- /dev/null +++ b/tags/SDK3.0(2.00)/adc.h @@ -0,0 +1,48 @@ +#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_3D 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; +extern u8 vol_level_twl; + + + +/////////////////////////////////////// +u8 get_adc( u8 ch ); +void vol_reset(); + + + +#endif diff --git a/tags/SDK3.0(2.00)/batt_params.h b/tags/SDK3.0(2.00)/batt_params.h new file mode 100644 index 0000000..3807441 --- /dev/null +++ b/tags/SDK3.0(2.00)/batt_params.h @@ -0,0 +1,132 @@ +#ifndef _bt_params_h_ +#define _bt_params_h_ + +#include "jhl_defs.h" +/* + dr CTR | SPFL | YBS + 0 ID = 0 maxell + 120 1 + 360 2 + 750 @ 3 + 1.3k@ 4 + 2.7k 5 pana + 8.2k@ 6 +*/ + + +typedef enum +{ + BT_PARAM_CTR_MAXELL = 0, + BT_PARAM_CTR_PANA, + BT_PARAM_SPFL_MAXELL, + BT_PARAM_SPFL_PANA, + BT_PARAM_SHRIMP_MAXELL, + BT_PARAM_SHRIMP_PANA, + _BT_PARAM_NUM_ +} BT_TYPE; + +typedef struct +{ + u8 rcomp; + s16 up,down; +} rcomp_; + +typedef struct +{ + u8 hi,low; +} verify_; + + typedef struct +{ + u8 mg_param[64]; + u8 v_scale; + rcomp_ rcomp; + u16 ocv; + verify_ verify; +} bt_param_; + + + + +/* ======================================================== + eЃobe[p[^ + ======================================================== */ +const bt_param_ bt_param[ _BT_PARAM_NUM_ ] = +{ + // ctr //////////////////////////////////////////////// + // BT_PARAM_CTR_MAXELL + { + { + 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 + }, + 2, + { 92, (u8)(-256* 0.79), (u8)(-256* 4.35) }, + 0xD800, + { 0xEA, 0xE8 } + }, + + // BT_PARAM_CTR_PANA + { + { + 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 + }, + 1, + { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, + 0xDA20, + { 0x69, 0x67 }, + }, + + // spfl /////////////////////////////////////////////// + // BT_PARAM_SPFL_MAXELL + { + { + 0xA1, 0x20, 0xB7, 0x50, 0xB9, 0xD0, 0xBB, 0x00, + 0xBC, 0x30, 0xBC, 0x60, 0xBC, 0xA0, 0xBD, 0x10, + 0xBD, 0xC0, 0xBE, 0x70, 0xBF, 0xD0, 0xC2, 0xA0, + 0xC4, 0x00, 0xC8, 0x50, 0xCC, 0x80, 0xD0, 0xB0, + 0x01, 0xA0, 0x25, 0x10, 0x18, 0xB0, 0x17, 0xC0, + 0x95, 0x20, 0x6F, 0xE0, 0x7C, 0x60, 0x35, 0x10, + 0x35, 0x00, 0x37, 0xF0, 0x16, 0xF0, 0x1C, 0xA0, + 0x17, 0x30, 0x11, 0xD0, 0x11, 0xF0, 0x11, 0xF0 + }, + 2, + { 94, (u8)(-256* 0.35), (u8)(-256* 3.85) }, + 0xDAB0, + { 0xF5, 0xF3 } + }, + + // BT_PARAM_SPFL_PANA !!dummy!! + { + { + 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 + }, + 1, + { 171, (u8)(-256* 1.00), (u8)(-256* 2.60) }, + 0xDA20, + { 0x69, 0x67 }, + } +}; + + +#endif diff --git a/tags/SDK3.0(2.00)/bsr.hex b/tags/SDK3.0(2.00)/bsr.hex new file mode 100644 index 0000000..2ff6e9f --- /dev/null +++ b/tags/SDK3.0(2.00)/bsr.hex @@ -0,0 +1,1008 @@ +:02000000660D8B +:0400100079497B4966 +:02001C003B4B5C +:02002400884B07 +:02002A00D34BB6 +:08003400FB4C9E4CF74C2D4ED5 +:02004A007D49EE +:02005A00B849A3 +:02006200B14D9E +:0400C0007EFBFF04C0 +:0A00C4001B339499E033F240BFAA09 +:1000CE00C7C1FBF8FFCEABACC736F00071F4C6610A +:1000DE00D8710014F98EA89C018C015C10D1DD0A38 +:1000EE007110BCFB710014F9EF0B8C015C80D161B7 +:1000FE00E8710014F98F14F931030EF6B1BBF661F5 +:10010E004900DD05618900EFF5FDD401FD2801FDF3 +:10011E008001FD6402EFAEC0C6D7C7360000674C43 +:10012E0009DE3F318E04F60FC1317B9EFDC411896D +:10013E007267318E04F64F14896142DF03F6EF01C8 +:10014E00E660610667318E124900207267318E04B7 +:10015E00F64F14896142DF03F6EF01E66061068710 +:10016E00EFBC40F84F3A61E88666D161E8FDDE06E5 +:10017E00C6D751105B0C319E609F16F94016F901DF +:10018E00DF05CD3205EF03CD32078F14F95CE39F07 +:10019E0014F951035B04318EE7240000DD1023DDDA +:1001AE000823DF0E712014F9D7713014F9D771407E +:1001BE0014F9D7717BFACEA010CEA180E5F300CE54 +:1001CE00A408F5AAFFD78F14F9310508CD0003CD89 +:1001DE000307EF03CD030ECE23F88F14F931030B73 +:1001EE00CD0408CD0508F690BFB401CF1105F8F582 +:1001FE0021FFCE22E9CE24F3CE25FACE26FCCE2741 +:10020E005FCE2EFCCF120511CF350002CF3700196D +:10021E00CF530006CBEEFEFFCE3831CE3970CF383D +:10022E00050A308700BF1801BF1A01BF1C01BF1E8F +:10023E0001D7C7C1C1FBF8FFCEABAC8C02D1DD122A +:10024E00616902305C03BBF6614900DDEE61890035 +:10025E00EFF51004C6D7F50CFCF50EFCCF14FCFF21 +:10026E00CF10FCFFCF11FCFFFD6D2FFD9938FDCE99 +:10027E0004717AFAFDB123F512F98F14F9310513D1 +:10028E005003FD5A2B625C01D161E8CF12F902CF07 +:10029E00C5FB64FD4D30FD2645710261712BE7FDF6 +:1002AE009C38FD3B3961EDEFF6D7D7C7F616FDCE7C +:1002BE0004717BFA31225F0871225F717AFAEF0BBB +:1002CE00717AFAA7F647DFE9E2EF01F2C6D7C7C1A6 +:1002DE00C1FBF8FF17A1C1E0C18C0A70C18C02707E +:1002EE00FD04031006D2DF04F439EF03CD39028C7E +:1002FE0001721004C6D7C7C1FBF8FFFDB902D2DDEB +:10030E0003E2EF618B70FD2204D2DD0771235F5291 +:10031E0002EF528C0870FD3704FD82048B6C017065 +:10032E00FD3704300400BF2401301740BF1C0130DC +:10033E000400BF22018C0A91DF04F6BF2A01710B63 +:10034E00E2CE44FF3182E202EFFAAC0C148E4499F5 +:10035E0061790C61690A8C0AD1DFDAFDAB04710B8D +:10036E00E271235FF2C0C6D7C7C1FBF8FFFDB90229 +:10037E00D2DD03E2EF25710AE68B70FD2204D2DD99 +:10038E000771235F5202EF138C0870FD37048C0A3D +:10039E0070FD3704FDAB0471235FF2C0C6D7C7C131 +:1003AE00FBF8FFFDB902D2DD03E2EF65710AE671DB +:1003BE000BE28B70FD2204D2DD0771235F5202EF38 +:1003CE0050710BE231125F39C73430FBAC0C165250 +:1003DE00048B99A5A792DFF9C63184BD02EFFA719D +:1003EE007ABDCEB144CBB430FB8C0A318EBEB8CEC2 +:1003FE00BB48714BE1714BE5710ABD8C089E44EF11 +:10040E000F710BE68C089E448C0A9D38AC0CBD36E1 +:10041E00F2C0C6D7C716FD5A0417FD3704D2DD0643 +:10042E00FDAB04E2EF01F2C6D7C716710AE6710BF7 +:10043E00E2669E443182E202EFFAF6420401DD09E1 +:10044E00AF0401BF0C01E2EF01F2C6D7AF280108DD +:10045E005CFB08BF2801FDB802AF28015CFBBF287A +:10046E0001300400BF2A01301780BF1C0130040088 +:10047E00BF2201D7AF2401086C0408BF2401AF28A6 +:10048E00016C0F086C0B08BF2801FDB802AF2A01E2 +:10049E00085CFB08BF2A01FDB802ED5A04300400C7 +:1004AE00BF2401F6BF2A01300B0BBF2801FDB80295 +:1004BE00300B0FBF2801FDB802300F0FBF2801D738 +:1004CE0031345F01D771225F710BBD0000717BBDAE +:1004DE006A0E03713B25713B23500AFD40027120C9 +:1004EE00F000FDB802F6BF26015024BF1401CB4424 +:1004FE000014300F0FBF280171135F710BE2710AE8 +:10050E00E6FD5A04CE44FF3182E202EFFAFDAB045F +:10051E00AF0401BF0C0171235F71325FD731245FCD +:10052E0002EFFAFD8204713A25713A235A0EFC71DC +:10053E0028F00071335FD7C7880616FDB902D2DDE9 +:10054E0003E2EF38710AE650A4FD2204D2DD0771F2 +:10055E00235F5202EF2617FD37046770FD3704FD47 +:10056E00820450A4FD37045020FD3704D934FBFD1E +:10057E003704A034FBFDAB0471235FF2C6D7C7204E +:10058E0008FBF8FFFDDC085014C15008FD0E08C032 +:10059E00CC07048C074C14DE0C8C07318EFD480AF8 +:1005AE00615907EFEECC07048C074C1461C8ED7A45 +:1005BE0006CC06008C064C0461C8ED59063018F9BD +:1005CE00BC02F6BBCEABAC31B2D109C73641057118 +:1005DE0084C6DEF3F1C73641057184C661DC9C0525 +:1005EE00713BD1AC02148F40059971505005617961 +:1005FE0002617900F0E1614900DD09C736410571FC +:10060E0084C6DEC3F1C73641057184C661DC0E05B2 +:10061E009C055040C18C07318E31AD128C06318E47 +:10062E00318D03BDD831FFBDDADADAADD8FD140D48 +:10063E00C0D2DD0C5008C15014FD0E08C0FDD10B08 +:10064E008C05D1DF06615906EDC2058C07318EFD92 +:10065E004C0AD2DD0C5008C15014FD0E08C0FDD15D +:10066E000B8C05D1DF06615907EDB605716050059B +:10067E00CC0400CC05008C054C09DE2B8C05318E8C +:10068E0004F61FC1317B9EFDC41189728C05318E1B +:10069E0004F64F14896142DF03F6EF01E6600E04A3 +:1006AE009C04615905EFCF41001140F81F3A61E8F3 +:1006BE006159048C04D1DF08FDD20BFDE40CEF0C64 +:1006CE005008C15014FD0E08C0FDD10B1008C6D73E +:1006DE00C72004FBF8FF715B21CC0100F6BC02AC15 +:1006EE0002440900DE3EAC0204F60F1441001189EB +:1006FE0072AC020C5014896142DF03F6EF01E66022 +:10070E000E019C01AC021249005072AC0204F67F3D +:10071E0014896142DF03F6EF01E6600E019C016170 +:10072E007902EFBB40F67FFF61F86159018C01D170 +:10073E0061F8EDDC07CC0100717AFAFDCE0471137D +:10074E0000711B20710303710205E0C15003FD49C6 +:10075E002BC05013FD4002500FC1E0FD492BC0CEFF +:10076E00ABAC6159018C0191DD068C014C03DF03AA +:10077E00E6EF01F66061FB7151018C014C0861F8E6 +:10078E00CC010031320705A042FCEF03F542FC40DC +:10079E0042FC11DC0DF542FCF0C15003FD492BC0AB +:1007AE00EF12E6BC02F6614902DDB4000000006102 +:1007BE007902EFF1CE3708CBE4FFFFCBE6FFF7CEA1 +:1007CE00D4FFCF370008F5120561FDF5ABFFFDDC58 +:1007DE0008D25008C15014FD0E08C0D2FDD10B1026 +:1007EE0004C6D73184BD02EFFA717BBDCBE4FFFFA7 +:1007FE00CBE6FFFFCBD4FFFF717ABED7717BBED79E +:10080E00C7C1200CFBF8FF8C0C318E31ADC1317B92 +:10081E009DD4C0BC068DD49C088C149C0B8C1431BA +:10082E008E040C00128C0B318EBDD813FDA30F61FC +:10083E00C8EDD708CEABACCC05068C0B318EFD4483 +:10084E000AD2DD158C0B318EFD480A6169058C05C7 +:10085E00D1DFE7FD0A08E2EF71CC0A008C0A4C04E6 +:10086E00DE54F6BC023018F9BBAC06148C089EFDA3 +:10087E00118972AB146299AC06A1BC066179006154 +:10088E007902F0E1614902DFE05040C18C0B318EFC +:10089E0031AD128C0A318E318D03BDD831FFBDDAE8 +:1008AE00DADAADD8FD140DC0D2DD06FD0A08E2EF8E +:1008BE001961590AEFA68C0B318EFD4C0AD2DD035D +:1008CE00E2EF0761590BED2B08F2100EC6D7C77178 +:1008DE007B9D717BFAFDF1073018F9FDF70AFD8259 +:1008EE000AC6D7FDDC08FDD10BFD0A08F5ABFFF2F9 +:1008FE00D7C7316462067110C9FBEF047118C9FBCA +:10090E008FC9FB7FEAFC76D1DD5C8FC9FB9FEAFCC9 +:10091E004012F903DF22665C10D1DD1C8FC9FB5C2F +:10092E0010D1DD0B5080C15011FDA434C0EF095021 +:10093E0040C15011FDA434C04012F903DD0640122F +:10094E00F904DF22665C02D1DD1C8FC9FB5C02D18B +:10095E00DD0B5040C15010FDA434C0EF095020C132 +:10096E005010FDA434C0C6D7C78F0CFC768F0DFC7B +:10097E0077665C80D1DD10675C80D1DF0571136214 +:10098E00EF0B711262EF06710407711162665C4023 +:10099E00D1DD10675C40D1DF05712362EF0B712250 +:1009AE0062EF06711405712162665C01D1DD10677C +:1009BE005C01D1DF05713362EF0B713262EF0671AC +:1009CE003407713162665C02D1DD10675C02D1DFE3 +:1009DE0005714362EF1D714262EF184015F901DF98 +:1009EE0008710402714162EF0AC736100571C4C660 +:1009FE00714162665C04D1DD10675C04D1DF057164 +:100A0E005362EF0B715262EF0671440771516266C9 +:100A1E005C08D1DD10675C08D1DF05716362EF0BF6 +:100A2E00716262EF06711407716162665C10D161CA +:060A3E00E8715AD1C6D791 +:100A44005208EF065203EF025206FEE600FE1B00B8 +:100A5400DC16089F03088F0408089F040862FE241C +:100A640000089F0408EEBF00EEBA00C1C514410E91 +:100A740011D9D0FF118FD1FF312E45C4C0D7F23127 +:100A8400A2C401E2D79DE261DD4C09DF12717BFA59 +:100A9400C18F06089F31FDC0CF060800EE27003144 +:100AA400F2FA04CF0608004C00DF05D50008DD1675 +:100AB40061DD717BFAD50608DD0ACDE31F61CD61E6 +:100AC400CDEE160061CDFED40061FFFE9A00FCF865 +:100AD400FF0EFEB20061CDFED5004C09DF0EC18FC2 +:100AE40006086F31FD9F0608C0EE0400CF0608001B +:100AF400F8E3D75200EF025202FE3700CF30FD0078 +:100B0400CF060800BF0408C716629F000841001101 +:100B14008F22229B4100118F23229F0108C651007E +:100B2400FE62FFEF025205CF060800C1510CFE0A17 +:100B340000C0D7C1511DFE0200C0D761DD717BFA30 +:100B440070CEC0A59EC47CFF9EC4609EC461CDD7F8 +:100B540061DD717BFAC18EC45C1BFED6FFCF060833 +:100B640001FED7FFC061CDD731F2FA1AC1AEE4BF9E +:100B740022FDAEE6BF24FDAED4BF26FD30FFFFBE8E +:100B8400E4BEE6BED4C0D731F2FA11C1AF22FDBE35 +:100B9400E4AF24FDBEE6AF26FDBED4C0D7C1BF2856 +:100BA400FD13BF2AFD15BF2CFD17BF2EFDC0D7AF07 +:100BB40028FDDB2AFDEB2CFDFB2EFDD7534B3052D9 +:100BC4005430324E323030475631323000FFC1504B +:100BD400FEFEAB0061DD717BFACF060800FE0A0061 +:100BE400FEA4FF61CDF8E3EECF00C7FB0408BF22EB +:100BF400FD8FC0009C05C5C337040600BF24FD3526 +:100C040036360C300000522BFE6600C2C4C630E4F7 +:100C14000BB800300000B8022004AF24FDB8003047 +:100C24000F00B802AF22FD61FF520AFE3AFFECF852 +:100C3400FF0E717BFAC1C7FB04088C05C65C80FEFD +:100C44000200C0D761DD717BFA70CFC0FFA59FC0E1 +:100C5400007CFF9FC000609FC00061CDD7618BFE08 +:100C6400E2FF717BBE410011FB000017CEFC006166 +:100C7400CB089EFDF31161C999A58392DFF7D7FED6 +:100C8400B1FED530FDDF23C1CF0308035109FEF4C3 +:100C9400FDC0D2DF37FE3800A20408CF0308075195 +:100CA40009FEE1FDD2B20408DF22C7FB0408318348 +:100CB40002C6D7C6510AFECCFD624C1FDF06CF30F8 +:100CC400FD01EF04CF30FD00C0EE5BFEC0EE55FE2B +:100CD400C7C1FB04088B31196C0161589BC0C6D78E +:100CE400717BFAFE4DFEAF0408040600C1143648B9 +:100CF4000C300000522DF3FE77FF8FC000FE2BFE58 +:100D040061CF5C807C8073C0041900CEFC0F61CB82 +:100D1400C55404EF03C55417FE18FEC7360008BBBC +:100D2400629C0288089C03D1DD334C41DE2F70F1B4 +:100D3400312DB161090033081C000851FF612A41BB +:100D44000E118FD0FF613B118FD1FF6138DC0E8B08 +:100D54005C03DF0964C6C4FE2BFDEECAFDC6C4EE07 +:020D6400C3FDCD +:100D660061CF5100718C7109FECBF800FEFCC10108 +:100D760000F6BF00F953C0F693935820FEDFF94101 +:100D860000363E4E34F4FCEF05118B99A7A51744A7 +:100D96006C4EDFF53602F930F4FCEF04CC0000A708 +:100DA60047DFF94100366C4E3420FEEF05118B9972 +:100DB600A7A51744744EDFF53628FE305EFEEF0415 +:100DC600CC0000A747DFF9FCCE0000EFFE61DD7125 +:100DD6007BFABEF0ADD8BEF200AEF661CDD7C361E8 +:100DE600DD717BFABEF0ADD8BEF200DBF6FFADDCFE +:100DF600BEF000AEF6BDD8AEF40312ADDABEF20018 +:100E0600AEF661CD03BDDAC2D7C3F33174D9088318 +:100E1600C1F626D8BDD8C031750683C312F623C2E3 +:100E2600FD310E93DF0312F623C2D7440000DD2600 +:100E360061DD717BFACFE80080BEF6F6BEF4BEF245 +:100E4600ADD8BEF0CFE800818FE8003103FAAEF0EE +:100E5600F5E80061CDD7B1D7C3F33174D90883C1A2 +:100E6600F626D8BDD8C0317505C312F623C2FD7F5C +:100E76000E93DF0312F623C2D7440000DD2761DD9F +:100E8600717BFACFE80080BEF6F6BEF4BEF2ADD8AE +:100E9600BEF0CFE800818FE8003103FAAFE000F53D +:100EA600E80061CDD7ADD8D7C3F33174DB0F83C16A +:100EB600F626D8BDD861317026DABDDAC031750D97 +:100EC60083C312F626DCBDDC61317023C2FDE70E5A +:100ED60093DF0CF626D8BDD861317026DABDDAC2AA +:100EE600D7C161686BDC6BDDC0DD2F61DD717BFA1C +:100EF600CFE80080BEF4ADDCBEF6ADD8BEF0ADDA0C +:100F0600BEF2CFE800818FE8003103FAAEF0BDD81B +:100F1600AEF2BDDAF5E80061CDD7F6BDD8BDDAD7B9 +:100F26008292DD2B61DD717BFACFE80080BEF0F6A0 +:100F3600BEF2BEF46208BEF6CFE800818FE800314B +:100F460003FAAFE0006072AEF0F5E80061CDD7605D +:100F560072F6B1D706DABDDAADDC06D8BDD861D8EF +:100F6600A6DAD7D1DD17C1C3DAD89DD8ADDA311CE0 +:100F760061EEB4D8DFF8BDDA13BDD8C2C0D7D1DD73 +:100F86001BC1C3DADA9DDAADD8311E33311E337197 +:100F9600F9B4DADFF4BDD813BDDAC2C0D746D8DD5E +:100FA6000771FF7177D971C0D75BDB9DDB605BDAB8 +:100FB6009DDAADDC5BD9085BD808BDD8D7C3C7F3CB +:100FC600728EFDC162314C410036344E1161A07201 +:070FD600C09EFD62C6C2D7F8 +:0A0FF60031343A32343A3238000048 +:0A20000031343A32343A323800002D +:10200A00AEF0B430B740BA30BB50BBB0BC50BD1014 +:10201A00BD60BDB0BFE0C2B0C420C7B0CAE0CE1038 +:10202A0001F0141014200630639049006E00777096 +:10203A007B001900190017F01C6012001200120030 +:10204A0002005C003600A70000D8EAE88C309C1039 +:10205A00A5E0B040B1C0B200B250B310B490B620FF +:10206A00B860BA50BFA0C6B0CE90D02000200020E1 +:10207A00002000207B30686020001700173012F023 +:10208A000DE007F00700093001C001C00100AB00F4 +:10209A000000670020DA6967A120B750B9D0BB00F9 +:1020AA00BC30BC60BCA0BD10BDC0BE70BFD0C2A059 +:1020BA00C400C850CC80D0B001A0251018B017C0F9 +:1020CA0095206FE07C603510350037F016F01CA0C3 +:1020DA00173011D011F011F002005E00A70027009E +:1020EA00B0DAF5F38C309C10A5E0B040B1C0B20074 +:1020FA00B250B310B490B620B860BA50BFA0C6B000 +:10210A00CE90D02000200020002000207B30686084 +:10211A0020001700173012F00DE007F00700093011 +:10212A0001C001C00100AB000000670020DA696746 +:10213A000000000000000000000000000000000095 +:10214A000000000000000000000000000000000085 +:10215A000000000000000000000000000000000075 +:10216A000000000000000000000000000000000065 +:10217A000000000000000000000000000000000055 +:10218A000000000000000000000000000000000045 +:10219A000000000000000000000000000000000035 +:1021AA000000000000000000000000000000000025 +:1021BA000000000000000000000000000000000015 +:1021CA00000000000000000005214F7B9EC5E900C9 +:1021DA007F7E7D7C7A7978777675747271706F6E8E +:1021EA006D6C6A6968676665646261605F5E5D5CA2 +:1021FA005A5958575655535251504F4E4D4B4A49BA +:10220A004948474645434241403F3E3D3B3A3938BB +:10221A000104080D12171C1F080101020203030220 +:10222A0000FEFBF7F3F0F0F3FA041225384D5F6E67 +:10223A00777A776E5F4D38251204FAF3F0F0F3F7E8 +:10224A00FBFE000203030202010000001F003B0024 +:10225A005A0078009700B500D400F300110130014C +:10226A004E011926344453626E777D80807D776EE5 +:10227A00625344342619100A08080808080808088E +:02228A000A1038 +:10228C00D512F9DF04F42AEF0D8FF4FCB0F4FCD175 +:10229C00DF4DCFF4FC1EFD4A23FDEC2231325E0DE6 +:1022AC0031045E0931126205713304EF037132049B +:1022BC00FD232331225E05714202EF03714302D4E8 +:1022CC002ADD05B42A714202314402067140C9FB71 +:1022DC00EF047148C9FB4012F90161E8FD1826D7DB +:1022EC004A284BDC134A28B9DE0E4004F928DE04D8 +:1022FC00A004F9D771335ED74A283EDC054A28BDC5 +:10230C00DC0E4005F928DE04A005F9D771325ED742 +:10231C00F504F9F505F9D73122620E4006F902DE13 +:10232C0004A006F9D771235ED73132040A40C5FBED +:10233C003CDE0471235ED771225EF506F9D7C7C166 +:10234C00FBF8FF71445E711762DE577114627141C4 +:10235C005E311262127130C9FB5002C15011FDA4E2 +:10236C0034C0CD2A32EF3B7138C9FBE0C15011FDAE +:10237C00A434C0F42A17C15002FD312BC0D2DF0D9A +:10238C008B318E318D080E01081C00BD2CAD2C44F8 +:10239C00009BDC05D5C5FBDF095020C15011FDA405 +:1023AC0034C0C0C6D7C78D2076FDF323FD652BD571 +:1023BC0015F9DD0571035EEF2C664B2061F8315485 +:1023CC005E1A71535EFDCE04664C07DD0381DF0996 +:1023DC008F14F9310303FD7C24FD902471025E30CF +:1023EC006C25FDF138C6D7C77162017172015005B9 +:1023FC00FD40025008FD6E37629D285009FD6E3776 +:10240C006276716301711814F94A28F1DC05E5153F +:10241C00F9EF224A2804DE1ACF15F9025008C150F0 +:10242C006CFDDC02C092DF0DD439DF09711014F998 +:10243C00EF03F515F94015F901DF05710A22EF06D6 +:10244C00710B22710302CD20075700674C08DE1078 +:10245C007309D221614EDC05679D20EF0387EFEBFA +:10246C004A2007DF09D515F961F8CF15F903C6D74E +:10247C00500AFD4002304000C15006FD142BC050E4 +:10248C0096ED4002C72006FBF8FFD515F961E8ED83 +:10249C006825304A57C1503EFD142BC0D2DD077160 +:1024AC0000C8FBED68257108C8FB17A1C15004C119 +:1024BC00500CC1506CFD04031006EA30AA48318D53 +:1024CC0012AA48318E616B08616A08C1500EFD1466 +:1024DC002BC0F690C1500CFD142BC0CC00008B4CC3 +:1024EC0004DE2631245F02EFFA71125FEA308B5062 +:1024FC0010D605C15010C18BD6044000C1506CFDE4 +:10250C00AC031006615900EFD550A5FD4002EA302E +:10251C00AA48318D12AA48318E616B08616A08C1D4 +:10252C00500EFD142BC050A5FD40025004C1506C40 +:10253C00FDDC02C0629C05EA308A4B4E0561C30487 +:10254C008A4A4E0517A1C15004C1500CC1506CFDF4 +:10255C00AC031006F6C1503EFD142BC01006C6D7B6 +:10256C00C78F07F94B2861F8ED15264009F928DECD +:10257C0006A009F9ED1526F509F98D289F07F98DA7 +:10258C00285070D612307351230480001231FF3161 +:10259C008E039F08F99FC4FBF68F08F97C804C953D +:1025AC00DC1C8F08F9318F241400EA30BDD8AA4402 +:1025BC00FDD30D1231FF318E03318F16EF1A8F08B8 +:1025CC00F9318F241400EA30BDD8AA46FDD30D1280 +:1025DC0031FF318E03318F16EA308A427217F303C2 +:1025EC001644000171FE61C836FF001701DE02F6C9 +:1025FC001617BD50C7500CFD142BC0D2DF078D2809 +:10260C009F07F9EF047100C8FBF2C6D7C72008FB7F +:10261C00F8FF4015F901DD064015F902DF1C17041F +:10262C000600FD0C2CD2DF0A8C069C058C079C0442 +:10263C00EF4ACC0563CC0400EF4217040600FD0CF6 +:10264C002CD2DD0F7100C8FB71035ECC050071024A +:10265C005FEF298C06318E318D080E07081C00BBEC +:10266C00EA308A4072ABFD260FBB8C019C05D1DF92 +:10267C0008CC0501CC0400EF038B9C041704060066 +:10268C00FD292CD2DD06CC06C8CC07008C069FC7D2 +:10269C00FB8C06318E318D080E07081C00BD2CAD4D +:1026AC002C4401A5DC09CC0364F6BF0AF9EF52AD4A +:1026BC002C220AF94401A0DC09CC031EF6BF0AF94E +:1026CC00EF3FAD2C44819DDC0BCC030A30F401BFF1 +:1026DC000AF9EF2DAD2C44019BDC0BCC030530F437 +:1026EC0001BF0AF9EF1BAD2C440191DC0BCC0300AC +:1026FC0030F401BF0AF9EF0971025F30F401BF0A2F +:10270C00F93132040C31245E08CC0564CC0400EFA2 +:10271C000D8C034E05DE078C039C05CC04008C0548 +:10272C009FC5FB8C049FC6FBFD992B8F0CF94E05A6 +:10273C00DD2B40C5FB0BDE06400CF90BDE1640C54D +:10274C00FB06DE06400CF906DE0AD5C5FBDF0ED50E +:10275C000CF9DD095020C15011FDA434C08FC5FB0C +:10276C009F0CF9FDD62B1008C6D7C7D832C1500222 +:10277C00FD492BC04016F90161F87120100550126B +:10278C00FD40028D326C0870C15002FD492BC050C7 +:10279C0003FD40028D326C1870C15002FD492BC0F4 +:1027AC005016FD40025003FD5A2B625C01D1DD1026 +:1027BC007170C9FB5002C15013FDA434C0F2EF017B +:1027CC00E2C6D7C75004FD5A2B625C03D1DD4050E2 +:1027DC0014FD662834C9FB895C9F998A0C7CFF50D8 +:1027EC00FF5C14D1DD228A0C7CFF5C147234CDFBAF +:1027FC0089616A997162075600316207058666D154 +:10280C00DFF7716307716B2734DCFB895CEB997123 +:10281C002810055002FD5A2BD2DD354016F901DF88 +:10282C0005500AFD40028D326C1070C15002FD49FA +:10283C002BC0E0FD4002D832C15002FD492BC050E4 +:10284C0033FD4002F0C15002FD492BC07178C9FB29 +:10285C00E0C15013FDA434C0C6D7C7C12004FBF897 +:10286C00FFCC02005004FD5A2B629C038C045C20AC +:10287C00D1DD0E8C036C019C038C026C209C02EF4E +:10288C00138C045C10D1DD0C8C035CFE9C038C025D +:10289C006C109C028C045C08D1DD0E8C036C029CC9 +:1028AC00038C026C089C02EF138C045C04D1DD0CCD +:1028BC008C035CFD9C038C026C049C028C03D1DDAC +:1028CC0005501AFD40028C0370C15004FD492BC009 +:1028DC008FC9FB5C9F728C03318E316D148C03316C +:1028EC008E314D616D08616C5C606162629FC9FBE9 +:1028FC008FD5FB7CFF50FF5E02D1DD278FD5FB7C93 +:10290C00FF5E027234CDFB89616A99716207CC015A +:10291C0000316207086159018C01D1DFF471630742 +:10292C00716B27F21006C6D7D9BDFBC15006FD4905 +:10293C002BC0D9BEFBC15007FD492BC0D7FD342994 +:10294C00F2D7C7711300711B20710303710205E0EC +:10295C00C15003FD492BC05013FD4002F0C150057E +:10296C00FD492BC0500FC1E0FD492BC0500AFD4062 +:10297C00027103055008FD4002501FC1E0FD492BB8 +:10298C00C05012FD40025003FD5A2B625C01D1DF96 +:10299C0003E2EF24F0FD5A2B629D2E3602F9C7504C +:1029AC0008FD312BC05003C1FD492BC071020371CE +:1029BC001A20FDF12AF429F2C6D75003FD5A2B62D6 +:1029CC005C01D1DD155014FD6628FDCF275014FD98 +:1029DC004002E0C15003FD492BC0711300711B2054 +:1029EC007103035014FD4002F0C1E0FD492BC0F00F +:1029FC00C15003FD492BC0D7C72004FBF8FFCC0204 +:102A0C00008D299C035010C150A4FDDC02C0629DB6 +:102A1C0029D439DD04F2EDCE2A8C037B295C08D154 +:102A2C00DD0F8D295C08D1DF05CC0210EF03CC0241 +:102A3C00208C037B295C04D1DD158D295C04D1DF4E +:102A4C00088C026C049C02EF068C026C089C028FB2 +:102A5C00C8FB5CF3728D295C0C6162629FC8FB8FB2 +:102A6C00D4FB7CFF50FF5E029C02D1DD1F34CCFBFB +:102A7C00896E0299716207CC0100316207086159B5 +:102A8C00018C01D1DFF4716307716B278D295C40D8 +:102A9C00D1DD095002C15012FDA434C08D295C0156 +:102AAC00D1DD08E0C15012FDA434C0717AFA8D2931 +:102ABC005C41D1DD0C5A29BED829C15010FD450509 +:102ACC00C0F21004C6D7FD7627F2D7FDCF27F2D778 +:102ADC00C78FDCFB7617FD6628664FDCFBDFF2F553 +:102AEC00DCFBF2C6D75064FD4002FD412C6261FB59 +:102AFC0071115EF171145E61DC70C15012FD4505FF +:102B0C00C0FD4A36CD3F03D7C7C1C1FBF8FFAC0AA5 +:102B1C00BB17C15002C18C0270C1506CFDAC0310CC +:102B2C00061004C6D7C7C1FBF8FFAC08C15002C1E0 +:102B3C008B70C1506CFD04031006C0C6D7C7880645 +:102B4C00166770C1C75084FD76031004C6D7C7162C +:102B5C00C75084FDDC02C0C6D7C74A2004DE045629 +:102B6C0000EF0256014016F901DF048686EF0A4099 +:102B7C0016F902DF045104610666318F12504CD6EF +:102B8C0033514CD6610A040A20BD30C6D740C5FB70 +:102B9C0051DC05CF1CFC0FD740C5FB33DC05CF1C2B +:102BAC00FC0BD740C5FB0BDC05CF1CFC07D740C585 +:102BBC00FB0661D831320405CF1CFC03D7D5C5FB0D +:102BCC00DD04E51CFCD7F51CFCD7D512F9DF04712C +:102BDC00635ED7FD412C6261FB71715E71145E7195 +:102BEC00775E61C831625E1771625E71745E7111DD +:102BFC005EF171745E61DC70C15012FD4505C0D789 +:102C0C00C7164010FCFFDD0C8F10FC9B1714CA017B +:102C1C0000F2EF07C75004FD312BC0C6D7C71640D2 +:102C2C0011FCFFDD078F11FC9BF2EF07C75002FD73 +:102C3C00312BC0C6D740C5FB0BDE02E2D7F2D771F1 +:102C4C0000010571785005713AD5713BD1713BD9B2 +:102C5C008F10055CFC9F1005CF54054AE5420571A9 +:102C6C0010420571004205714850057130500571D4 +:102C7C00205005CF530505CF52050A71305105710F +:102C8C00205105713BD5717050058F11055CFC9F6F +:102C9C001105F422D77178500571080105D77140E0 +:102CAC00F00071783002713AE6713BE2713BEA71E7 +:102CBC003BEE8F10055CFC9F1005CF34024AE552A9 +:102CCC00FF711A52710A5271483002713030027120 +:102CDC00203002CF330205CF32020A71303102713B +:102CEC003BE6717030028F11055CFC9F1105716021 +:102CFC003002D7717830027148F000D7C7880616B9 +:102D0C0066614FDD0967614EDE0396EF01866672E0 +:102D1C00C6D7C7161714AA0412A943DD29AA041290 +:102D2C00A923FD744EC3AC02FD744E13C2BDD8135F +:102D3C00FDA30FDE0C1714AA0212AA0403BA04EFA7 +:102D4C00051714A9BA04AC041231FF319E03317F6C +:102D5C00087208C6D77100F200304400BFB60130CB +:102D6C000188BF9001300984BF9E01BF9C01BF9AAE +:102D7C0001BF9801BF9601BF9401BF9201F53CFFC2 +:102D8C0030FE00BFBE01F6BFBC01BFB80150EEBFA4 +:102D9C00BA01A1BFB201C918FE00F6BE6EBE64BE78 +:102DAC006A7123047153078F14F9310507F5E3FB9E +:102DBC00CB6CFF0071535F71425FD730EF00BFB433 +:102DCC0001F6BFBA017108F2007123047153077147 +:102DDC00435FD78F9AFBB09AFBD1DF7331D4D10606 +:102DEC00715BD1E59CFBD59CFBDD347140C8FBD9F4 +:102DFC009BFBF1E734020023DD0625DD0325DF050F +:102E0C00F6BE66EF06D9E2FBF1BE66A09BFB409BCB +:102E1C00FB20DF06F59BFBB09CFBCF9AFB19D7CFB1 +:102E2C009AFB1E7148C8FBD5E4FBDF04F6BE66D7DF +:102E3C00D9E2FBF14266FFDD16D9E2FBF112AE6678 +:102E4C0043DE05A266FFEF03B266FFCF9AFB03D702 +:102E5C00C7161714F6B9AA0412F6231231FF31AEB5 +:102E6C0003316FBA02C6D7C7C1FBF8FF8C0850807C +:102E7C00D612AB1413B9AB14AA0412A92312D93766 +:102E8C00FBF133BDD813FD0F0EBA02C0C6D73164A7 +:102E9C005F01D74012F902DF10F6BE64BE6EBE6A47 +:102EAC00BFA4FBBFAAFBBFB0FB31545F1530A0FB26 +:102EBC00FD5C2E30A6FBFD5C2E30ACFBFD5C2EEDDC +:102ECC004E2F31745F0F71735F7108E8FBF59EFB39 +:102EDC00F59DFBEF6DD59DFBDF658F36FB9F9DFB55 +:102EEC00409EFB1FDC1A7100E8FB4038FBFFDD2223 +:102EFC00A09FFB8F38FB4F9FFBDE17F59EFBEF125D +:102F0C00D99EFBF1A1605C1F9F9EFB7108E8FBF54D +:102F1C009FFBE99EFB093AFB70C130A0FBFD732EB1 +:102F2C00C0E99EFB095AFB70C130A6FBFD732EC095 +:102F3C00E99EFB097AFB70C130ACFBFD732EC0B06F +:102F4C009DFB30A0FBFD1E2DF313BE6E30A6FBFDCA +:102F5C001E2DF313BE6A30ACFBFD1E2DF313BE64A5 +:102F6C00D7C736F00071F4DC297170F000CE9D08E3 +:102F7C00CE9EC0CE9F80F594FFF593FFF592FFE5B2 +:102F8C0097FFE596FFE595FFE598FFCE9C7F7100D6 +:102F9C00BCFB711BE3712BE3711AE7712BE7717AA0 +:102FAC009D710A9E31929E02EFFA710B9E71036025 +:102FBC00711360712360C6D7C73102601E71026045 +:102FCC00710A9E31929E02EFFA34EAFB3692FF525E +:102FDC00078B99A5A792DFF9710B9EC6D7C78806F8 +:102FEC001631126015711260C734B2FB3092FF16A5 +:102FFC0052078B99A5A792DFF9C666736718B2FBC7 +:10300C00C6D7C77103603114601E711360710A9EBC +:10301C0031929E02EFFA3492FF36B2FB52078B9933 +:10302C00A5A792DFF9710B9E312460137123607197 +:10303C007B9E8FF2FB9E9A8FF3FB9E9B717A9EC6B2 +:10304C00D7CFBDFB5CCFBEFB5FCFDEFB5DCF12FCF1 +:10305C0036CF13FCC9E5E9FBD7C7CFBAFB12F5BBDA +:10306C00FBCFE2FBFFF5E3FBF5E4FBF5E5FBF5E657 +:10307C00FB5600664C64DE08723836FB0086EFF3B4 +:10308C00C6D7C788061617F1E73403002361E3EDB2 +:10309C00D4332361F8ED7F31B12361E3ED89312520 +:1030AC0061F8ED9831B1240D0061D8EDD433240BC7 +:1030BC000061F8EDB9312361F8ED00322361F8EDD0 +:1030CC00CD312361F8ED983324060061F8ED6932B7 +:1030DC00B12561D8ED853224000061F8ED923223E0 +:1030EC0061F8EDD4332361F8EDB233B12361E3ED34 +:1030FC00B5322361F8EDC6322361F8EDD732236186 +:10310C00F8EDC6322361F8EDE8322361F8EDF932BF +:10311C002361F8ED08332361F8ED2A332361F8EDD0 +:10312C0036332361F8ED42332361F8ED4B3324023F +:10313C00002361E3EDD43324020061F8ED54332312 +:10314C0061F8ED61332561F8ED6D33B12406006152 +:10315C00D8EDD43324000061F8EDD7332561F8EDB8 +:10316C00793324120061F8ED93332361F8ED843345 +:10317C00EDD83334BCFB89615F99EDE533304929D7 +:10318C00FDF13866736718BAFBEDE53340BFFB6A97 +:10319C00DF1440C0FB68DF0E674C6CDF09304C421B +:1031AC00FDF138713AD5679FC1FBEDE53367D1DD91 +:1031BC000D30323DFDF13834DAFB89616F99EDE564 +:1031CC0033675C02D1DD0830D22AFDF138EF0C6791 +:1031DC005C01D1DD0630D72AFDF138675C3CD1DDCE +:1031EC001030DC2AFDF138675C3C7266736218BAE9 +:1031FC00FBEDE53367D1DD625C01D1DD0530080004 +:10320C00EF01F6609F19FC675C02D1DD03E6EF016C +:10321C00F63419FC89616899675C04D1DD04E6A178 +:10322C00EF01F63419FC89616899675C08D1DD05FA +:10323C00302000EF01F63419FC89616899675C1045 +:10324C00D1DD05301000EF01F63419FC8961689965 +:10325C00675C20D161E8716019FCEDE533D434DF93 +:10326C0008679FE3FBA434EF0D4A3405DE08E8340D +:10327C0067181DFDA434EDE533675C0F726673624D +:10328C0018BAFBEDE5334A3464DE1B4A3401DF0621 +:10329C0067D161F85701E834671836FBA4344A3417 +:1032AC000561C871725FEDE533675C7F70C117F122 +:1032BC00243000FDE92FC0EDE533675C3F70C1178A +:1032CC00F1243000FDE92FC0EDE533675C0770C1D8 +:1032DC0017F1243000FDE92FC0EDE533675C1F705A +:1032EC00C117F1243000FDE92FC0EDE5336770C143 +:1032FC0017F1243000FDE92FC0EDE533CEABAC71F6 +:10330C000A9E31929E02EFFAD592FFDF05710B9E59 +:10331C00EFED679E99710B9E9FF1FBEDE5337122EA +:10332C0060675C7F9FF2FBEDE533712260675C3F69 +:10333C009FF3FBEDE533675C3F9FF4FBEDE53367F3 +:10334C005C1F9FF5FBEDE53330FE3AFDF138679FCE +:10335C00FAFBEDE53330B93AFDF138679FFBFBEF33 +:10336C007830DB3AFDF138679FFEFBEF6C675C0150 +:10337C00D161E8FD2645EF614A3AC8DE08E83A67B4 +:10338C001868FAA43AEF52679D3AEF4D67318E24D4 +:10339C007000DD0D240200DF4030F108FDF138EF44 +:1033AC0038FD2044EF33675C01D1DD05711202EF6B +:1033BC0003711302675C02D1DD05712202EF037108 +:1033CC002302679FE9FBEF1100EF0E00664C5BDEFA +:1033DC0007736718BAFBEF0100C6D7C716664C30E7 +:1033EC00DC094C37DE05FDC42FEF6E664C02DF1F87 +:1033FC008FBCFB5C03728F1BFC5C03318E316D0840 +:10340C00616A08128F1BFC5C80312A6162EF59667D +:10341C004C3DDF0AAE90BF16FCF916FCEF4A664C29 +:10342C003EDF05F917FCEF40664C4FDF05FD4E45BE +:10343C00EF36664C61DF08E83A0968FA72EF2966E4 +:10344C004C7FDF05FDA83DEF1F664C4EDF0B316452 +:10345C0061045210EF12F2EF0F664C5BDC0452FF6A +:10346C00EF06667309BAFB72C6D7C788061617F142 +:10347C00241000240500DC07244C00DD17EF177125 +:10348C007BFA17F104BAFB1489617F99717AFA718E +:10349C003260EF02A43AC6D7C7C1C1FBF8FF401295 +:1034AC00F903DD064012F904DF2F8C027309C2FB0D +:1034BC005E0AD1DF248C02318E04BAFB14896E0AA9 +:1034CC0099716207CC0100316207086159018C01C6 +:1034DC00D1DFF4716307716B271004C6D7CF1BFCC7 +:1034EC0003F519FCF51DFCF51FFCD7C7880616174C +:1034FC00F1E734020025DD3D23DD1725DD1C23DD3E +:10350C000523DD2BEF3B716260679F1EFCCD3F03F3 +:10351C00EF2F675C839F1BFCEF27675C039F1DFCF1 +:10352C00675C034C0261F8710262FD4147EF126760 +:10353C009F1FFCEF0C6791DF08E0C15012FDA43413 +:10354C00C0C6D7C71617F1E7240000DD2A23DD1EFD +:10355C00240300DD0724FB00DD24EF253112620576 +:10356C00308000EF01F6086F1CFC7208EF198F1900 +:10357C00FCF519FC72EF107142615235EF09F2EF54 +:10358C000666730918FC72C6D7C71617F1E7240034 +:10359C0000DD38241000DD1C23DD1C23DD30240E5F +:1035AC0000DD18241100DD1B240F00DD1224300077 +:1035BC00DD15EF1EE2EF1D5202EF195204EF15520A +:1035CC0006EF115205EF0D5207EF09F2EF06520309 +:1035DC00EF0252FFC6D7C7314460377143608D3E4E +:1035EC009FC2FB8D3D9FE1FB36FCFCC7D83DFD9F88 +:1035FC0037618A70618AFDE437C0D842F1312F609F +:10360C009D418D3C4B41DD0A7152608D419D3CCDFD +:10361C003F034A3F05DE09305436FDF138CD3F6B90 +:10362C00B43F7150F000CE300BCF170006CE3106F0 +:10363C00FDB802717A30710BE3710BE7C6D78D417F +:10364C009D3C8D419FC3FBD74012F903DF0640120E +:10365C00F904DF02F2D73154600D7153607173605D +:10366C008D419F28FCEF3831646023716360717267 +:10367C0060D51EFCDF05F529FCEF0B8F1EFC5002FC +:10368C00D6A1609F29FC8F29FC9F28FCEF11317477 +:10369C0060088F29FC9F28FCEF058D419F28FC8F2B +:1036AC0028FC9FC3FBD928FCFDC736E928FC09DAA6 +:1036BC002170C15013FD4505C0F2D7C7C1C1FBF83D +:1036CC00FF8C02D1DF05F51EFCEF1A8C024C05DED7 +:1036DC0006CF1EFC02EF0E8C02318E1231FE03312E +:1036EC001F609F1EFC8F2AFC4F1EFCDD29CC011F86 +:1036FC008F1EFC9F2AFCCC00008B4C08DE148B73B5 +:10370C00091A224F1EFCDC058B9C01EF0561590048 +:10371C00EFE78C019D401004C6D7C7168B728C0145 +:10372C00614ADE1F8B728C02614ADE138C01728C33 +:10373C0002614ADE058C0172EF268C0272EF218B3E +:10374C0072EF1D8B728C02614ADE048B72EF118C4E +:10375C0001728C026142DE058C0172EF038C0272E5 +:10376C00C6D7C716710AE7710BE37150F000CE3063 +:10377C000BCF170006669E31FDB802717A30710BC3 +:10378C00E33182E302EFFA8D1F7158F000710BE701 +:10379C0072C6D7C7C1C1FBF8FF8F12FC4E02DC0307 +:1037AC00F2EF318C024F13FCDC0452FFEF268C023B +:1037BC002F12FC706131318D128F13FC2F12FC70A3 +:1037CC00613133BDD813FD310EBB440001DC03F66F +:1037DC0090BB8B721004C6D7C7C1FBF8FFAC0814A2 +:1037EC00A91489708B6128706131FD744E134403E8 +:1037FC000071FEDC23AC08148A04819A04AC081412 +:10380C008A044C11DC10A9148B99AC0814CA020060 +:10381C00AC0814CA0310EF72AC0814CA0400AC084C +:10382C0014A914894DDE0AAC08148A02819A02EF9D +:10383C0012AC0814A914894D61D308AC08148A027F +:10384C00919A02AC08148A03919A03D1DF3CAC081C +:10385C00148A024C10DF10A91489318EA112AC0805 +:10386C0014A9146299EF17AC08148A024CF0DF0EFD +:10387C00A91489318EB112AC0814A9146299AC0840 +:10388C0014CA0200AC0814CA0310C0C6D7EDDC3849 +:10389C00717BFAC7D44461F83104612E71046171F3 +:1038AC002161710361D444DD05B444CEABAC717AB3 +:1038BC00FA5600664C0ADD1272F3311C7902FDCE09 +:1038CC00FC0061CAFD3B3986EFE9717AFAF2C6D782 +:1038DC00C75600664C0ADE0BF0317E12F6782CFCD3 +:1038EC0086EFF0C6D7C7C1C1FBF8FFCC01008C0135 +:1038FC004C0ADE36717BFA8C01F0317E042CFC1400 +:10390C00A96168DF09AC02B9717AFAF2EF1D8C017A +:10391C00F0317E12792CFC614902DF06717AFAE2F1 +:10392C00EF09717AFA615901EFC4E21004C6D7C7E6 +:10393C002004FBF8FFF6422CFC61F8ED1D3A717B7C +:10394C00FA9C038C034C0ADE3C8C03F0317E042C75 +:10395C00FC14A96168DF05717AFAEF29717AFA8C87 +:10396C000372F3311C792CFCCEFC0061CA629C0200 +:10397C00D1DF0A8C03F0317E12E6782CFC717BFAD5 +:10398C00615903EFBECC0200CC01018C02F0317EF8 +:10399C00042CFC14A96168DD788C02F0317E12795C +:1039AC002CFCE743DF658C014C0ADE5F8C01F031A7 +:1039BC007E12792CFCE743DD4D717BFA8C01F031E2 +:1039CC007E042CFC14A96168DF186169018C01F07C +:1039DC00317E12F6782CFC8C024E01DCED717AFAF9 +:1039EC00EF2F8C01F0317E042CFC14A9128C02F008 +:1039FC00317E33782CFC8C01F0317E12E6782CFC75 +:103A0C00615902717AFA615901EF9B615902ED9784 +:103A1C003900F21004C6D7C7200CFBF8FF170406B8 +:103A2C0000C15006C150A8C15030FD04031006D28D +:103A3C00DD1DA040FC4040FC08DE03E2EF6B34FAD5 +:103A4C00FB895CFC99FDFE3A7110C8FBF2EF5A3011 +:103A5C000600C117040600C130FFFBFD7C4E1004AC +:103A6C00F540FC8FFAFB5C01D1DD264012F903DF37 +:103A7C00205010C180FDA434C0C736100571D4C6C7 +:103A8C00DE0F17C15006C150A8C15030FD04031001 +:103A9C00064012F901DD114012F905DD0B8FFAFB1E +:103AAC005C02D161E8FD5142F2100CC6D7D9FBFB88 +:103ABC00C15030FDDC02C0629FFEFB7130CBFB8F2E +:103ACC00D3FB5C08D1DF06716307716B27F2D7D982 +:103ADC00FEFBC1D9FDFBC15030FD760310047130E3 +:103AEC00CBFB8FD3FB5C08D1DF06716307716B27AF +:103AFC00F2D7C7200AFBF8FF500FC15030FDDC0293 +:103B0C00C04A3902DF077110C8FBF2EF5F7118C8A9 +:103B1C00FBCC07004015F901DF05CC0802EF03CC04 +:103B2C000810CC09808FFAFB5C03D1DF08717AD5C1 +:103B3C00CC0607EF06717BD5CC062F17040600C107 +:103B4C005004C150A0C15030FDAC031006C7361054 +:103B5C000571D4C6DE154012F903DF0F17C15006EC +:103B6C00C150A8C15030FD04031006F2100AC6D78C +:103B7C00D512F9DF06F6BD46F544FCD544FCDD0450 +:103B8C00B044FCD7CF44FC048F12F9318FE723DD0E +:103B9C000B24020024030061C8EDA13C8F14F93101 +:103BAC00233E301B004646DF0AE0C15010FDA43412 +:103BBC00C0EF1D3077014646DF165002C15010FD94 +:103BCC00A434C0F6464CDF088FDEFB5010D6BD4C3B +:103BDC00F6464CDD36B64C464CDF3071025FEF2BAF +:103BEC00301B004646DF13F6464EDF18E0C150107E +:103BFC00FDA434C0C94E5307EF0A30770146466125 +:103C0C00F871025FF6464E61E8B64E3134620871C7 +:103C1C003361F6BD46EF1431346105F6BD46EF0B4A +:103C2C00A646F6464661F8C946FFFF314262194A7C +:103C3C004805DE16A4484A4805DF0FA4485004C1C5 +:103C4C005010FDA434C0EF02F448314462194A4AC2 +:103C5C0005DE16A44A4A4A05DF0FA44A5008C15093 +:103C6C0010FDA434C0EF02F44AD44BDD03B44BD79F +:103C7C00315262174A4905DE14A4494A4905DF0D41 +:103C8C00A4495010C1FDA434C0EF02F4494A4906BE +:103C9C0061F8CD4B25D7C736100571D4DE0730231C +:103CAC003AFDF138D24012F903DF1D3122070630FC +:103CBC00042AFDF1383144610C7143615080C150CC +:103CCC0012FDA434C0FDD93CFD043DC6D78F1BFCAE +:103CDC005C01D1DD22D547FCDD04B047FCD7CF47D2 +:103CEC00FC098D404F46FCDD0E8D409F46FC50403C +:103CFC00C15012FDA434C0D74012F903DD04F6BD47 +:103D0C001AD7D5E6FBDF08F6461ADD19B61AD7D94D +:103D1C00E2FBF1461ADD0ED9E2FB12AD1A43DE03CB +:103D2C00A61AD7B61AD7717BFAC78FDAFB76F5DAF3 +:103D3C00FB717AFA5C10D161E8715261665C0FD14B +:103D4C00DD57665C01D1DD05F512F9EF4C665C02BE +:103D5C00D1DD11E0C15003FD492BC0711300711B63 +:103D6C0020710303665C04D1DD11711300711B20FB +:103D7C00D51BFC61F8710303FDE934665C08D16165 +:103D8C00E87103035005FD40027102035003C1FDAD +:103D9C00492BC0711A20FDF12AF2C6D7C72014FB9B +:103DAC00F8FF4A3413DC0552FFEDB73E8F14F9319E +:103DBC001505300400EF0F8F14F93145053005005F +:103DCC00EF04D915F9F1609C018D2E9C028D209C7D +:103DDC00038F02F99C048F03F99C058D509C068D72 +:103DEC00289C0771345EE661301271045E61DC312F +:103DFC00196162629C08CC09018F16F99C0AF17159 +:103E0C00240461DC9C0BAE6C609C0CAD1A609C0DA8 +:103E1C00AE6E609C0EAE6A609C0FAE64609C10F13E +:103E2C0071540761DC9C11AE66609C123114020562 +:103E3C00308000EF01F6C131246205304000EF0103 +:103E4C00F6C2616B08616A08C13134040530200088 +:103E5C00EF01F6C2616B08616A08C13124020530BA +:103E6C000800EF01F6C2616B08616A08C131546247 +:103E7C0005300400EF01F6C2616B08616A08C131BC +:103E8C00446204E6A1EF01F6C2616B08616A08C1E5 +:103E9C0031346203E6EF01F6C2616B08616A9C1370 +:103EAC00A434D834F1B107A11489721014C6D7C741 +:103EBC00FD76098F12F9318FE724000061F8ED8649 +:103ECC004023DD1B2361F8ED903F2361F8ED0C409E +:103EDC002361F8ED55402361F8ED3541ED83404009 +:103EEC0013F901DF29F64646DD05F516FDEF03A0B3 +:103EFC0016FD4016FD65DC0CF6BD46F512F9710297 +:103F0C0061EDC541AD4644060061D8EDC541713245 +:103F1C0061FDCE0471535EFDB1234015F903DF0939 +:103F2C00710261F512F9EDC541FD182640C7FB9BE6 +:103F3C00DE09710261F512F9EDC541714A27714034 +:103F4C00110571301105713A22715A227150110507 +:103F5C00FD4E29D2DD09710261F512F9EDC54171F1 +:103F6C00103500CF37001D714012054013F901DFE9 +:103F7C0005F5E3FBEF04CFE3FB03CF12F902FD34AD +:103F8C0029EDC541FD4B2CFDAA2C714A9DFDE93450 +:103F9C00FD6530F537FF712BE0F513F9710261CB3C +:103FAC00E43FEFCBE6F6F0FDCE04713BD471120288 +:103FBC007123028F14F93105285004FD5A2B625CD1 +:103FCC0003318E315D34C9FB896168995002FD5A09 +:103FDC002BD2DD067170C9FBEF047178C9FBFDB102 +:103FEC0023FD612D710814F9CF12F9038FBCFB5C12 +:103FFC0002D1DD095080C15010FDA434C0EDC54183 +:10400C00FDC7413154612FA452D452DD0831A4E0D4 +:10401C000A31020C06712BE0FD3D4231A4E0173150 +:10402C00040C13712BE05027C15005FD492BC0CF58 +:10403C0012F904710261FD32428F14F931250731F6 +:10404C00146203F512F9EDC541FDC74131020C14A0 +:10405C00F0C15005FD492BC05005FD4002FD3D420D +:10406C00CF12F903FD32428F14F931250731146256 +:10407C0003F512F9EDC541F512F9CFE3FB03F5E4B5 +:10408C00FBF5E6FB71525FF6426CFF61E8EDC54152 +:10409C00F6BD4C71035FF5FAFBFDFE3AFDC72DFD35 +:1040AC00A12CFDFF2C714B9D711302712302F5CADB +:1040BC00FBF5CBFBF5CCFBF5CDFB31245F02EFFA26 +:1040CC00CE3708CBE4BFFFCBE6FFF3CED4FFCF3720 +:1040DC00000971481205F6BEE0BEE2BED0716A2737 +:1040EC00FDC629714307714B2771481005714811A2 +:1040FC00057138100571381105713302713B22714D +:10410C005302715B227158100571581105CF12F9C9 +:10411C0005713261F6BD46F50CFCF50EFCCF14FCB6 +:10412C00FFCF10FCFFCF11FCFFF513F9F516FD3195 +:10413C0012622EFDB123AD4644070061C8E512F9A9 +:10414C00D515F961E8FD2B058F14F9312511F50E04 +:10415C00FCF50CFC502EFD4002E513F9E512F9EFCD +:10416C0058D42ADF54FD2B05FD4A2371730171329B +:10417C000471430271035E71525E31949E02EFFA38 +:10418C00712AE7CEA409F5F3003114620261FDF443 +:10419C0044FD7609E5F300CEA40831126206CF1275 +:1041AC00F905EF09713361E513F9E512F9712BE7A4 +:1041BC008F14F9312503F512F9C6D7D548FCDF1A4F +:1041CC00310200155003FD5A2B625C01D1DF07F55B +:1041DC0012F9710261D7E548FCD74048FCF0DF08C2 +:1041EC0031040041F548FCD74048FCC8DF0BF51200 +:1041FC00F9710261CF48FCF0D73102000A4048FC4B +:10420C00FFDD22A048FCD7F0C15004FD492BC08F24 +:10421C00C9FB5C9F9FC9FB7110DAFB30323DFDF18D +:10422C0038CF48FCF0D731045F06F512F971026102 +:10423C00D7715361F452717207FDB802717307D7CD +:10424C00FD8C05F2D7717BFAC7200CFBF8FF8F00B1 +:10425C00FCF0F9FFFBF303FD744E13BC048F02FC5E +:10426C00F0F901FCF303FD744E13BC028F04FCF057 +:10427C00F903FCF303FD744E13BB717AFAAC04BD65 +:10428C00D8F6BDDAAC04311EBDDCF6BDDEFDE40DA6 +:10429C00ADD8BDDCADDABDDEAC02BDD8F6BDDAAC56 +:1042AC0002311EDADCC3DADEC3BDDCF6BDDEFDE4B2 +:1042BC000DC0BDDEC0BDDCADDEFD5A0FADD8BDDC22 +:1042CC00ADDABDDEABBDD8F6BDDAAB311EDADCC380 +:1042DC00DADEC3BDDCF6BDDEFDE40DC0BDDEC0BD67 +:1042EC00DCADDEFD5A0FDADAADD8FD3C46C3C58F26 +:1042FC00E2FC5C3FF0317E0462FC14C2C0B9A0E267 +:10430C00FCF6BC08BC0A9C078C074C2EDD3E8FE2E9 +:10431C00FC0E0770F161DC605C3FF0317E1279625B +:10432C00FCBDD8F6BDDA8C0773092422318FBDDCB5 +:10433C0070BDDEFDE40DAC08BDDCAC0AFD5A0FAD62 +:10434C00DABC0AADD8BC08615907EFBCAC08BDD8C3 +:10435C00AC0ABDDAC9DC0004F6FDAE0EC9DCFFFF09 +:10436C00F6FDAF0FADD8BF5CFCAF56FC425CFCDD7C +:10437C0012AF58FCBF5AFCAF56FCBF58FCAF5CFCEC +:10438C00BF56FCAF58FC425AFCDC50AF56FC4258AE +:10439C00FCDE48AF18FD4256FCDE40401CFD16DC2E +:1043AC001F401CFDA0DE168F5EFC4F1CFDDE0EAF09 +:1043BC0056FC2260FC44691061C8FD2044F51CFDCC +:1043CC00AF56FC445146DC0BAF56FC241027BF1AE9 +:1043DC00FDEF1130F82ABF1AFDEF09401CFDFF61FB +:1043EC00E8A01CFDAF5AFC4258FCDC1BAF58FC4249 +:1043FC0056FCDE13AF56FC421AFDDE0BF55EFCAF2D +:10440C0056FCBF60FCEF09405EFCFF61E8A05EFC5F +:10441C00100CC6D7717BFAC7710A9E31929E02EFBF +:10442C00FA8E949F50FC8E969F51FC8E979F52FC57 +:10443C008E989F53FC8E939F54FC8E929F55FC71CB +:10444C000B9E717AFA8F53FCFDC30F76FDBA4513A0 +:10445C00BD58D505FCDF0AD506FCDF05D507FCDD0C +:10446C0025F6B14658DF11C9583722665C0391DF37 +:10447C00060A58181A59009617FDDD4613FDF84424 +:10448C0031646102EF61520692926950FC684AFCF9 +:10449C00DFF6AD58BD56F854F3311C7918F944FECB +:1044AC00FFDD44D854F1010418F914A944FFFFDFCF +:1044BC0004E6B9EF0BD854F1010418F914A9A1B909 +:1044CC00717BFAA005FCD505FCDF1CA006FCD5060B +:1044DC00FCDF14A007FCD507FCDF0CCF05FCFFCFDD +:1044EC0006FCFFCF07FCFFC6717AFAD7C716D85463 +:1044FC00F10744A800DC05716261EF1CF647DD187A +:10450C00A4544A54A8DC05716261EF0CF854F331E1 +:10451C001CF67818F9B7EFE4C6D7C756A89666F01C +:10452C00317E12F6B17818F966D1DFF1717BFAF5AC +:10453C0005FCF506FCF507FCF454716361C6717A51 +:10454C00FAD7C72004FBF8FFD434DF178D549FE350 +:10455C00FC717BFA52069292694AFC68E4FCDFF625 +:10456C00717AFA4A3406DE0EE83409E4FC9C03A4A2 +:10457C00348C0372EF34F9E3FCF3311C7918F9BB7A +:10458C00317261058B9C03EF128C019C03D5E3FC0B +:10459C00DF06CFE3FCA7EF03B0E3FC71807177611A +:1045AC0061DC61FB7171618C03721004C6D7C7208A +:1045BC0008FBF8FF8F53FCFDC30F9C078F52FCFDCB +:1045CC00C30F9C068F51FCFDC30F9C058F50FCFD47 +:1045DC00C30F9C048F54FC9C038F55FC9C028C06CF +:1045EC00318E0112795222BB8C075C03D1DF098C0E +:1045FC00064C0361C86179008C05318EB1610900EC +:10460C00BB313D120103BB8B0E04708C011C00BB33 +:10461C008F0AFC4E03DC0E8C034F0AFCDC0B8C0265 +:10462C004F0BFCDC04AB12EF03ABB1121008C6D776 +:10463C00C7C3C12008FBF8FFF661490A61F861495C +:10464C0008DF07F7340000EDD946E6BC04F6BC06DB +:10465C00AC0ABC02AC08BBAC06614902AC0461F804 +:10466C00614900DE28AC04BDD8AC06BDDAE1FD69B9 +:10467C000FADDABC06ADD8BC04ABBDD8AC02BDDA0C +:10468C00E1FD840FADDABC02ADD8BBEFCAAC06BC01 +:10469C0002AC04BBAC08BDD8AC0ABDDAAC04BDDCC2 +:1046AC00AC06FDE70EAC04BDDCAC06FD5A0FE1FD1B +:1046BC00840FADDABC06ADD8BC04AC06614902ACC3 +:1046CC000461F8614900DCC5AC0214AB12100CC6D5 +:1046DC00D7C7C12004FBF8FF8F4DFCFDC30F9C0313 +:1046EC004E04DF1CAD564658DE07AD58265612EF69 +:1046FC0040F64658DF074656DD03E7EF34F7EF3157 +:10470C008C04318EB1128C03318E43DF1830382279 +:10471C0026560658BB8C045C0391DF05AB041800CD +:10472C00BBAB12EF0C8C034E04DE0532A900EF017B +:10473C00F71006C6D7717BFA31026209F6465ADDCC +:10474C0004B65AEF7C710362717AFA4012F904DFF5 +:10475C0007715307F424EF69D9E5FBF1E724000056 +:10476C00DD0F23DD1A23DD1023DD5323DD2723DDAD +:10477C0038715307F424EF49715207F424EF42D4F3 +:10478C0024DF07715207E424EF05715307F424C9A1 +:10479C005AFA00EF2CD424DF0B715207E424C95AC7 +:1047AC00FA00EF1DF5E5FBEF18D424DF0B7153076E +:1047BC00E424C95AFA00EF09CFE5FB02EF03FDCE62 +:1047CC0047D7D91DFCF1E7240000DD0923DD2123A7 +:1047DC00DD0923EF1B715307F424D7D424DF0771B1 +:1047EC005207E424EF05715307F424C95A2D01D75D +:1047FC00715207E424D731425F01D771635FD9E36B +:10480C00FBF1E7240000DD1223DD1923DD1123DD8C +:10481C002623DD3423DD3923DD3FFD8E48EF3DFDBE +:10482C00AF48EF38D9E2FBC1AE6CFD082DC0F313D5 +:10483C00BE6C712304EF25F0C1AE6CFD082DC0F3E6 +:10484C0013BE6C712304EF14F6BE6C712204EF0CD2 +:10485C00CB6CFF00712304EF03FD23494012F905D3 +:10486C00DD064012F901DF0671230471635F3164C8 +:10487C005F0FF6BE64BE6A31220402EF02F690BEF0 +:10488C006ED7CD2647F45CAE6C317DBFF0FCFDF8E5 +:10489C0048D2DF0ED9E2FBC1AE6CFD082DC0F3137C +:1048AC00BE6CD7FDF848D2DD0DCD2647F45CAE6C5E +:1048BC00317DBFF0FCD7E85C096C225080D6BFEC90 +:1048CC00FC22F0FCBDD8304700FD0F0EBFEEFC30D3 +:1048DC00ECFCFD1E2DF313BE6CB426D426DF0CCDE0 +:1048EC002647A45C4A5C1F61C8F45CD740C5FB0B2F +:1048FC00DC05712304F2D740C5FB0661D831225E7A +:10490C0011F0C1AE6CFD082DC0F313BE6C71220406 +:10491C00EF03FD2349E2D771625FF0C1AE6CFD0875 +:10492C002DC0F313BE6CA0F2FC40F2FC40DC3DF554 +:10493C00F2FCD9F3FCF1313F041EFD14D9F3FCF168 +:10494C00BDD85008FD5E0E087208E6D2DD04019257 +:10495C00DFFC896158D1DD05712204EF037123045A +:0D496C00A0F3FC40F3FC2061C8F5F3FCD77C +:1049790061FC61FCC1C3C5C7520C929269D4FEC1E6 +:10498900DFF88EFD708EFCC1717AFA4012F903DFEF +:104999000630042AFDF138C09EFC609EFD34D4FE29 +:1049A9005206C0B9A5A592DFF9C6C4C2C061FC61AF +:1049B900DF520C929269D4FEC1DFF88EFD708EFC35 +:1049C900C18F4105775C04D1DD06675C01D1DD50FB +:1049D900313460367162077133608FCAFB5FD2FB75 +:1049E900D1DF1B8FCBFB5FD3FBD1DF128FCCFB5FFA +:1049F900D4FBD1DF098FCDFB5FD5FBD1DD0C316253 +:104A09000702EFFA716307716B27717361FD0E304D +:104A1900F4227148500571605005717AFAED274BFF +:104A2900675C02D1DD17D422DD134A2202DD0E00B4 +:104A3900F4227148500571605005717AFA717AFA59 +:104A49008D22318FE7240000DD0823DD1423DD31B9 +:104A5900EF50F4347140500571505005E422ED27B0 +:104A69004B8F40059F0EF9715050058F0EF99F101D +:104A7900F9D90EF9FDE733629F0FF9CD2202ED272F +:104A89004B675C02D1DD18675C10D1DD05CD2203CF +:104A9900EF107148500571605005F422ED274BCD98 +:104AA90022044A2203DF138F0FF99F4005D90FF91A +:104AB900C1D90EF9FD7634C0EF228F4005768F0EED +:104AC900F901DC06400EF902DE0671605005EF4E71 +:104AD900C7D90EF9FD8E30C071505005D910F9F1C2 +:104AE900242900DD2A240400DD25242200DD2024D8 +:104AF9001100DD0C240100DD16241E00DD11EF0C70 +:104B0900400EF960DF09CF0EF961EF03A00EF94AF3 +:104B19002203DF0AD90EF9FDE733629F0FF9C09E20 +:104B2900FC609EFD34D4FE5206C0B9A5A592DFF9FA +:104B390061FCC1C7717AFA714AE5717BBD51405F69 +:104B49000401D1DD06F616A747DFF2300400BF24C1 +:104B590001F6BF2A01300B0BBF280100000000003D +:104B6900000000510FBF28010000000000000000F4 +:104B7900500FBF2801710AE671235FC6C061FCC1ED +:104B8900C5717AFAD438DD0BEA36899E44A636B463 +:104B990038EF33710AE6300400BF2401F6BF2A0159 +:104BA900300B0BBF28010000000000000000510F6E +:104BB900BF28010000000000000000500FBF2801BD +:104BC90071135F71235FC4C061FC61EF520C929253 +:104BD90069D4FEC1DFF88EFD708EFCC12006FBF89A +:104BE900FF71503002CEABACCC0100F6BC0231B241 +:104BF900E20F617902F6614902DFF371603002EF79 +:104C09007E8E519B713BE28B5C02D1DD1D8B5C0872 +:104C1900D1DF0971503002CC0100EFCF8C0570FD56 +:104C29004F35629E50CC0102EFC18B5C03D1DF404E +:104C39008E509C04715030028C01D1DF0E8C0470AF +:104C4900FD9535629C05CC0101EF318C014C02DFE9 +:104C59000671603002EF28CF34025A716030028C3D +:104C69000470C18C0570FDF734C0CF34024AEF0FD0 +:104C79008B5C01D1DD0671603002EF03EDF44B105E +:104C890006C09EFC609EFD34D4FE5206C0B9A5A59F +:104C990092DFF961FCC1C3C5C7520C929269D4FE77 +:104CA900C1DFF88EFD708EFCC1710A9E31929E02A1 +:104CB900EFFA8FF4FB4F96FFDF198FF5FB4F97FF44 +:104CC900DF118FF6FB4F98FFDF095004C15011FD2A +:104CD900A434C0710B9EC09EFC609EFD34D4FE526C +:104CE90006C0B9A5A592DFF9C6C4C2C061FCA44437 +:104CF90061FCC1C3C5C7520C929269D4FEC1DFF8E9 +:104D09008EFD708EFCC1C1FBF8FF8D1F9C018E3199 +:104D1900318EE7240600DD0823DD0E23DD22EF4E68 +:104D2900717AFA8C019D3EEF45717AFA4015F901C5 +:104D3900DF068C019D3DEF3651FF2E019D3DEF2E83 +:104D4900717AFA4014FCFFDF068C019D28EF058F6C +:104D590014FC9D288FC8FB5C01D1DF124012F903B6 +:104D6900DD064012F904DF06306C25FDF1384031CB +:104D7900FF09DE05A031FFEF137158F000714260A1 +:104D8900A02BFC402BFC0361C8F52BFC710BE3C085 +:104D9900C09EFC609EFD34D4FE5206C0B9A5A59202 +:104DA900DFF9C6C4C2C061FC61FF520C929269D49A +:104DB900FEC1DFF88EFD708EFCC1717AFA8FFAFBA5 +:104DC9005C03D1DD194012F903DD064012F904DF55 +:104DD9000D36100571D4DE0630233AFDF138C09E38 +:104DE900FC609EFD34D4FE5206C0B9A5A592DFF938 +:104DF90061FC61FC61FC61FC61FC61FC61FC61FCC2 +:104E090061FC61FC61FC61FC61FC61FC61FC61FCB1 +:104E190061FC61FC61FC61FC61FC61FC61FC61FCA1 +:0A4E290061FC61FC61FC61FC61FCAE +:0A4E340000060C12181E242A303666 +:104E3E000000C2FB0000000042FE000000007C3BB0 +:104E4E00E2358C220248DF2D9A2E4147A23CFF0804 +:0E4E5E00BB3E0000983AF82AFF005555555506 +:084E6C00FF00000000004700F8 +:104E7400317503F7332312D714AEF8C716AC0612F4 +:104E8400C5AC0416F643DD078B99A7A5B3EFF5C2AD +:024E9400C6D77F +:024FF4000200B9 +:0A4FF60031343A32343A3238000008 +:00000001FF + \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/bsr.lmf b/tags/SDK3.0(2.00)/bsr.lmf new file mode 100644 index 0000000000000000000000000000000000000000..b7a297fc9b6fa893bd223f7a0701092f02d59f5a GIT binary patch literal 176560 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 CZs>&o literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/bsr_k0r.map b/tags/SDK3.0(2.00)/bsr_k0r.map new file mode 100644 index 0000000..35ee013 --- /dev/null +++ b/tags/SDK3.0(2.00)/bsr_k0r.map @@ -0,0 +1,707 @@ + + + +78K0R Linker W1.33 Date: 2 Aug 2011 Page: 1 + +Command: -yc:\program files (x86)\nec electronics tools\dev -_msgoff - + obsr.lmf ..\..\..\..\Program Files (x86)\NEC Electronics Tool + s\CC78K0R\W2.13\lib78k0r\s0rm.rel -gi1B339499E033F240BFAAh -p + bsr_k0r.map -nkd -gb7EFBFFh -bC:\Program Files (x86)\NEC Elec + tronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib -bcl0rdm.lib -bc + l0rm.lib -bcl0rmf.lib -iC:\Program Files (x86)\NEC Electronic + s Tools\CC78K0R\W2.13\lib78k0r -dbsr_mcu.dr -s -w0 loader.rel + pm.rel i2c_ctr.rel main.rel magic.rel WDT.rel i2c_mcu.rel i2 + c_twl.rel led.rel rtc.rel vreg_ctr.rel vreg_twl.rel adc.rel r + enge.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 ta + sk_status.rel led_cam.rel led_pow.rel hal.rel +Para-file: +Out-file: bsr.lmf +Map-file: bsr_k0r.map +Direc-file:bsr_mcu.dr + + +*** Link information *** + + 67 output segment(s) + 3DE2H byte(s) real data + 6164 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 + LDR_CNSL 00002H 00000H CSEG PAGE64KP + LDR_CNSL hal 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 + LDR_CODL hal 000C4H 00000H + ?CSEGSI 000C4H 0000AH CSEG + LDR_CODE 000CEH 00976H CSEG + LDR_CODE loader 000CEH 00196H + LDR_CODE main 00264H 00054H + LDR_CODE WDT 002B8H 00000H + LDR_CODE i2c_mcu 002B8H 002D4H + LDR_CODE self_flash + 0058CH 00373H + LDR_CODE task_debug + 008FFH 00000H + LDR_CODE task_status + 008FFH 00077H + LDR_CODE hal 00976H 000CEH + FSL_CODE 00A44H 00322H CSEG + FSL_CODE fsl_block_cmd + 00A44H 0002BH + FSL_CODE fsl_block_check + 00A6FH 00013H + FSL_CODE fsl_common + 00A82H 0014FH + FSL_CODE fsl_reset + 00BD1H 00001H + FSL_CODE fsl_si_ibf + 00BD2H 00064H + FSL_CODE fsl_phySwap + 00C36H 0004DH + FSL_CODE fsl_si_common + 00C83H 00061H + FSL_CODE fsl_swap 00CE4H 00030H + FSL_CODE fsl_write + 00D14H 00052H + @@LCODE 00D66H 00277H CSEG + @@LCODE @cstart 00D66H 0006DH + @@LCODE @imul 00DD3H 00011H + @@LCODE @lumul 00DE4H 0002BH + @@LCODE @isdiv 00E0FH 00022H + @@LCODE @iudiv 00E31H 0002DH + @@LCODE @isrem 00E5EH 00021H + @@LCODE @iurem 00E7FH 0002FH + @@LCODE @lsdiv 00EAEH 00039H + @@LCODE @ludiv 00EE7H 0003FH + @@LCODE @divuw 00F26H 00034H + @@LCODE @ladd 00F5AH 0000FH + @@LCODE @llsh 00F69H 0001BH + @@LCODE @lursh 00F84H 0001FH + @@LCODE @iscmp 00FA3H 0000CH + @@LCODE @lband 00FAFH 00014H + @@LCODE @bcdtob 00FC3H 0001AH +* gap * 00FDDH 00019H + 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 00282H CSEG + @@CNST @cstart 0200AH 00000H + @@CNST loader 0200AH 00000H + @@CNST pm 0200AH 001D0H + @@CNST i2c_ctr 021DAH 00000H + @@CNST main 021DAH 00000H + @@CNST magic 021DAH 00000H + @@CNST WDT 021DAH 00000H + @@CNST i2c_mcu 021DAH 00000H + @@CNST i2c_twl 021DAH 00000H + @@CNST led 021DAH 00000H + @@CNST rtc 021DAH 00000H + @@CNST vreg_ctr 021DAH 00000H + @@CNST vreg_twl 021DAH 00000H + @@CNST adc 021DAH 00048H + @@CNST renge 02222H 00000H + @@CNST accero 02222H 00000H + @@CNST self_flash + 02222H 00002H + @@CNST sw 02224H 00000H + @@CNST task_debug + 02224H 00000H + @@CNST task_misc + 02224H 00000H + @@CNST task_sys 02224H 00000H + @@CNST pedo_alg_thre_det2 + 02224H 00048H + @@CNST ini_VECT 0226CH 00000H + @@CNST task_status + 0226CH 00000H + @@CNST led_cam 0226CH 00000H + @@CNST led_pow 0226CH 00020H + @@CNST hal 0228CH 00000H + ROM_CODE 0228CH 026EDH CSEG + ROM_CODE pm 0228CH 009BFH + ROM_CODE i2c_ctr 02C4BH 0005FH + ROM_CODE i2c_twl 02CAAH 0005EH + ROM_CODE led 02D08H 00265H + ROM_CODE rtc 02F6DH 000E0H + ROM_CODE vreg_ctr 0304DH 0049CH + ROM_CODE vreg_twl 034E9H 000F9H + ROM_CODE adc 035E2H 002B7H + ROM_CODE renge 03899H 0018AH + ROM_CODE accero 03A23H 00159H + ROM_CODE sw 03B7CH 00126H + ROM_CODE task_misc + 03CA2H 00219H + ROM_CODE task_sys 03EBBH 00396H + ROM_CODE pedo_alg_thre_det2 + 04251H 004F0H + ROM_CODE led_cam 04741H 000C1H + ROM_CODE led_pow 04802H 00177H + @@BASE 04979H 004BAH CSEG BASE + @@BASE loader 04979H 00000H + @@BASE pm 04979H 0003FH + @@BASE i2c_ctr 049B8H 00183H + @@BASE main 04B3BH 00000H + @@BASE magic 04B3BH 00000H + @@BASE WDT 04B3BH 00000H + @@BASE i2c_mcu 04B3BH 00098H + @@BASE i2c_twl 04BD3H 000CBH + @@BASE led 04C9EH 00000H + @@BASE rtc 04C9EH 0005DH + @@BASE vreg_ctr 04CFBH 00000H + @@BASE vreg_twl 04CFBH 00000H + @@BASE adc 04CFBH 000B6H + @@BASE renge 04DB1H 00000H + @@BASE accero 04DB1H 0004AH + @@BASE self_flash + 04DFBH 00000H + @@BASE sw 04DFBH 00000H + @@BASE task_debug + 04DFBH 00000H + @@BASE task_misc + 04DFBH 00000H + @@BASE task_sys 04DFBH 00000H + @@BASE pedo_alg_thre_det2 + 04DFBH 00000H + @@BASE ini_VECT 04DFBH 00038H + @@BASE task_status + 04E33H 00000H + @@BASE led_cam 04E33H 00000H + @@BASE led_pow 04E33H 00000H + @@BASE hal 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL @cstart 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL pm 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL i2c_ctr 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL i2c_twl 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL led 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL rtc 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL vreg_ctr 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL vreg_twl 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL adc 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL renge 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL accero 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL sw 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL task_misc + 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL task_sys 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL pedo_alg_thre_det2 + 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL ini_VECT 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL led_cam 04E33H 00000H + @@CNSTL 04E33H 00000H CSEG PAGE64KP + @@CNSTL led_pow 04E33H 00000H + @@CALT 04E33H 00000H CSEG + @@CALT @cstart 04E33H 00000H + @@CALT loader 04E33H 00000H + @@CALT pm 04E33H 00000H + @@CALT i2c_ctr 04E33H 00000H + @@CALT main 04E33H 00000H + @@CALT magic 04E33H 00000H + @@CALT WDT 04E33H 00000H + @@CALT i2c_mcu 04E33H 00000H + @@CALT i2c_twl 04E33H 00000H + @@CALT led 04E33H 00000H + @@CALT rtc 04E33H 00000H + @@CALT vreg_ctr 04E33H 00000H + @@CALT vreg_twl 04E33H 00000H + @@CALT adc 04E33H 00000H + @@CALT renge 04E33H 00000H + @@CALT accero 04E33H 00000H + @@CALT self_flash + 04E33H 00000H + @@CALT sw 04E33H 00000H + @@CALT task_debug + 04E33H 00000H + @@CALT task_misc + 04E33H 00000H + @@CALT task_sys 04E33H 00000H + @@CALT pedo_alg_thre_det2 + 04E33H 00000H + @@CALT ini_VECT 04E33H 00000H + @@CALT task_status + 04E33H 00000H + @@CALT led_cam 04E33H 00000H + @@CALT led_pow 04E33H 00000H + @@CALT hal 04E33H 00000H + @@RLINIT 04E33H 00000H CSEG UNIT64KP + @@RLINIT loader 04E33H 00000H + @@RLINIT pm 04E33H 00000H + @@RLINIT i2c_ctr 04E33H 00000H + @@RLINIT main 04E33H 00000H + @@RLINIT magic 04E33H 00000H + @@RLINIT WDT 04E33H 00000H + @@RLINIT i2c_mcu 04E33H 00000H + @@RLINIT i2c_twl 04E33H 00000H + @@RLINIT led 04E33H 00000H + @@RLINIT rtc 04E33H 00000H + @@RLINIT vreg_ctr 04E33H 00000H + @@RLINIT vreg_twl 04E33H 00000H + @@RLINIT adc 04E33H 00000H + @@RLINIT renge 04E33H 00000H + @@RLINIT accero 04E33H 00000H + @@RLINIT self_flash + 04E33H 00000H + @@RLINIT sw 04E33H 00000H + @@RLINIT task_debug + 04E33H 00000H + @@RLINIT task_misc + 04E33H 00000H + @@RLINIT task_sys 04E33H 00000H + @@RLINIT pedo_alg_thre_det2 + 04E33H 00000H + @@RLINIT ini_VECT 04E33H 00000H + @@RLINIT task_status + 04E33H 00000H + @@RLINIT led_cam 04E33H 00000H + @@RLINIT led_pow 04E33H 00000H + @@RLINIT hal 04E33H 00000H + @@RLINIT @rom 04E33H 00000H + @@CODEL 04E33H 00000H CSEG + @@CODEL pm 04E33H 00000H + @@CODEL i2c_ctr 04E33H 00000H + @@CODEL magic 04E33H 00000H + @@CODEL i2c_twl 04E33H 00000H + @@CODEL led 04E33H 00000H + @@CODEL rtc 04E33H 00000H + @@CODEL vreg_ctr 04E33H 00000H + @@CODEL vreg_twl 04E33H 00000H + @@CODEL adc 04E33H 00000H + @@CODEL renge 04E33H 00000H + @@CODEL accero 04E33H 00000H + @@CODEL sw 04E33H 00000H + @@CODEL task_misc + 04E33H 00000H + @@CODEL task_sys 04E33H 00000H + @@CODEL pedo_alg_thre_det2 + 04E33H 00000H + @@CODEL ini_VECT 04E33H 00000H + @@CODEL led_cam 04E33H 00000H + @@CODEL led_pow 04E33H 00000H +* gap * 04E33H 00001H + @@CNSTL 04E34H 0000AH CSEG PAGE64KP + @@CNSTL @bcdtob 04E34H 0000AH + @@R_INIT 04E3EH 0002EH CSEG UNIT64KP + @@R_INIT @cstart 04E3EH 00000H + @@R_INIT loader 04E3EH 00000H + @@R_INIT pm 04E3EH 00002H + @@R_INIT i2c_ctr 04E40H 00000H + @@R_INIT main 04E40H 00000H + @@R_INIT magic 04E40H 00000H + @@R_INIT WDT 04E40H 00000H + @@R_INIT i2c_mcu 04E40H 00000H + @@R_INIT i2c_twl 04E40H 00000H + @@R_INIT led 04E40H 00000H + @@R_INIT rtc 04E40H 00000H + @@R_INIT vreg_ctr 04E40H 00000H + @@R_INIT vreg_twl 04E40H 00000H + @@R_INIT adc 04E40H 0000CH + @@R_INIT renge 04E4CH 00014H + @@R_INIT accero 04E60H 00000H + @@R_INIT self_flash + 04E60H 00000H + @@R_INIT sw 04E60H 00000H + @@R_INIT task_debug + 04E60H 00000H + @@R_INIT task_misc + 04E60H 00000H + @@R_INIT task_sys 04E60H 00002H + @@R_INIT pedo_alg_thre_det2 + 04E62H 00006H + @@R_INIT ini_VECT 04E68H 00000H + @@R_INIT task_status + 04E68H 00000H + @@R_INIT led_cam 04E68H 00000H + @@R_INIT led_pow 04E68H 00004H + @@R_INIT hal 04E6CH 00000H + @@R_INIT @rom 04E6CH 00000H + @@R_INIS 04E6CH 00008H CSEG UNIT64KP + @@R_INIS @cstart 04E6CH 00000H + @@R_INIS loader 04E6CH 00000H + @@R_INIS pm 04E6CH 00002H + @@R_INIS i2c_ctr 04E6EH 00002H + @@R_INIS main 04E70H 00000H + @@R_INIS magic 04E70H 00000H + @@R_INIS WDT 04E70H 00000H + @@R_INIS i2c_mcu 04E70H 00000H + @@R_INIS i2c_twl 04E70H 00000H + @@R_INIS led 04E70H 00000H + @@R_INIS rtc 04E70H 00000H + @@R_INIS vreg_ctr 04E70H 00000H + @@R_INIS vreg_twl 04E70H 00000H + @@R_INIS adc 04E70H 00000H + @@R_INIS renge 04E70H 00000H + @@R_INIS accero 04E70H 00000H + @@R_INIS self_flash + 04E70H 00000H + @@R_INIS sw 04E70H 00000H + @@R_INIS task_debug + 04E70H 00000H + @@R_INIS task_misc + 04E70H 00000H + @@R_INIS task_sys 04E70H 00000H + @@R_INIS pedo_alg_thre_det2 + 04E70H 00000H + @@R_INIS ini_VECT 04E70H 00000H + @@R_INIS task_status + 04E70H 00000H + @@R_INIS led_cam 04E70H 00002H + @@R_INIS led_pow 04E72H 00002H + @@R_INIS hal 04E74H 00000H + @@R_INIS @rom 04E74H 00000H + @@LCODEL 04E74H 00022H CSEG + @@LCODEL abs 04E74H 00008H + @@LCODEL memcpy_n 04E7CH 0001AH +* gap * 04E96H 0015EH + MGC_VER 04FF4H 00002H CSEG AT + MGC_VER magic 04FF4H 00002H + 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 003F4H DSEG BASEP + @@DATA @cstart FF900H 00002H + @@DATA loader FF902H 00000H + @@DATA pm FF902H 0000CH + @@DATA i2c_ctr FF90EH 00004H + @@DATA main FF912H 0021EH + @@DATA magic FFB30H 00000H + @@DATA WDT FFB30H 00000H + @@DATA i2c_mcu FFB30H 00006H + @@DATA i2c_twl FFB36H 00000H + @@DATA led FFB36H 0007CH + @@DATA rtc FFBB2H 00008H + @@DATA vreg_ctr FFBBAH 0005EH + @@DATA vreg_twl FFC18H 00010H + @@DATA adc FFC28H 00004H + @@DATA renge FFC2CH 00014H + @@DATA accero FFC40H 00002H + @@DATA self_flash + FFC42H 00002H + @@DATA sw FFC44H 00002H + @@DATA task_debug + FFC46H 00000H + @@DATA task_misc + FFC46H 00002H + @@DATA task_sys FFC48H 00002H + @@DATA pedo_alg_thre_det2 + FFC4AH 000A0H + @@DATA ini_VECT FFCEAH 00000H + @@DATA task_status + FFCEAH 00002H + @@DATA led_cam FFCECH 00000H + @@DATA led_pow FFCECH 00008H + @@DATA hal FFCF4H 00000H + @@DATA @rom FFCF4H 00000H + @@INIT FFCF4H 0002EH DSEG BASEP + @@INIT @cstart FFCF4H 00000H + @@INIT loader FFCF4H 00000H + @@INIT pm FFCF4H 00002H + @@INIT i2c_ctr FFCF6H 00000H + @@INIT main FFCF6H 00000H + @@INIT magic FFCF6H 00000H + @@INIT WDT FFCF6H 00000H + @@INIT i2c_mcu FFCF6H 00000H + @@INIT i2c_twl FFCF6H 00000H + @@INIT led FFCF6H 00000H + @@INIT rtc FFCF6H 00000H + @@INIT vreg_ctr FFCF6H 00000H + @@INIT vreg_twl FFCF6H 00000H + @@INIT adc FFCF6H 0000CH + @@INIT renge FFD02H 00014H + @@INIT accero FFD16H 00000H + @@INIT self_flash + FFD16H 00000H + @@INIT sw FFD16H 00000H + @@INIT task_debug + FFD16H 00000H + @@INIT task_misc + FFD16H 00000H + @@INIT task_sys FFD16H 00002H + @@INIT pedo_alg_thre_det2 + FFD18H 00006H + @@INIT ini_VECT FFD1EH 00000H + @@INIT task_status + FFD1EH 00000H + @@INIT led_cam FFD1EH 00000H + @@INIT led_pow FFD1EH 00004H + @@INIT hal FFD22H 00000H + @@INIT @rom FFD22H 00000H + FSL_DATA FFD22H 00010H DSEG UNITP + FSL_DATA fsl_common + FFD22H 00010H + @@INITL FFD32H 00000H DSEG UNIT64KP + @@INITL loader FFD32H 00000H + @@INITL pm FFD32H 00000H + @@INITL i2c_ctr FFD32H 00000H + @@INITL main FFD32H 00000H + @@INITL magic FFD32H 00000H + @@INITL WDT FFD32H 00000H + @@INITL i2c_mcu FFD32H 00000H + @@INITL i2c_twl FFD32H 00000H + @@INITL led FFD32H 00000H + @@INITL rtc FFD32H 00000H + @@INITL vreg_ctr FFD32H 00000H + @@INITL vreg_twl FFD32H 00000H + @@INITL adc FFD32H 00000H + @@INITL renge FFD32H 00000H + @@INITL accero FFD32H 00000H + @@INITL self_flash + FFD32H 00000H + @@INITL sw FFD32H 00000H + @@INITL task_debug + FFD32H 00000H + @@INITL task_misc + FFD32H 00000H + @@INITL task_sys FFD32H 00000H + @@INITL pedo_alg_thre_det2 + FFD32H 00000H + @@INITL ini_VECT FFD32H 00000H + @@INITL task_status + FFD32H 00000H + @@INITL led_cam FFD32H 00000H + @@INITL led_pow FFD32H 00000H + @@INITL hal FFD32H 00000H + @@INITL @rom FFD32H 00000H + @@DATAL FFD32H 00000H DSEG UNIT64KP + @@DATAL loader FFD32H 00000H + @@DATAL pm FFD32H 00000H + @@DATAL i2c_ctr FFD32H 00000H + @@DATAL main FFD32H 00000H + @@DATAL magic FFD32H 00000H + @@DATAL WDT FFD32H 00000H + @@DATAL i2c_mcu FFD32H 00000H + @@DATAL i2c_twl FFD32H 00000H + @@DATAL led FFD32H 00000H + @@DATAL rtc FFD32H 00000H + @@DATAL vreg_ctr FFD32H 00000H + @@DATAL vreg_twl FFD32H 00000H + @@DATAL adc FFD32H 00000H + @@DATAL renge FFD32H 00000H + @@DATAL accero FFD32H 00000H + @@DATAL self_flash + FFD32H 00000H + @@DATAL sw FFD32H 00000H + @@DATAL task_debug + FFD32H 00000H + @@DATAL task_misc + FFD32H 00000H + @@DATAL task_sys FFD32H 00000H + @@DATAL pedo_alg_thre_det2 + FFD32H 00000H + @@DATAL ini_VECT FFD32H 00000H + @@DATAL task_status + FFD32H 00000H + @@DATAL led_cam FFD32H 00000H + @@DATAL led_pow FFD32H 00000H + @@DATAL hal FFD32H 00000H + @@DATAL @rom FFD32H 00000H +* gap * FFD32H 000CEH + + MEMORY=RAM2 + BASE ADDRESS=FFE20H SIZE=000C0H + OUTPUT INPUT INPUT BASE SIZE + SEGMENT SEGMENT MODULE ADDRESS + @@INIS FFE20H 00008H DSEG SADDRP + @@INIS @cstart FFE20H 00000H + @@INIS loader FFE20H 00000H + @@INIS pm FFE20H 00002H + @@INIS i2c_ctr FFE22H 00002H + @@INIS main FFE24H 00000H + @@INIS magic FFE24H 00000H + @@INIS WDT FFE24H 00000H + @@INIS i2c_mcu FFE24H 00000H + @@INIS i2c_twl FFE24H 00000H + @@INIS led FFE24H 00000H + @@INIS rtc FFE24H 00000H + @@INIS vreg_ctr FFE24H 00000H + @@INIS vreg_twl FFE24H 00000H + @@INIS adc FFE24H 00000H + @@INIS renge FFE24H 00000H + @@INIS accero FFE24H 00000H + @@INIS self_flash + FFE24H 00000H + @@INIS sw FFE24H 00000H + @@INIS task_debug + FFE24H 00000H + @@INIS task_misc + FFE24H 00000H + @@INIS task_sys FFE24H 00000H + @@INIS pedo_alg_thre_det2 + FFE24H 00000H + @@INIS ini_VECT FFE24H 00000H + @@INIS task_status + FFE24H 00000H + @@INIS led_cam FFE24H 00002H + @@INIS led_pow FFE26H 00002H + @@INIS hal FFE28H 00000H + @@INIS @rom FFE28H 00000H + @@DATS FFE28H 00036H DSEG SADDRP + @@DATS @cstart FFE28H 00000H + @@DATS loader FFE28H 00000H + @@DATS pm FFE28H 0000CH + @@DATS i2c_ctr FFE34H 00002H + @@DATS main FFE36H 00000H + @@DATS magic FFE36H 00000H + @@DATS WDT FFE36H 00000H + @@DATS i2c_mcu FFE36H 00004H + @@DATS i2c_twl FFE3AH 00000H + @@DATS led FFE3AH 00000H + @@DATS rtc FFE3AH 00000H + @@DATS vreg_ctr FFE3AH 00002H + @@DATS vreg_twl FFE3CH 00000H + @@DATS adc FFE3CH 00008H + @@DATS renge FFE44H 00002H + @@DATS accero FFE46H 00000H + @@DATS self_flash + FFE46H 00000H + @@DATS sw FFE46H 0000AH + @@DATS task_debug + FFE50H 00000H + @@DATS task_misc + FFE50H 00002H + @@DATS task_sys FFE52H 00002H + @@DATS pedo_alg_thre_det2 + FFE54H 00006H + @@DATS ini_VECT FFE5AH 00000H + @@DATS task_status + FFE5AH 00000H + @@DATS led_cam FFE5AH 00002H + @@DATS led_pow FFE5CH 00002H + @@DATS hal FFE5EH 00000H + @@DATS @rom FFE5EH 00000H + @@BITS FFE5EH 00005H BSEG + @@BITS @cstart FFE5EH.0 00000H.0 + @@BITS loader FFE5EH.0 00000H.0 + @@BITS pm FFE5EH.0 00001H.0 + @@BITS i2c_ctr FFE5FH.0 00000H.0 + @@BITS main FFE5FH.0 00000H.1 + @@BITS magic FFE5FH.1 00000H.0 + @@BITS WDT FFE5FH.1 00000H.0 + @@BITS i2c_mcu FFE5FH.1 00000H.3 + @@BITS i2c_twl FFE5FH.4 00000H.0 + @@BITS led FFE5FH.4 00000H.4 + @@BITS rtc FFE60H.0 00000H.3 + @@BITS vreg_ctr FFE60H.3 00000H.1 + @@BITS vreg_twl FFE60H.4 00000H.0 + @@BITS adc FFE60H.4 00000H.4 + @@BITS renge FFE61H.0 00000H.3 + @@BITS accero FFE61H.3 00000H.0 + @@BITS self_flash + FFE61H.3 00000H.0 + @@BITS sw FFE61H.3 00000H.1 + @@BITS task_debug + FFE61H.4 00000H.0 + @@BITS task_misc + FFE61H.4 00000H.2 + @@BITS task_sys FFE61H.6 00000H.0 + @@BITS pedo_alg_thre_det2 + FFE61H.6 00000H.2 + @@BITS ini_VECT FFE62H.0 00000H.0 + @@BITS task_status + FFE62H.0 00000H.0 + @@BITS led_cam FFE62H.0 00000H.1 + @@BITS led_pow FFE62H.1 00000H.0 + @@BITS hal FFE62H.1 00000H.6 +* gap * FFE63H 00071H + @@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 + \ No newline at end of file diff --git a/tags/SDK3.0(2.00)/bsr_mcu.dr b/tags/SDK3.0(2.00)/bsr_mcu.dr new file mode 100644 index 0000000..bd8099c --- /dev/null +++ b/tags/SDK3.0(2.00)/bsr_mcu.dr @@ -0,0 +1,48 @@ +;;; ̈̒` +;32kB = 0x7FFF +MEMORY BCL0: (00000H, 01000H ) +;MEMORY BCL1: (01000H, 01000H ) ; obNAbv̈ +MEMORY ROM : (02000H, 03000H ) +;MEMORY ROM_BKUP:(05000H, 03000H ) ; obNAbv̈ +;MEMORY OCD :(0FC00H, 00400H ) ; OCDgĂ炵 + + +;;; ZOg̊ݒ +; u[gubN0Ɋ蓖Ă +MERGE LDR_CODE : =BCL0 +MERGE LDR_CODL : =BCL0 +MERGE FSL_CODE : =BCL0 ; =FSL ; ސtbVCu +MERGE @@LCODE : =BCL0 ; X^[gAbv[` +;MERGE @@LCODEL : =BCL0 + +;MERGE LDR_RINT:=BCL0 +;MERGE LDR_CNST:=BCL0 +MERGE LDR_CNSL:=BCL0 + + + +; ʏ̈ɒu +MERGE ROM_CODE:=ROM +MERGE @@CNST: =ROM +MERGE @@R_INIT: =ROM ; ROMȊOɒuȂX^[gAbv[`vC + + + + + + +; }WbNio[ +;; magic.c̒Ŏw + + +;--- RAM̈ ------------------------------------------------------- +; +; RAM1,RAM2̈̓[U[vOŎgpĂǂłAZtvO +; ZtvÕCugp邽߁Al͔j󂳂܂B +; +memory RAM2 : (0FFE20H, 00C0H) ; ZtvOAgp֎~̈ +;memory SLF_RAM : (0FFE00H, 0020H) ; Slef Program\̈[gp֎~] +memory RAM : (0FF900H, 0500H) ; [U[q`l̈ +;memory SLF_RAM : (0FF900H, 0020H) ; Slef Program\̈[gp֎~] + + diff --git a/tags/SDK3.0(2.00)/bsr_system.h b/tags/SDK3.0(2.00)/bsr_system.h new file mode 100644 index 0000000..54d2b75 --- /dev/null +++ b/tags/SDK3.0(2.00)/bsr_system.h @@ -0,0 +1,67 @@ +#ifndef __bsr_system__ +#define __bsr_system__ + +// Cxg[ṽXe[g +enum pwr_state_ +{ + OFF_TRIG = 0, + ON_CHECK, + ON_TRIG, + ON, +// SLEEP_TRIG, + SLEEP, +// WAKE, + OFF, +}; + +enum poweron_reason_ +{ + NONE = 0, + RSN_PWSW, + RSN_RTC_ALARM, + RSN_RSV3, + RSN_RSV4, + RSN_RSV5 +}; + + +enum model_ +{ + MODEL_JIKKI, + MODEL_TS_BOARD, + MODEL_SHIROBAKO, + MODEL_JIKKI_NOBATT, + MODEL_CAPTURE_BOX, + MODEL_ISBAKO, // Asystem_status.model MODEL_JIKKI ɂĂ̂Ŗgp + MODEL_RESERVED3, +}; + +enum family_ +{ + FAMILY_CTR, + FAMILY_SPFL, + FAMILY_SHRIMP +}; + +// ^XNVXȅԏȂ +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 captureBox:1; // Lv` SDKɂ͎@ƕԂ + unsigned char taikendai:1; + unsigned char taikendai_nbd:1; + unsigned char is_dev:1; + enum model_ model; + enum family_ family; +}system_status_; + +extern bit force_off; + +extern system_status_ system_status; + + + +#endif diff --git a/tags/SDK3.0(2.00)/config.h b/tags/SDK3.0(2.00)/config.h new file mode 100644 index 0000000..5335532 --- /dev/null +++ b/tags/SDK3.0(2.00)/config.h @@ -0,0 +1,89 @@ +#ifndef __config__ +#define __config__ + + +#define MCU_VER_MAJOR 0x02 +#define MCU_VER_MINOR 0x00 + + +// fobOXCb` + +//#define _debug_led_ // LED print fobOƂ +//#define _ALLOW_NOBATT_ // @drȂi=A_v^̂݁jł̋N +//#define _DBG_PEDO_AUTO_ENABLE_ // d̏uԂvon +//#define _DBG_LED_PRINT_ // LED print fobOƂ(ȃAbvf[gp) +//#define _ENABLE_WDT_TEST_ +//#define _FORCE_TAIKENDAI_ +//#define _FORCE_TAIKENDAI_NBD_ +//#define _DBG_CHK_OFF_LEAK_ // OFF[Nd̃`FbN(fobKŊmF) +#define _DBG_NOP_ // u[N\邽߂NOP()LɂƂ + +#define _I2C_ERR_ABORT_ + + +#ifdef _DBG_NOP_ +# define dbg_nop() NOP() +#else +# define dbg_nop() ; +#endif + + +// dlt@[ +//#define _TAIKENDAI_ +// homej[ɓĂ܂̂t@[‚BROMȂ̂œdrp[^pX +//#define _TAIKENDAI_SEISAN_SPECIAL_ +// Yɑ̌gpǂƁAA_v^ȂƓd炸ɌɎxႪ̂ňꎞt@[ +//#define _RVD_ +// fobKA^b`Ƀ^[QbgZbgœd؂Ă܂̂ + + +// ̎́C‚ȂƑ̌̐YłȂˁI +#ifdef _TAIKENDAI_SEISAN_SPECIAL_ +#define MCU_VER_MINOR 0x80 +#endif + + +#ifdef _TAIKENDAI_ +#define MCU_VER_MINOR 0x92 +// 0x90 1.31 @HOMEɓĂ܂̂XCb`̃}XNő΍ +// ROMŝ߁Adrp[^폜 + +#endif + + +#define _firm_format_v3_ + +//#define _MODEL_TEG2_ + // TEG2 CPU { Type-T + +//#define _MODEL_WM0_ +//#define _MODEL_WM0_TEG2_CTRC_ + +//#define _MODEL_TS0_ + // TEG2 CPU { Type-C + +#define _MODEL_CTR_ + // TS board, WM1,1 TS-CTRC, @ + + +// ---------------------------------- // +#ifdef _MODEL_TEG2_ +unsupported! +#endif + + +#ifdef _MODEL_WM0_ +unsupported! +#endif + + +#ifdef _MODEL_TS0_ +unsupported! +#endif + +#ifdef _MODEL_CTR_ +#define _PMIC_CTR_ +#define _MCU_BSR_ +#endif + +#endif diff --git a/tags/SDK3.0(2.00)/fsl.h b/tags/SDK3.0(2.00)/fsl.h new file mode 100644 index 0000000..0e806b5 --- /dev/null +++ b/tags/SDK3.0(2.00)/fsl.h @@ -0,0 +1,362 @@ +/*==============================================================================================*/ +/* 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 diff --git a/tags/SDK3.0(2.00)/fsl_user.h b/tags/SDK3.0(2.00)/fsl_user.h new file mode 100644 index 0000000..60a41be --- /dev/null +++ b/tags/SDK3.0(2.00)/fsl_user.h @@ -0,0 +1,113 @@ +/*==============================================================================================*/ +/* 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 */ +#ifndef _WIN32 +#define FSL_FLMD0_HIGH {BECTL.7 = 1;} +#define FSL_FLMD0_LOW {BECTL.7 = 0;} +#else +#define FSL_FLMD0_HIGH {BECTL_7 = 1;} +#define FSL_FLMD0_LOW {BECTL_7 = 0;} +#endif + + +/*----------------------------------------------------------------------------------------------*/ +/* switch interrupt backu functionality ON/OFF using #define/#undef */ +/*----------------------------------------------------------------------------------------------*/ +/* #define FSL_INT_BACKUP */ +#undef FSL_INT_BACKUP + + +#endif diff --git a/tags/SDK3.0(2.00)/hal.c b/tags/SDK3.0(2.00)/hal.c new file mode 100644 index 0000000..101faf2 --- /dev/null +++ b/tags/SDK3.0(2.00)/hal.c @@ -0,0 +1,160 @@ +#ifndef _WIN32 +#pragma SFR +#endif + +#include "incs_loader.h" + + +#define WIFI_txLatch PIF21 // dgMpX { led.h Œ` + + +// HALłԂ //////////////////////////////////////// +// ȎȂ琳_ɂr...≽łȂ +bit PM_EXTDC_n; +bit BT_IN_CHG_n; +bit SW_POW_n; +bit SW_HOME_n; +bit SW_WIFI_n; +bit SHELL_OPEN; + +/* +#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) +#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) +//#define REG_BIT_HAL0_PM_IRQ_n ( 1 << 5 ) // gȂ +#define REG_BIT_HAL0_WL_TX ( 1 << 4 ) +#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) +#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 ) +#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 ) +#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 ) + +#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 ) +#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 ) +#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 ) +#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 ) +*/ + + +// ڂւ +// `^OȂ炱ł(ԃJEg͕) +void hal_update() +{ + u8 temp_conf = vreg_ctr[ VREG_C_HAL_OVW_CONT0 ]; + u8 temp_dat = vreg_ctr[ VREG_C_HAL_OVW_DAT0 ]; + + // A_v^L + if( temp_conf & REG_BIT_HAL0_PM_EXTDC_n ) + { + // O͂Ȃ񂾂傫Ȃ肪 + if(( temp_dat & REG_BIT_HAL0_PM_EXTDC_n ) == 0 ) + { + PM_EXTDC_n = 0; + } + else + { + PM_EXTDC_n = 1; + } + } + else + { + PM_EXTDC_n = PM_EXTDC_n_RAW; + } + + // [dH + if( temp_conf & REG_BIT_HAL0_BT_IN_CHG_n ) + { + if(( temp_dat & REG_BIT_HAL0_BT_IN_CHG_n ) == 0 ) + { + BT_IN_CHG_n = 0; + } + else + { + BT_IN_CHG_n = 1; + } + } + else + { + BT_IN_CHG_n = BT_IN_CHG_n_RAW; + } + + // dt + if( temp_conf & REG_BIT_HAL0_SW_POW_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_POW_n ) == 0 ) + { + SW_POW_n = 0 ; + } + else + { + SW_POW_n = 1; + } + } + else + { + SW_POW_n = SW_POW_n_RAW; + } + + // Ɩt + if( temp_conf & REG_BIT_HAL0_SW_HOME_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_HOME_n ) == 0 ) + { + SW_HOME_n = 0; + } + else + { + SW_HOME_n = 1; + } + } + else + { + if( system_status.model == MODEL_TS_BOARD )// ڑ̃|[gႤ + { + SW_HOME_n = SW_HOME_n_TSBOARD_RAW; + } + else + { + SW_HOME_n = SW_HOME_n_JIKKI_RAW; + } + } + + // J + if( temp_conf & REG_BIT_HAL0_SW_WIFI_n ) + { + if(( temp_dat & REG_BIT_HAL0_SW_WIFI_n ) == 0 ) + { + SW_WIFI_n = 0; + } + else + { + SW_WIFI_n = 1; + } + } + else + { + SW_WIFI_n = SW_WIFI_n_RAW; + } + + // + if( temp_conf & REG_BIT_HAL0_SHELL_OPEN ) + { + if(( temp_dat & REG_BIT_HAL0_SHELL_OPEN ) == 0 ) + { + SHELL_OPEN = 0; + } + else + { + SHELL_OPEN = 1; + } + } + else + { + SHELL_OPEN = SHELL_OPEN_RAW; + } + + // dg + if( temp_conf & REG_BIT_HAL0_WL_TX ) + { + WIFI_txLatch = 1; + } + +} diff --git a/tags/SDK3.0(2.00)/hal.h b/tags/SDK3.0(2.00)/hal.h new file mode 100644 index 0000000..c6decf3 --- /dev/null +++ b/tags/SDK3.0(2.00)/hal.h @@ -0,0 +1,16 @@ +#ifndef _hal_h_ +#define _hal_h_ + + +extern bit PM_EXTDC_n; +extern bit BT_IN_CHG_n; +extern bit SW_POW_n; +extern bit SW_HOME_n; +extern bit SW_WIFI_n; +extern bit SHELL_OPEN; + + +// ======================================================== +void hal_update(); + +#endif diff --git a/tags/SDK3.0(2.00)/hoge.bin b/tags/SDK3.0(2.00)/hoge.bin new file mode 100644 index 0000000000000000000000000000000000000000..9673de63e11fbabba7a058ec199e581bff22d2ac GIT binary patch literal 16387 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 Z54HX9#q}S&(fF)siB literal 0 HcmV?d00001 diff --git a/tags/SDK3.0(2.00)/i2c_ctr.c b/tags/SDK3.0(2.00)/i2c_ctr.c new file mode 100644 index 0000000..3359a67 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_ctr.c @@ -0,0 +1,297 @@ +/* ======================================================== + SoC VK`l I2CʐM + cJZ.nintendo + '09 Apr + ======================================================== */ + +#include "config.h" + +// TS̓}U{ŃeRAWM͉H}eRŌLjvc + +#ifndef _WIN32 +#pragma interrupt INTIICA1 int_iic_ctr RB1 +#endif + + +#include "incs.h" + +#ifdef _MCU_BSR_ +// #ifdef _MODEL_TS0_ || _MODEL_WM0_ + +// [LOfI2Ct +// TEG͉H}ŃeR +#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 + + + +// ============================================== +enum en_IIC_STATE +{ + IIC_IDLE = 0, + IIC_RCV_REG_ADRS, + IIC_TX_OR_RX, + IIC_TX, + IIC_RX +}; + + + +// ============================================== +extern bit irq_readed; // ꂩIRQWX^ǂ܂ꂽ + +u8 iic_burst_state; +static enum en_IIC_STATE state = IIC_IDLE; + +#define bit_iics_spd (i2c_stat & (1<<0)) +#define bit_iics_std (i2c_stat & (1<<1)) +#define bit_iics_ackd (i2c_stat & (1<<2)) +#define bit_iics_trc (i2c_stat & (1<<3)) +#define bit_iics_coi (i2c_stat & (1<<4)) + +// ============================================== +__interrupt void int_iic_ctr( ) +{ + static u8 reg_adrs; + static u8 tx_buf; + u8 rx_buf; + static u8 adrs_access_from; // o[XgANZX̎Ɏg + + u8 i2c_stat = IICS1; // volatilê + + // ǂݏoI + if( !bit_iics_ackd // 荞ݗvNAKif[^M̍Ōj + || bit_iics_spd ) // XgbvRfBV(!ACKD ɗƂ͊荞ݗȂ (SPIE = 0)) + { + /* + I2C̔xẴtOOSTDĂ܂Ƃ + ǁAȂ삷‚ + */ + + // WX^[hŁA荞݃slQ[g + // ܂ǂ܂ĂȂ荞݂΁AēxAT[g + 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 ){;} // ԉ҂sv + IRQ0_ast; + } + } + + // I2CIɉ镨 // + hosu_read_end( ); // vǂݏoI + rtc_unlock( ); + + state = IIC_IDLE; + SPIE = 0; + LREL = 1; + EI(); + return; + } + + if( bit_iics_std ) // 荞ݗvFX^[gRfBV + { + if( !( state == IIC_IDLE || state == IIC_TX_OR_RX )) + { + // sp/nack 葹˂ + dbg_nop(); // Ȃ͂... +/* + // pPbg̐擪stƌȂB + // ʂɑs + state = IIC_IDLE; +/*/ + // gCĂ炤 + state = IIC_IDLE; + SPIE = 0; + LREL = 1; + EI(); +//*/ + } + // ʏ + } + + EI(); + + switch ( state ) + { + case ( IIC_IDLE ): + // njĂяoɉB + // Ȃ + iic_burst_state = 0; + SPIE = 1; + WREL = 1; // EFCg + state = IIC_RCV_REG_ADRS; + return; + + case ( IIC_RCV_REG_ADRS ): // QoCgځiWX^AhXjMɗ + // WX^AhXM + reg_adrs = IICA; + + WREL = 1; + adrs_access_from = reg_adrs; + tx_buf = vreg_ctr_read( reg_adrs ); // f[^̏Ă + state = IIC_TX_OR_RX; + return; + + case ( IIC_TX_OR_RX ): // ̎ɗ銄荞݁BSTȂ瑗MAf[^珑܂ + // if( TRC ) // MtO ŋʂ̂́A荞ݒxɕsN肦 + if( bit_iics_std ) + { // X^[gRfBVotO + // [h + if( bit_iics_coi ) + { // AhXvtO + state = IIC_TX; + // no break, no return // + } + else + { + // X^[gňႤfoCXĂ΂ꂽI + SPIE = 0; + LREL = 1; // EFCg? + state = IIC_IDLE; // I + return; + } + } + else + { + state = IIC_RX; // f[^1oCgM̊荞݂ + // no break, no return // + } + /* FALLTHROUGH */ + + default: // o[Xg R/W łĂ΂邱ƂɂȂ + if( state == IIC_TX ) + { // M + IICA = tx_buf; + vreg_ctr_after_read( reg_adrs, tx_buf ); // ǂ񂾂NAȂǂ̏ + } + else + { // M + rx_buf = IICA; + +#ifdef _I2C_ERR_ABORT_ + if( reg_adrs >= 0x80 || reg_adrs <= 1 ) + { + LREL = 1; // Ȃ񂩃f[^̂ŒʐMI nakԂ̂Ȃc + return; + } +#endif + vreg_ctr_write( reg_adrs, rx_buf ); + WREL = 1; + } + + // WX^AhX̃CNg + /// ANZX|C^i߂ȂȃWX^ + 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: + reg_adrs ++; + } + + if( state == IIC_TX ) + { // ɂ‚ɑf[^̏VeINBSPĎgȂȂ + 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 */ + + P20 &= ~0x3; + + SVA = IIC_C_SLAVEADDRESS; + IICF = 0x01; + + STCEN = 1; // X^[g̋ + IICRSV = 1; // ʐM\Ȃ:X[uɓO + + SPIE = 0; // XgbvRfBVł̊荞݂֎~ + WTIM = 1; // ACKԂclkLɌŒ肷 + ACKE = 1; + + IICWH = 5; + IICWL = 10; // LԂ̒ + + SMC = 1; // [h + DFC = 1; // fW^tB^on (@fast mode) + + IICAMK = 0; // 荞݂ + + IICE = 1; + + PM20 &= ~0x3; /* set clock pin for IICA */ + + state = IIC_IDLE; +} + + + +// ======================================================== +void IIC_ctr_Stop( void ) +{ + IICE = 0; /* IICA disable */ + IICAEN = 0; +} + + + diff --git a/tags/SDK3.0(2.00)/i2c_ctr.h b/tags/SDK3.0(2.00)/i2c_ctr.h new file mode 100644 index 0000000..16234ff --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_ctr.h @@ -0,0 +1,210 @@ +#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 diff --git a/tags/SDK3.0(2.00)/i2c_mcu.c b/tags/SDK3.0(2.00)/i2c_mcu.c new file mode 100644 index 0000000..aa2abd9 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_mcu.c @@ -0,0 +1,655 @@ +/* ======================================================== + ȈI2CiytFgpjʐM + de JHL cJZ + '09 Feb - + ======================================================== */ +#ifndef _WIN32 +#pragma sfr +#pragma di +#pragma ei +#pragma nop +#pragma inline // memcpy()CCWJ(̕I) +#endif + +#include "incs_loader.h" +#include "i2c_mcu.h" + + +// ======================================================== +// WX^̃rbg +// vtBbNXbAꕔ̃rbgWX^ɂԂ邽... +// 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 0x0B0B; + +// 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; // ꕶ[h̎̓f[^ԂB + // Xe[^XKvȂ炱Ă + +#ifdef i2c_timeout_test +extern bit i2c_mcu_time_out_error; +#endif + +// ======================================================== +void nop8() +{ + // ɗ call 3clk, return 6clk +} + + +static err iic_mcu_wait_free() +{ + u16 tot = 0; + + iic_mcu_start( ); + while( 1 ) + { + DI(); + if( !iic_mcu_busy ) + { + iic_mcu_busy = true; + EI(); + break; + } + EI(); + if( ++tot == 0 ) + { +#ifdef i2c_timeout_test + i2c_mcu_time_out_error = true; +#endif + return( ERR_ERR ); + } + } + return( ERR_SUCCESS ); +} + + +/* ======================================================== + X[u w1x [h + Ԓlf[^̂̂łB + ======================================================== */ +u8 iic_mcu_read_a_byte( u8 SLA, u8 adrs ) +{ + u8 dat; + +#if 1 + // bp[ + 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(); + + // X^[gRfBVƃX[ǔĂяoAWX^AhX̑M + if( iic_mcu_call_slave( SLA ) != 0 ) + { + iic_mcu_result = ERR_NOSLAVE; + iic_mcu_busy = false; + return ( 0 ); + } + + // WX^AhX̑M + iic_mcu_send_a_byte( adrs ); // I܂ŋAĂȂ + // if( err != ERR_SUCCESS )` + + // f[^M // + iic_mcu_send_re_st( ); // X^[gRfBV + iic_mcu_send_a_byte( SLA | 0x01 ); // M܂Ŗ߂Ă܂B + + ST0 = 0x0004; // M[hɐݒς̂ŃWbN~ + SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // Mݒ + SS0 = 0x0004; // ʐMҋ@ + + SOE0 = 0x0000; // 1oCgMȂ̂ŁAŌNAK𑗂 + IICIF10 = 0; + SIO10 = 0xFF; // _~[f[^ƎMJn + + while( IICIF10 == 0 ) + { // M҂ + ; + } + dat = SIO10; + + iic_mcu_send_sp( ); + IICIF10 = 0; // Ȃ + iic_mcu_busy = false; + return ( dat ); +#endif +} + + + +/* ======================================================== + X[ũ[h + 0 I + 1 X[uȂ + 2 oXNɐLĂă^CAEg + 3 ӖsG[ + yz + X[uEFCgRfBVoƂ͋֎~łB + ̏ꍇłG[oȂǂł܂ + ======================================================== */ +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 + // gpȂA +#endif + + // X^[gRfBVƃX[ǔĂяoAWX^AhX̑M + if( iic_mcu_call_slave( slave ) != 0 ) + { + iic_mcu_busy = false; + return ( ERR_NOSLAVE ); + } + + // WX^AhX̑M + iic_mcu_send_a_byte( adrs ); // I܂ŋAĂȂ + // if( err != ERR_SUCCESS )` + + // f[^M // + iic_mcu_send_re_st( ); // X^[gRfBV + iic_mcu_send_a_byte( slave | 0x01 ); // M܂Ŗ߂Ă܂B + + // f[^M + ST0 = 0x0004; // M[hɐݒς̂ŃWbN~ + SCR02 = RXE0 | 1 << SLC02 | 7 << DLS02; // Mݒ + SS0 = 0x0004; // ʐMҋ@ + + do + { + if( len == 1 ) + { + SOE0 = 0x0000; // ŌNAK + } + IICIF10 = 0; + SIO10 = 0xFF; // _~[f[^ƎMJn + while( IICIF10 == 0 ) + {;} // M҂ + + *dest = SIO10; + dest++; + len--; + } + while( len != 0 ); + + iic_mcu_send_sp( ); + + IICIF10 = 0; + iic_mcu_busy = false; + return ( ERR_SUCCESS ); +} + + + + +/* ======================================================== + X[u wPoCgx Cg + O̓]Î҂āACg܂B + Ԓl@iic_mcu_write@ɓ + ======================================================== */ +err iic_mcu_write_a_byte( u8 SLA, u8 adrs, u8 dat ) +{ + +#if 0 + static u8 temp; // ςȂŏIɊ֐𔲂i”\ĵstatic + + // ȂƁAđɏƂɑÕf[^j󂵂Ă܂ + while( iic_mcu_busy ) + { + NOP( ); + } + + temp = dat; + iic_mcu_wo_dma = true; + return ( iic_mcu_write( SLA, adrs, 1, &temp ) ); +#else + // P̎DMAƂNȂłƏI点 + if( iic_mcu_wait_free() != ERR_SUCCESS ) + { + return( ERR_ERR ); + } + + // X^[gRfBVƃX[ǔĂяo... + 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 +} + + + +/* ======================================================== + X[uփCg + WX^ adrs 擪ɁA + *str + len܂B + + 0 I + 1 X[uȂ + 2 oXNɐLĂă^CAEg + 3 OɎwꂽʐM܂IĂȂ + yz + X[uEFCgRfBVoƂ͋֎~łB + ̏ꍇłG[oȂǂł܂ + DMA1gp܂B + ******************************************************************************/ +err iic_mcu_write( u8 slave, u8 adrs, u8 len, void * src ) +{ + if( iic_mcu_wait_free() != ERR_SUCCESS ) + { + return( ERR_ERR ); + } +#if 0 + // gpȂA +#endif + + // X^[gRfBVƃX[ǔĂяo... + 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 ) + { + // DMAgpiʏj + + // WX^AhX𑗂Af[^̏ + memcpy( iic_send_work, src, 4 ); //obt@Ƃ4oCgpӂĖ߁B + // DMAZbg + 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; // ςȂI 荞݂DMAX^[g + // c͊荞݃[` + } + else + { + // DMAgpȂ // + + // WX^AhX̑M + IICMK10 = 0; + SIO10 = adrs; + + iic_send_wo_dma_len = len; + p_iic_send_wo_dma_dat = src; + // c͊荞݃[` + } + + return ( ERR_SUCCESS ); +} + + + + +/* ======================================================== + DMAP]I荞 + IIC_mcu ̑MR[obN֐̂悤Ȃ + FDMA]IŁAI2C̓]͏IĂ܂ +@ 荞ݒȂǂŁADMA1̏xꍇA + IIC10̊荞݂̏łɁA荞݂𔭐ȂȂ + ꂪ܂B܂A@ɂ܂B + @̂߁ADMAdl̍ق́AŌ̃oCg͑M + tÕ|[OŊmF܂B + ======================================================== */ +__interrupt void int_dma1( ) +{ + EI(); + + DMAMK1 = 1; + DEN1 = 0; + while( ( SSR02L & TSF0 ) != 0 ) + { + u16 i = 0; + if( ++i == 0 ) // ^CAEgH + { + break; + } + } + +// iic_mcu_send_sp(); // ISRŊO̊֐ĂԂ͓̂siėpWX^ҔĵœWJ + { + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // SCL +// nop8(); Ă񂶂Ⴞ + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0400 | TAUS_MASK; // SCL + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0404 | TAUS_MASK; + } + + IICMK10 = 1; + iic_mcu_busy = false; +} + + + +/* ======================================================== + IIC MCŨoCgo荞 + DMAgp͎gp܂B + @̊荞ݏDMÅ荞݂ɂ΂ȂꍇA + @IIC荞݂̃ZbgԂɍ킸邱Ƃ܂B + ======================================================== */ +__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; + } + + // Ō̃oCgM + IICMK10 = 1; +// iic_mcu_send_sp(); // ISRŊO̊֐ĂԂ͓̂siėpWX^ҔĵœWJ + { + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // SCL + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0400 | TAUS_MASK; // SCL + NOP(); NOP(); NOP(); NOP(); + NOP(); NOP(); NOP(); NOP(); + SO0 = 0x0404 | TAUS_MASK; + } + + iic_mcu_wo_dma = false; + iic_mcu_busy = false; +} + + + +/* ======================================================== + X[ǔĂяo +@X[uAhXĂŁAACK̊mFB + ACK@@@@@@@@@@@@@@@@@@ԁF0 +@NACK @XgbvRfBVoB@ԁF1 + ======================================================== */ +static err iic_mcu_call_slave( u8 slave ) +{ + iic_mcu_send_st( ); + +// SIR02 = SSR02; // NAKG[̃tONA + if( iic_mcu_send_a_byte( slave ) != ERR_SUCCESS ) + { + iic_mcu_send_sp( ); + return ( ERR_NAK ); // w̃X[uȂ / busy + } + + return ( ERR_SUCCESS ); +} + + + +/* ======================================================== + قƂɂPoCĝ + I܂ŋA܂ + ======================================================== */ +static err iic_mcu_send_a_byte( u8 dat ) +{ + IICMK10 = 1; + IICIF10 = 0; + SIO10 = dat; + while( IICIF10 == 0 ) + { +// NOP( ); + } // ʐM + if( SSR02 != 0 ) + { + SIR02 = SSR02; + return ( ERR_NAK ); + } + return ( ERR_SUCCESS ); +} + + + +/* ======================================================== + X^[gRfBV𔭍s + \tgEFA + ======================================================== */ +static void iic_mcu_send_st( ) +{ + SO0 &= ~0x0004; // SDA + nop8(); + + SO0 &= ~0x0400; // SCL + SOE0 = 0x0004; // n[h + + SCR02 = TXE0 | 1 << SLC02 | 7 << DLS02; // MAf[^͂WrbgP + SS0 = 0x0004; // ʐMҋ@ +} + + + +/* ======================================================== + X^[gs + ======================================================== */ +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( ); +} + + + +/* ======================================================== + XgbvRfBVs + ̑OɁAuŌ̃oCg̑Mv̎ɑOKvłB + ======================================================== */ +static void iic_mcu_send_sp( ) +{ + ST0 = 0x0004; + SOE0 = 0; // M̎͂ƑOɁuvݒ肵ĂB(NACKo) + SO0 = 0x0000 | TAUS_MASK; // SCL + nop8(); + + SO0 = 0x0400 | TAUS_MASK; // SCL + nop8(); + + SO0 = 0x0404 | TAUS_MASK; +} + + + + +/* ======================================================== + ytFW[̏ + ======================================================== */ +void iic_mcu_start( ) +{ + if( iic_mcu_initialized ) + { + return; + } + + iic_mcu_busy = true; + DST1 = 0; + NOP( ); // 2clḱADSTn==0|[O + NOP( ); + DEN1 = 0; + + I2C_PU_on(); + wait_ms( 10 ); // オ̂50usʂ + + SAU0EN = 1; + nop8(); + + SPS0 = 0x0000; // VAjbg̃NbNOB(8M/2)/1 + SMR02 = bSMR0n_FIXEDBIT | bMD0n2; // ȈI2Cɐݒ + SDR02 = 10 << 9; // {[[gݒ 8M/1/(x+1)/2 + + SO0 = 0x0404 | TAUS_MASK; // ŏHH + iic_mcu_wo_dma = false; + + + // oX̃Zbg + IICIF10 = 0; + IICMK10 = 1; + + iic_mcu_send_st(); + + SIO10 = 0xFF; + while( IICIF10 == 0 ){;} // ʐM + iic_mcu_send_sp(); + + SIR02 = SSR02; + + iic_mcu_busy = false; + iic_mcu_initialized = true; +} + + + +/* ======================================================== + W[̒~ + ēxgƂ͏Kv + ======================================================== */ +void iic_mcu_stop( ) +{ + while( iic_mcu_busy ) + {;} // DMA쒆͂҂ + iic_mcu_send_re_st( ); // SCL,SDALLɂ + I2C_PU_off(); + SAU0EN = 0; + iic_mcu_initialized = false; +} + + + + + + + + + + +/* ======================================================== + R[fbN wPoCgx Cg + iic_mcu_write_a_byte CODECs[NAEh + ======================================================== */ +err iic_mcu_write_a_byte_codec( u8 adrs, u8 dat ) +{ + static u8 count; + + // P̎DMAƂNȂłƏI点 + if( iic_mcu_wait_free() != ERR_SUCCESS ) + { + return( ERR_ERR ); + } + + // X^[gRfBVƃX[ǔĂяo... + 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 ); + + // [NAEh + /// X^[gɂă_~[Cg + iic_mcu_send_re_st( ); + iic_mcu_send_a_byte( IIC_SLA_CODEC ); // _~[Cg + iic_mcu_send_a_byte( 0x20 ); + iic_mcu_send_a_byte( count ); + + count ++; + + iic_mcu_send_sp( ); + iic_mcu_busy = false; + return ( ERR_SUCCESS ); +} diff --git a/tags/SDK3.0(2.00)/i2c_mcu.h b/tags/SDK3.0(2.00)/i2c_mcu.h new file mode 100644 index 0000000..af2b1d1 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_mcu.h @@ -0,0 +1,36 @@ +#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 ); + + +// ̒ʐM܂B +#define iic_mcu_set_wo_dma() { while( iic_mcu_busy ){;} iic_mcu_wo_dma = 1; } + +void iic_mcu_start( ); +void iic_mcu_stop( ); + + +#endif diff --git a/tags/SDK3.0(2.00)/i2c_twl.c b/tags/SDK3.0(2.00)/i2c_twl.c new file mode 100644 index 0000000..5971b37 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_twl.c @@ -0,0 +1,228 @@ +#ifndef _WIN32 + +#pragma sfr /* @\WX^gp */ + +#endif + + +/*============================================================================*/ + +#include "config.h" + +#ifndef _WIN32 + +#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_ + +// [LOfI2Ct +#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 +}; + + + + +/*============================================================================*/ + +// I@̓}NȂ̂ŁAreturn̓C[vɖ߂܂B +#define wait_next { \ + tot = 0; \ + while( IICAIF != 1 ){ \ + tot ++; \ + if( tot == 0 ){ \ + LREL = 1; \ + return; \ + } \ + } \ +} + + +__interrupt void int_iic_twl( ) +{ + u8 vreg_adrs; + u8 rcvd; + u16 tot; + u8 state; + + // @ + WREL = 1; // EFCgĎ̃oCg҂ + WDT_Restart(); + state = WAIT_ADRS; + + while( 1 ) + { + u8 my_iics; + + wait_next; // PoCgM҂ + + my_iics = IICS; + IICAIF = 0; + + if( my_iics & 0x02 ) // ( STD && !SPD ) + { + // X^[gRfBV + if( ( my_iics & 0x08 ) == 0 ) // ( TRC ) MtO 0:}CRM + { + // @f}CRłATWLgCƂƂ + // ɗ̂̓X[uĂяo̎ // + WREL = 1; + state = WAIT_ADRS; + /// WX^AhX̂҂ + } + else + { + // BR Rł̃X[uĂяo(X^[gRfBV) // + IICA = vreg_twl_read( vreg_adrs ); // f[^M + // Xgbv҂ALREL = 1 ɂȂƁAMobt@j󂳂邱Ƃ + state = DATA_READED; + } + } + else if( ( my_iics & 0x03 ) == 0 ) // ( !STD && !SPD ) + { + // 炩M + rcvd = IICA; + WREL = 1; + + if( state == WAIT_ADRS ) + { + // A + vreg_adrs = adrs_table_twl_ext2int( rcvd ); + /// f[^邩AX^[gœǂݏô҂ + state = WAIT_DATA; + } + else if( state == DATA_READED ) + { + // f[^1oCgM㔭 + LREL = 1; + return; + } + else + { + // BW + // f[^܂ + SVA = 0x5A; // _~[ + LREL = 1; // X^[gRfBV҂(AݖΉ̂) + vreg_twl_write( vreg_adrs, rcvd ); + SVA = IIC_T_SLAVEADDRESS; + return; // M܂ // + } + } + else if( my_iics & 0x01 ) // SPD + { + // I + 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; // X^[g̋ + IICRSV = 1; // ʐM\Ȃ:X[uɓO + + SPIE = 0; // XgbvRfBVł̊荞݂֎~ + WTIM = 1; // ACKԂclkLɌŒ肷 + ACKE = 1; // _CPU͖Ď̒ʐM͂߂邩ȂőclkJȂƂȂ + + IICWH = 5; + IICWL = 10; // LԂ̒iHj + + 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 diff --git a/tags/SDK3.0(2.00)/i2c_twl.h b/tags/SDK3.0(2.00)/i2c_twl.h new file mode 100644 index 0000000..0f608b0 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_twl.h @@ -0,0 +1,7 @@ +#ifndef _iic_twl_ +#define _iic_twl_ + +void IIC_twl_Init( void ); +void IIC_twl_Stop( void ); + +#endif diff --git a/tags/SDK3.0(2.00)/i2c_twl_defs.h b/tags/SDK3.0(2.00)/i2c_twl_defs.h new file mode 100644 index 0000000..be5d566 --- /dev/null +++ b/tags/SDK3.0(2.00)/i2c_twl_defs.h @@ -0,0 +1,196 @@ +#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 diff --git a/tags/SDK3.0(2.00)/incs.h b/tags/SDK3.0(2.00)/incs.h new file mode 100644 index 0000000..cd33a79 --- /dev/null +++ b/tags/SDK3.0(2.00)/incs.h @@ -0,0 +1,58 @@ +#ifndef _WIN32 +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt +#endif + +#ifndef _WIN32 +#pragma section @@CODE ROM_CODE +//#pragma section @@CNST ROM_CNST +#endif + +#ifdef _WIN32 +// VC̐Ԑǂɂ +#include "sim/simOnWin.h" +# endif + + + +//========================================================= +#ifndef _incs_h_ +#define _incs_h_ + +// v_pc_ƂŐ؂ւĂ܂ +#define _mcu_ + +#include "jhl_defs.h" +#include "user_define.h" + +#include "hal.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 diff --git a/tags/SDK3.0(2.00)/incs_loader.h b/tags/SDK3.0(2.00)/incs_loader.h new file mode 100644 index 0000000..4bb13b5 --- /dev/null +++ b/tags/SDK3.0(2.00)/incs_loader.h @@ -0,0 +1,47 @@ +#ifndef _WIN32 +#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 // ƃX^[gAbv[`l +//#pragma section @@CNST FSL_CNST // ZbgĂȂ +#pragma section @@CNSTL LDR_CNSL + +#endif + +# ifdef _WIN32 +// VC̐Ԑǂɂ +#include "sim/simOnWin.h" +# endif + + +//========================================================= +#include "jhl_defs.h" +#include "user_define.h" + +#include "hal.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( ); diff --git a/tags/SDK3.0(2.00)/ini_VECT.c b/tags/SDK3.0(2.00)/ini_VECT.c new file mode 100644 index 0000000..10ea9ea --- /dev/null +++ b/tags/SDK3.0(2.00)/ini_VECT.c @@ -0,0 +1,383 @@ +#ifndef _WIN32 + +#pragma nop + +#endif + +#include "config.h" + +#ifndef _WIN32 +//#pragma interrupt INTWDTI fn_intwdti // gp +//#pragma interrupt INTLVI fn_intlvi // gp + +//#pragma interrupt INTP0 intp0_slp // SLP (CPUAv) |[O +//#pragma interrupt INTP1 fn_intp1 // (I2C) +//#pragma interrupt INTP2 fn_intp2 // (I2C) +//#pragma interrupt INTP3 fn_intp3 // +#pragma interrupt INTP4 intp4_extdc // EXTDC, doffN̂݁Bʏ̓|[O +#pragma interrupt INTP5 intp5_shell // SHELL_CLOSE, doffN̂݁Bʏ̓|[O +#pragma interrupt INTP6 intp6_PM_irq // CODECoRŋPMICւ̃R}h + +//#ifdef _MCU_BSR_ // 荞݂͎̂̂g܂ +//#pragma interrupt INTP21 intp21_RFTx // dgMpX +//#else +//#pragma interrupt INTP7 intp21_RFTx +//#endif + + +/* + + accero +#ifdef _MCU_BSR_ +#pragma interrupt INTP23 intp23_ACC_ready RB3 // xZTAf[^ +#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 + + +/* +// TS̓}U{ŃeRAWM͉H}eRŌLjvc +#pragma interrupt INTIICA1 int_iic_ctr RB1 + +#pragma interrupt INTIICA0 int_iic_twl RB2 +*/ + +//#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_ +/****************************************************/ +/* gp̃_~[֐` */ +/****************************************************/ +__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 +} + + + +/* ======================================================== + L[^[荞 + ======================================================== */ +__interrupt void int_kr( ) +{ + // N邾 +} + + + +/* ======================================================== + ext dc + ======================================================== */ +__interrupt void intp4( ) +{ + // N邾 +} + + + +/* ======================================================== + shell close + ======================================================== */ +__interrupt void intp5( ) +{ + // N邾 +} + + +#else + +#include "sim/sim_interrupt_decrare.c" + +#endif + diff --git a/tags/SDK3.0(2.00)/jhl_defs.h b/tags/SDK3.0(2.00)/jhl_defs.h new file mode 100644 index 0000000..b0b36c6 --- /dev/null +++ b/tags/SDK3.0(2.00)/jhl_defs.h @@ -0,0 +1,29 @@ +#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; \ + } \ +} + +#endif diff --git a/tags/SDK3.0(2.00)/led.c b/tags/SDK3.0(2.00)/led.c new file mode 100644 index 0000000..65d4bba --- /dev/null +++ b/tags/SDK3.0(2.00)/led.c @@ -0,0 +1,350 @@ +/* ======================================================== + LED.c + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#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 + + + +// ======================================================== +bit ledInitialized; + + +// m点LED̃p^[f[^ +uni_info_LED info_LED; + + +bit info_led_off; +bit info_led_override; + + +// [dۂ +extern bit BT_IN_CHG_delayed_n; + + +// ======================================================== +#define led_fade_to( now, goal ) now = fade_to( now, goal ) + +/* ======================================================== + reg_ledgoalɂȂ܂ŃOf[V + Ƃ肠AXebvŒ + ====================================================== */ +u8 fade_to( u8 now, u8 goal ) +{ + if( now != goal ) + { + if( now > goal ) + { + now --; + } + else + { + now ++; + } + } + 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̃ZbgAƂ肠S + + }X^`lFO@(P01:/reset2)@}X^[͋`lłȂ + X[u@@@@P@rksnB(Rc kdcH) + @@@@@@@@Q@J + @@@@@@@@R@WiFi + @@@@@@@@S@(s͂qsb32kHz out Ɏgp) + @@@@@@@@T@[d + @@@@@@@@U@d k + @@@@@@@@V@d g + */ + TAU0EN = 1; + TPS0 = BIT_PRS012 | BIT_PRS002; // }X^[NbNCK01,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 = 0x00FE; // o̓[hB4PWMo͂Ȃ1ɂȂTO5ȍ~ɃNbN͂Ȃ + + TOL0 = 0x0000; // o͂𔽓]邩tO + + TO0 = 0x0000; // ^C}[쒆ŁA^C}[o͂ɂĂȂƂ̃s̃b`B^C}[o͂gȂȂO + TOE0 = 0x00EE; // TOx^C}[W[H + + TS0 = 0x00EF; // Jn + + TDR00 = LED_BRIGHT_MAX - 1; // 10bit + +// system_status.info_fullcolor = 1; + + LED_duty_notify_red = 0; + LED_duty_notify_blu = 0; + LED_duty_notify_grn = 0; + LED_pow_red = 0; + LED_CAM = 0; + + 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; + ledInitialized = true; +} + + + +void LED_stop( ) +{ + TT0 = 0x00EF; // Ē~iȂƂ߁j + TOE0 = 0x0000; // TOx^C}[W[H(GPIOɂȂ) + TAU0EN = 0; + LED_pow_red = 0; + LED_CAM = 0; + ledInitialized = false; +} + + + + + + + +/* ======================================================== + * 荞݂͎̂̂g܂ * + 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; + } + + // MpX̃b` + if( WIFI_txLatch ) // 荞݃tÔ̂gĂ܂ + { + WIFI_txLatch = 0; + flag_wifi_TX = 1; + } + + if( flag_wifi_TX != 0 ) + { + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_WIFI_TX; + // Mp^[ + 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 ) // _ŌA_ĂԂ̒ + { + state_wifi_tx = 0; + flag_wifi_TX --; + } + task_interval = 25; + return; + } + else + { + task_interval = 30; + // MtO҂ + 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 ++; + } + else + { + LED_duty_WiFi --; + } + } + task_interval = 3; + return; + } +} + + + + + +bit info_led_pattern_updated; +/* ======================================================== + m点LED + ======================================================== */ +// Of[VvZȂ +void calc_info_led_fade_out( st_LED_dim_status* tgt_led ) +{ + tgt_led -> to = 0; + tgt_led -> delta = ( 0 - tgt_led -> now ) / 64; +} + + +void calc_info_led_next_frame( st_LED_dim_status* tgt_led, u8 color ) +{ + tgt_led -> to = color * 128; + // Of[Ṽf^vZ + tgt_led -> delta = (( tgt_led -> to - tgt_led -> now ) ) / info_LED.info_LED.fade_time; +} + + +// { +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 ) + { + // dr؂ꂪD悷 + 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 ) // doffȂNjoff + { + // tF[hAEg + calc_info_led_fade_out( &LED_dim_status_info_R ); + calc_info_led_fade_out( &LED_dim_status_info_G ); + calc_info_led_fade_out( &LED_dim_status_info_B ); + } + 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 + { + // ̃t[ɐi߂H + if( time_to_next_frame == 0 ) + { + time_to_next_frame = info_LED.info_LED.term; + + if( frame >= NOTIFY_LED_TERM -1 ) + { + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] |= REG_BIT_IN_LOOP; + if( info_LED.info_LED.last_loop != 255 ) // 255:[v + { + loops ++; + if( loops > info_LED.info_LED.last_loop ) + { + frame = 0; + } + } + } + else + { + frame = (( frame + 1 ) & 0x1F ); // Ń}XNĂȂƍŏIt[`擪Ԃ̃OfȂ + vreg_ctr[ VREG_C_LED_NOTIFY_FLAG ] &= ~REG_BIT_IN_LOOP; + loops = 0; + } + + // Of[VvZ + calc_info_led_next_frame( &LED_dim_status_info_R, info_LED.info_LED.red[frame] ); + calc_info_led_next_frame( &LED_dim_status_info_G, info_LED.info_LED.grn[frame] ); + calc_info_led_next_frame( &LED_dim_status_info_B, info_LED.info_LED.blu[frame] ); + + } + time_to_next_frame --; + } + } + + led_fade_to2( LED_duty_notify_red, &LED_dim_status_info_R ); + led_fade_to2( LED_duty_notify_grn, &LED_dim_status_info_G ); + led_fade_to2( LED_duty_notify_blu, &LED_dim_status_info_B ); +} diff --git a/tags/SDK3.0(2.00)/led.h b/tags/SDK3.0(2.00)/led.h new file mode 100644 index 0000000..e92d209 --- /dev/null +++ b/tags/SDK3.0(2.00)/led.h @@ -0,0 +1,146 @@ +#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ς܂ +#ifndef _WIN32 +#define LED_pow_red P4.2 +#define LED_CAM P7.5 +#else +#define LED_pow_red mcuRegP[ _P4_2 ] +#define LED_CAM mcuRegP[ _P7_5 ] +#endif + +#define NOTIFY_LED_TERM 32 + + +#define LED_BRIGHT_MAX 0x00FF + +// ==================================== +#define WIFI_txLatch PIF21 // dgMpX + + + +// ==================================== +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_3D +{ + LED_3D_ILM_OFF = 0, + LED_3D_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 +}; + + + +// m点LED֌W // +typedef struct _st_info_LED +{ + u8 term; // 1t[`bNH + u8 fade_time; // `bNŎ̃t[̐FɒB邩 + u8 last_loop; // ŏIt[JԂH + 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; + + +/* + m点LED +*/ +typedef struct _st_LED_dim_status +{ + sx16 to; + sx16 delta; + sx16 now; // _ȉoĂȂĂ͂ȂȂ +}st_LED_dim_status; + + + +// ==================================== +void LED_init( ); +void LED_stop( ); + + +extern void tsk_led_cam(); + + + +// ==================================== +extern bit ledInitialized; +extern bit info_led_override; + + +#endif diff --git a/tags/SDK3.0(2.00)/led_cam.c b/tags/SDK3.0(2.00)/led_cam.c new file mode 100644 index 0000000..5e1c76e --- /dev/null +++ b/tags/SDK3.0(2.00)/led_cam.c @@ -0,0 +1,145 @@ +/******************************************************//** + LED_Cam TO02 +\n BLINK,*_PLUSE ̎́A1͕K̏ԂɂȂ܂B +\n ̊Ԃ OFFBLINK ȂǂƁAOFF܂B + *********************************************************/ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#include "incs.h" +#include "led.h" + + + +// ======================================================== +static u8 state_led_cam = 0; +static u16 task_interval; + +bit cam_led_update; + + + +// ======================================================== +static void cam_led_twl(); + + + +// ======================================================== +void tsk_led_cam( ) +{ + DI(); // WX^ւ݂̏ŋN邱Ƃ邽 + if( !cam_led_update ) + { + if( task_interval != 0 ) + { + task_interval --; + return; + } + } + cam_led_update = false; // TWL ̃uNݒiꔭ_ĵ + EI(); + + if( system_status.pwr_state == SLEEP ) // sleepA + { + LED_CAM = 0; + state_led_cam = 0; + } + else + { + // uN̂悤ɑ҂ƂȊO͖TN + // (WX^̕ύXɂɔ) + switch ( vreg_ctr[VREG_C_LED_CAM] ) + { + case ( CAM_LED_OFF ): + default: + LED_CAM = 0; + state_led_cam = 0; + break; + + case ( CAM_LED_ON ): + LED_CAM = 1; + state_led_cam = 0; + break; + + case ( CAM_LED_BLINK ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + } + else + { + LED_CAM = 0; + state_led_cam = 0; + } + task_interval = 250; + break; + + case ( CAM_LED_ON_PLUSE ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + task_interval = 250; + } + else + { + vreg_ctr[VREG_C_LED_CAM] = CAM_LED_OFF; + } + break; + + case ( CAM_LED_OFF_PLUSE ): + if( state_led_cam == 0 ) + { + LED_CAM = 0; + state_led_cam = 1; + task_interval = 250; + } + else + { + vreg_ctr[VREG_C_LED_CAM] = CAM_LED_ON; + } + break; + + case( CAM_LED_BY_TWL ): + cam_led_twl(); + } + } // if( system_status.pwr_state == sleep ) ... else ... +} + + + +void cam_led_twl() +{ + // TWL݊ // + switch ( vreg_twl[ REG_TWL_INT_ADRS_CAM ] ){ + case( TWL_CAMLED_OFF ): + LED_CAM = 0; + state_led_cam = 0; + break; + + case( TWL_CAMLED_BLINK ): + if( state_led_cam == 0 ) + { + LED_CAM = 1; + state_led_cam = 1; + } + else + { + LED_CAM = 0; + state_led_cam = 0; + } + task_interval = (u8)( 600 / SYS_INTERVAL_TICK ) + 250; + break; + + case( TWL_CAMLED_ON ): + case( TWL_CAMLED_DEF_ON ): + default: + LED_CAM = 1; + state_led_cam = 1; + break; + } +} diff --git a/tags/SDK3.0(2.00)/led_pow.c b/tags/SDK3.0(2.00)/led_pow.c new file mode 100644 index 0000000..08afc5c --- /dev/null +++ b/tags/SDK3.0(2.00)/led_pow.c @@ -0,0 +1,269 @@ +/* ======================================================== + // dLED + LED_POW_B,R 6,7 + + TDR00@(0x03FFBTPS0250kHzŃJEgAbvB10bitȂ250HzʂɂȂ) + TDR0x@Duty 0ŏATDR00( =0x03FFȏ)œ_łB + + enum pwr_state_{ + OFF_TRIG = 0, + ON_CHECK, + ON_TRIG, + ON, + SLEEP +}; + +enum LED_ILUM_MODE{ + LED_POW_ILM_AUTO, + LED_POW_ILM_ON, + LED_POW_ILM_SLEEP, + LED_POW_ILM_CEOFF +}; + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr + +#endif + +#include "incs.h" +#include "led.h" + + +// ======================================================== +// X[vł̃e[uB}WB +const u8 LED_PTN_SLEEP[] = { + 25, 38, 52, 68, 83, 98, 110, 119, + 125, 128, 128, 125, 119, 110, 98, 83, + 68, 52, 38, 25, 16, 10, 8, 8, + 8, 8, 8, 8, 8, 8, 10, 16 + }; + + +// LED̓drcLED̓_Ńp^[ +st_led_red_batt_empty led_red_batt_empty = { 0x55, 0x55, 0x55, 0x55 }; +#define LED_SLEEP_FRAME_LEN 71 +#define LED_SLEEP_DIM_LEN 71 +#define LED_SLEEP_FRAME_NUM 32 + + + +// ======================================================== +static void led_pow_normal( ); +static void led_pow_sleep( ); +static void led_pow_bt_empty(); +static u8 led_pow_batt_low(); + +#define led_fade_to( now, goal ) now = fade_to( now, goal ) +extern u8 fade_to( u8 now, u8 goal ); + +#define led_fade_to2( led, status ) led = fade_to2( status ) +extern u8 fade_to2( st_LED_dim_status* status ); + + + +// ======================================================== +// dLED̃X[vp^[̃Xe[^X +u8 time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; +u8 frame_sleep; +st_LED_dim_status LED_dim_status_sleep; + +extern bit ledInitialized; +extern bit BT_IN_CHG_delayed_n; + + + +// ======================================================== +void tsk_led_pow( ) +{ + if( ! ledInitialized ) + { + return; + // ܂ + } + + info_led_override = false; + + switch ( vreg_ctr[VREG_C_LED_POW] ) + { + case ( LED_POW_ILM_AUTO ): + default: + led_pow_normal( ); + break; + + case ( LED_POW_ILM_SLEEP ): + led_pow_sleep( ); + break; + + case ( LED_POW_ILM_ON ): + led_fade_to( LED_duty_pow_blu, vreg_ctr[VREG_C_LED_BRIGHT] ); + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_OFF ): + led_fade_to( LED_duty_pow_blu, 0 ); + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_ONLY_RED ): + LED_duty_pow_blu = 0; + LED_pow_red = 1; + break; + + case ( LED_POW_ILM_ONLY_BLUE ): + LED_duty_pow_blu = LED_BRIGHT_MAX; + LED_pow_red = 0; + break; + + case ( LED_POW_ILM_FORCE_BT_EMPTY ): + led_pow_bt_empty(); + break; + } + + if( system_status.pwr_state == OFF || system_status.pwr_state == ON_CHECK ) + { + LED_pow_red = 0; + info_led_override = false; + } + + if( info_led_override ) + { + LED_duty_notify_blu = 0; + LED_duty_notify_grn = 0; + LED_duty_notify_red = ( LED_pow_red == 0 )? 0 : 255; + } +} + + + +/* ======================================================== + drcʂŁA@ԁԓ_ + ======================================================== */ +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] ); +} + + + +/* ======================================================== + z^p^[ + drcʂŐԁԓ_łɂ + ======================================================== */ +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; + + // Of[Ṽf^vZ + 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 ); + + // ̃t[ɐi߂H + time_to_next_frame_sleep --; + if( time_to_next_frame_sleep == 0 ) + { + time_to_next_frame_sleep = LED_SLEEP_FRAME_LEN; + + frame_sleep ++; + if( frame_sleep >= LED_SLEEP_FRAME_NUM -1 ) + { + frame_sleep = 0; + } + } +} + + + +/* ======================================================== + drȂƂ̋ +@ԒlF@0@drȂȂ +@@@@@1@@@@Ȃ̂ŋʃp^[ɂ + ======================================================== */ +static u8 led_pow_batt_low() +{ + if( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO ) + { + LED_pow_red = 0; + return 0; + // ܂ + } + + if(( vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_EMPTY ) || !BT_IN_CHG_delayed_n ) + // drcʂ5%i`10%j@܂́Aꖢł[d + { + // ԓ_ + led_fade_to( LED_duty_pow_blu, 0 ); + { + LED_pow_red = 1; + } + + } + else // dr5%@@A_v^Ȃ + { + led_pow_bt_empty(); + } + return 1; +} + + + + +/* ======================================================== +@drȂp^[ +@@wp^[𗬂 +@@m点㏑肷 + ======================================================== */ +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 ); + + // Ԃ̓_Ńp^[wł + delay ++; + if( delay < 64 ) // t[̕ێԉ҂ + { + return; + } + delay = 0; + + if( led_red_batt_empty.dats[ red_blink_poi / 8 ] & ( 1 << ( red_blink_poi % 8 )) ) + { + LED_pow_red = 1; + } + else + { + LED_pow_red = 0; + } + red_blink_poi ++; + if( red_blink_poi >= 32 ) + { + red_blink_poi = 0; + } +} + + diff --git a/tags/SDK3.0(2.00)/loader.c b/tags/SDK3.0(2.00)/loader.c new file mode 100644 index 0000000..403ab61 --- /dev/null +++ b/tags/SDK3.0(2.00)/loader.c @@ -0,0 +1,382 @@ +/* ======================================================== + MCU CTR BSR + 2009/03/30 + JZp c + + u[g[_[ + zXg̒ʐMƁAȏAt@[̃`FbNsB + + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt +#pragma opc + +#endif +#include "incs_loader.h" + +#include +#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( ); +static void chk_platform_type(); +static void chk_firm_broke(); + + +extern void main_loop( ); + + + +// ======================================================== +void main( ) +{ + while( 1 ) + { + WDT_Restart( ); + + if( RTCEN ) // TRAP(update)ɂgȂBWDTł͗Ȃ + { + 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̏ɍs + 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 ) + { + // ʏ̓d + // drڑAƑ҂Ă݂(`^O΍) + u16 pwup_delay0; + for( pwup_delay0 = 0xFFFF; pwup_delay0 != 0; pwup_delay0 -- ){;}; + } + + hdwinit2( ); + +#ifndef _WIN32 + // t@[̐`FbN // + chk_firm_broke(); +#endif + + // V䔻 + chk_platform_type(); + + // ʏ^] + main_loop( ); + } +} + + + +void chk_firm_broke() +{ + u8 i; + u8 comp = 0; + + // [_[Ɩ{͓̂o[WH + /// ւ̃Abvf[g̓rŏIĂȂH + 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 ++; + } + + if( comp != 0 ) + { + // t@[XgA݂ + firm_restore( ); + // AĂȂBZbgB + } +} + + +/* ======================================================== + fobK‚ȂłƏɔłȂƂ܂B +CTRt@~ + DEV_DET(P12.[2:1]) + +CTR̊J@ + P40,41 !! fobOLP40LMCUN܂I + HH @ + HL NBDV + LH X^hAV + LL ISfobK +======================================================== */ +void chk_platform_type() +{ + // CTRt@~ // + system_status.family = (enum _family)( DEV_DET >> 1 ); /// ... + if( system_status.family == FAMILY_SPFL ) + { + pm_reg_bit_vddlcd = PM_REG_BIT_VDDLCD_AMO; + } + else + { + pm_reg_bit_vddlcd = PM_REG_BIT_VDDLCD_CGS; + } + + // CTR̊J@ // + // ꉞ + system_status.is_dev = false; + system_status.taikendai = false; + system_status.taikendai_nbd = false; + + switch( DIPSW ) + { + case DIPSW_TAIKENDAI: + system_status.taikendai = true; + break; + + case DIPSW_TAIKENDAI_NBD: + system_status.taikendai_nbd = true; + break; + + case DIPSW_ISDEV: + system_status.is_dev = true; + break; + } +#ifdef _FORCE_TAIKENDAI_ + system_status.taikendai = true; +#endif + +#ifdef _FORCE_TAIKENDAI_NBD_ + system_status.taikendai_nbd = true; +#endif +} + + + + +// ======================================================== +void hdwinit( void ) +{ // X^[gAbv[`ɌĂт܂ + DI( ); /* }X^荞݋֎~ */ + + CMC = bits8(0,0,0,1, 0,0,0,0); /* X1U(̓|[g)AXT1gpAd͔U͕sɕtʏ */ + CSC = bits8(1,0,0,0, 0,0,0,0); /* X1UȂAXT1UAU */ + OSMC = 0x01; /* BWX^ */ + CKC = bits8(0,0,0,0, 1,0,0,0); /* CPU/ӃNbN=fMAINAfMAIN=fMXAfCLK=fMX */ + + /*--- doH̐ݒ ---*/ + /* Zbg̃ftHǵAIvVEoCgɂĎw肳 */ + LVIS = 0x00; /* VLVI = 4.22}0.1V */ +// LVIM = 0x00; /* LVI֎~ */ + /* dd(VDD)od(VLVI)Ɋ */ + /* dd(VDD)od 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 + +### debug enable bit check ############# +# fobO‚ɂȂĂISfobKŋNȂiMCU삵Ȃj +p bindata[0xC3] +if( bindata[0xC3] != 0x04 ) + print( "!E debug enable!!" ) + exit( 1 ) +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" ) diff --git a/tags/SDK3.0(2.00)/pedo_alg_thre_det2.c b/tags/SDK3.0(2.00)/pedo_alg_thre_det2.c new file mode 100644 index 0000000..8a136b0 --- /dev/null +++ b/tags/SDK3.0(2.00)/pedo_alg_thre_det2.c @@ -0,0 +1,569 @@ +/* ******************************************************** + v + 3x̃A^Cf[^AxNg̃moA + 臒l𒴂鎞ԁAԊuAm̑傫臒l؂ւȂ +********************************************************* */ +#ifndef _WIN32 + +#pragma mul +#pragma div +#pragma bcd + +#endif + +#include "incs.h" + +#ifndef _WIN32 +#include +#endif + +#include "accero.h" +#include "pedometer.h" + +#include "pedo_lpf_coeff.h" +#include "pool.h" + +// ======================================================== +// ̍ŏIL^ +// ̏Ԃ̓OǂݏȍԂł̂łȂł +// ԂɃAhX̎Ⴂ̂mۂ̂҂Ă܂... +typedef struct{ + u8 hour_bcd; + u8 day_bcd; + u8 month_bcd; + u8 year_bcd; + u8 min_bcd; + u8 sec_bcd; +}st_calender; + + + +// ======================================================== +static u16 get_long_hour(); +static u16 calc_hours_spend( u8 ); + + + +// ======================================================== +bit pedolog_overflow; // 192ԋL^ς݃tO(i2cœǂ߂) +extern uni_pool pool; // O͂̍\̂̒ +static u8 p_record; // Ȍ݈ʒu +static st_calender cal_log_latest; // ŌɕXV +static u16 last_hour_fny; // fny:from new year +static st_calender cal_temp; +static u16 now_longhour; + + + + + + +// ======================================================== +#define _use_my_sqrt_ +#ifdef _use_my_sqrt_ +unsigned long my_sqrt(); +#endif + +// N͉[NH +#define is_leapyear( y ) (( y & 0x03 ) == 0 ) +// uNv͉[NH +#define is_firstyear( y ) (( y & 0x03 ) == 1 ) + + + +/*========================================================= +@v + ========================================================*/ +void pedometer() +{ + static s16 th_H = 15000; // 臒lBIύX܂ + static s16 th_L = 11000; + static u16 acc_norm[3]; // x̑傫̃qXgB傫 + static u16 acc_norm_temp; + static u8 interval_hh = 0xFF; // R-RԂ̎ԁBZ߂͂B + static u8 time_l; // Őɏ̌oߎ + static u16 peak_l; // J̐[ + static u16 norm_hist[TAP]; + + static u8 hist_indx; + + signed long filterd; + + u8 i; + + u16 sx16,sy16,sz16; + + DI(); + sx16 = abs( (u16)vreg_ctr[VREG_C_ACC_XH] * 256 + vreg_ctr[VREG_C_ACC_XL] ); + sy16 = abs( (u16)vreg_ctr[VREG_C_ACC_YH] * 256 + vreg_ctr[VREG_C_ACC_YL] ); + sz16 = abs( (u16)vreg_ctr[VREG_C_ACC_ZH] * 256 + vreg_ctr[VREG_C_ACC_ZL] ); + EI(); + + // xNg̃m +#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 ++; + + // qXgɃtB^(fir)|āA̒l߂ // + filterd = 0; +// for( i = 8; i != 55; i++ ) // WO΂̂ + for( i = 0; i != 46; i++ ) // We[u܂Bp[^ + { + filterd += (signed long)norm_hist[ ( hist_indx + i ) & TAP-1 ] * lpf_coeff[ i ]; + } + + filterd += (4096)*512; // DCZ...Ǝv + acc_norm_temp = (s16)( filterd /1024 & 0xFFFF ); // FIL_COEFF_QUANT琳K +/* + if( acc_norm[0] < acc_norm_temp ) + { + t_rise ++; + if( t_rise == 0 ) + t_rise == 254; + } + else + { + t_rise = 0; + } +*/ + if( acc_norm[0] != acc_norm_temp ) + { + acc_norm[2] = acc_norm[1]; // qXg + 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 ) + // ɑŁA臒l𒴂Ă + { + if( 21 < interval_hh ) + // Őɑ傩̊Ԋuقǂ悢 + { + if(( interval_hh < 160 ) && ( time_l < interval_hh )) + // Jł + { + if( acc_norm[0] - peak_l > 4200 ){ + // ܂ + hosu_increment_if_necessary(); + } + } + interval_hh = 0; + } + // Ȃ񂿂臒l̓IύX + if( acc_norm[0] > 18000 ) + { + th_L = acc_norm[0] - 10000; + } + else + { + th_L = 11000; + } + } + else + { + if( interval_hh != 255 ) // OaZĊyɏ炢̂ + { + interval_hh ++; + } + } + + // (2) ߂̋ɏ̎ + if( acc_norm[2] >= acc_norm[1] && acc_norm[1] < acc_norm[0] + && acc_norm[0] < th_L ) + { + // ɏo + time_l = 0; + peak_l = acc_norm[0]; + } + else + { + if( time_l != 255 ) + { + time_l ++; + } + } +} + + +/*========================================================= +@{P +@@ݐςCNg + @XV + *2011/01/20 + dlύX@OςɂȂ炻Ŏ~߂ + ========================================================*/ + + +#define HOSU_NODATA 0xFFFF +#define HOSU_MAX 0xFFFE + +void hosu_increment_if_necessary() +{ + u8 year_compd; // hourE␳ς݌ݔNBcomp(ensation -ed) + + // ݎ擾 + DI(); + RWAIT = 1; + while( !RWST ){;} + + cal_temp.hour_bcd = HOUR; + cal_temp.day_bcd = DAY; + cal_temp.month_bcd = MONTH; + cal_temp.year_bcd = YEAR; + cal_temp.min_bcd = MIN; + cal_temp.sec_bcd = SEC; + + RWAIT = 0; + EI(); + + year_compd = bcdtob( cal_temp.year_bcd ); + + now_longhour = get_long_hour(); + + // ݃|C^̍XV + if( ! ( vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 && // vonAŏ̈܂ł͑O񂩂̌oߎԂvZȂ + vreg_ctr[ VREG_C_ACC_HOSU_M ] == 0 && + vreg_ctr[ VREG_C_ACC_HOSU_H ] == 0 )) //. SrbgORŃ[肷̂̓fW^H݂̕ + { + // v~܂ĂԂlĕKvȂi߂ + // ␳vZ@U뎞ōɂȂꍇAA23ɏ㏑ + if( now_longhour == (u16)-1 ) // }WbNio[Ƃł͂ȂĎۂɌvZʂ-1 + { + now_longhour = 365 * 24 -1; + if( is_firstyear(year_compd) ) + { + now_longhour += 24; + } + year_compd --; + } + fill_hosu_hist_hours( calc_hours_spend( year_compd ) ); // ݃|C^̍XVs + + // OӂŋL^~H + if( pedolog_overflow ) + { + return; + // ܂BO̍XVȂB + } + } + + // CNgėǂ + cal_log_latest = cal_temp; // OXV + last_hour_fny = now_longhour; + + // O@CNg + if( pool.vreg_c_ext.pedo_log[ p_record ] == HOSU_MAX ) + { + // Ȃł܂ + //. v̍vƗ݌vȂȂ̂邽߂낤ǁAǂȂ́H + return; + } + else if( pool.vreg_c_ext.pedo_log[ p_record ] == HOSU_NODATA ) // ̎ԑэŏ̃JEg̎ + { // ꂵȂ1Ȃ + pool.vreg_c_ext.pedo_log[ p_record ] = 1; + } + else + { + // ʏpX + pool.vreg_c_ext.pedo_log[ p_record ] ++; + } + + // ݐς̍XV // + DI(); + if( ++vreg_ctr[ VREG_C_ACC_HOSU_L ] == 0 ) // JXg`FbN + { + 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; //. 낢뎸s... + vreg_ctr[ VREG_C_ACC_HOSU_M ] = 255; + vreg_ctr[ VREG_C_ACC_HOSU_H ] = 255; + } + } + } + EI(); +} + + + +/* ======================================================== +󔒂̎ԂK؂0ɂāA +܂ނPԂ̃f[^ʒuɃ|C^Hi߂ +======================================================== */ +static void fill_hosu_hist_hours( u16 hours ) +{ + // OӂH + if( (u16)p_record + hours >= PEDOMETER_LOG_SIZE ) + { + pedolog_overflow = true; + return; + } + + // 󔒂̐Ԃ̐ݒ + while( hours != 0 ) + { + // Vdl@ςŒ~ + p_record ++; +#if 1 // debug + if( p_record >= PEDOMETER_LOG_SIZE ) + { + pedolog_overflow = true; +// dbg_nop(); // ɗ悤ƃoO + break; + } + else +#endif + { + pool.vreg_c_ext.pedo_log[ p_record ] = 0; + } + hours --; + } + + return; +} + + + +/* ======================================================== +󔒂̎ԂK؂0ɂāA +܂ނPԂ̃f[^ʒuɃ|C^Hi߂ +======================================================== */ +void clear_hosu_hist() +{ + u8 hours = PEDOMETER_LOG_SIZE; + do + { + hours --; + pool.vreg_c_ext.pedo_log[ hours ] = 0xFFFF; + } + while( hours != 0 ); + + DI(); + 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; + pedolog_overflow = false; + EI(); +} + + +extern u8 iic_burst_state; +bit pedolog_read_msb; +/* ======================================================== + vqXgǂݏǒ㏈() + ǂݏo|C^̃NA +======================================================== */ +/* }Nɂ܂ +void hosu_read_end( ) +{ + pedolog_read_msb = 0; +} +*/ + + + +/* ======================================================== + ṽqXgԂB + PĂԓxɁAqXg̉ʁAʁAꎞԑkĉʏ... +======================================================== */ +u8 hosu_read( ) +{ + u8 rv; + static u8 p_record_buffer; + static st_calender cal_buff; // ꉞAAg~bN + + if( iic_burst_state == 0 ) + { + p_record_buffer = p_record; + DI(); + cal_buff = cal_log_latest; + EI(); + } + + if( iic_burst_state <= 5 ) + { + rv = *( (u8*)&cal_buff + iic_burst_state ); // + iic_burst_state ++; + return( rv ); + } + else + { + u16 temp; + // 16rbgŋL^Ă̂ł΂炵đ /// Ɗy@񂶂 + temp = pool.vreg_c_ext.pedo_log[ p_record_buffer ]; + if( !pedolog_read_msb ) + { + rv = (u8)( temp & 0x00FF ); + } + else + { + rv = (u8)(( temp >> 8 ) & 0x00FF ); + if( p_record_buffer == 0 ) + { + p_record_buffer = PEDOMETER_LOG_SIZE-1; + } + else + { + p_record_buffer --; + } + } + pedolog_read_msb ^= 1; + return( rv ); + } + +} + + + +/* ======================================================== + ŇǓoߎ(hour)ԂB + + Ԓl u16 long_hour +======================================================== */ +const u16 DAYS_FROM_HNY[] = { + 0, + 31, + 31+28, // =59B@cRO͂PTX + 31+28+31, + 31+28+31+30, + 31+28+31+30+31, + 31+28+31+30+31+30, + 31+28+31+30+31+30+31, + 31+28+31+30+31+30+31+31, + 31+28+31+30+31+30+31+31+30, + 31+28+31+30+31+30+31+31+30+31, + 31+28+31+30+31+30+31+31+30+31+30 + }; + +static u16 get_long_hour() +{ + u8 year = bcdtob( cal_temp.year_bcd ); + u8 month = bcdtob( cal_temp.month_bcd ); + u8 day = bcdtob( cal_temp.day_bcd ); + u8 hour = bcdtob( cal_temp.hour_bcd ); + u8 min_bcd = cal_temp.min_bcd; // 召rȂ̂bcd̂܂܂ł悢 + u8 sec_bcd = cal_temp.sec_bcd; + u16 long_hour; + + // ܂̕ + long_hour = DAYS_FROM_HNY[ month -1 ]; // -1̓CfbNX킹 + if( is_leapyear(year) && ( 3 <= month )) + { + // [NŁA[ + long_hour ++; + } + long_hour += day - 1; + long_hour *= 24; // + + long_hour += hour; + + // EȆOHH + if( ( min_bcd > vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) + || ( ( min_bcd >= vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY ] ) + && ( sec_bcd >= vreg_ctr[ VREG_C_ACC_HOSU_HOUR_BOUNDARY_SEC ] )) + ) + { + return( long_hour ); + } + else + { + return( long_hour -1 ); // 1ԑOɊ܂߂ ӁFUōNɂƂB-1 ɂȂ + } +} + + + +/* ======================================================== +@yʕB +@Kv\Ȑxőł؂ + pcŃV~[Vđv +======================================================== */ +static 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; +} + + + + +/* ======================================================== +@‚ OĂ΂ꂽƁAݎ̍߂BԂ̂fill_hosu_hist_hours ɂ̂܂ܓn + //. year_bcd Ȃ̂Ƃ₾... +======================================================== */ +static u16 calc_hours_spend( u8 year ) +{ + u8 cal_log_latest_year = bcdtob( cal_log_latest.year_bcd ); + + // N̓ + if( cal_log_latest_year == year ) + { + if( now_longhour > last_hour_fny ) + { + return( now_longhour - last_hour_fny ); + } + else if( now_longhour == 0 && last_hour_fny != 0 ) + { + // N΂ŁAEzځBȂƍNŌɉZĂ܂B + return( 1 ); + } + else + { + return( 0 ); // ԑ(ƁA߂B@ǂȂĂmȂ) + } + } + else if( cal_log_latest_year == ( year -1 ) ) + { + // N܂łƂ + u16 temp = 365 * 24 - last_hour_fny + now_longhour; + if( is_firstyear(year) ) + { + temp += 24; + } + return( temp ); + } + else if( cal_log_latest_year < year ) + { + // Nu + return( PEDOMETER_LOG_SIZE +1 ); + } + else + { + // J_[߂Ȃ + // m[PAł悢cAslƂ킯ɂȂ + return( 0 ); + } +} diff --git a/tags/SDK3.0(2.00)/pedo_lpf_coeff.h b/tags/SDK3.0(2.00)/pedo_lpf_coeff.h new file mode 100644 index 0000000..f81d6c2 --- /dev/null +++ b/tags/SDK3.0(2.00)/pedo_lpf_coeff.h @@ -0,0 +1,84 @@ +#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 diff --git a/tags/SDK3.0(2.00)/pedometer.h b/tags/SDK3.0(2.00)/pedometer.h new file mode 100644 index 0000000..8760308 --- /dev/null +++ b/tags/SDK3.0(2.00)/pedometer.h @@ -0,0 +1,36 @@ +#ifndef _pedo_ +#define _pedo_ + +#ifdef WIN32 +typedef unsigned char bit; +typedef unsigned char u8; +typedef unsigned short u16; + + +#endif + + +// ========================================================= +extern bit pedolog_read_msb; + + + +// ========================================================= +//void hosu_read_end( ); }N +#define hosu_read_end() pedolog_read_msb = 0 + +u8 hosu_read( ); +void hosu_increment_if_necessary(); +void fill_hosu_hist_hours( u16 ); +void clear_hosu_hist(); +void pedometer(); + + + +// ========================================================= +#define PEDOMETER_LOG_SIZE ( 24 * 7 ) + + + +// ========================================================= +#endif diff --git a/tags/SDK3.0(2.00)/pm.c b/tags/SDK3.0(2.00)/pm.c new file mode 100644 index 0000000..d86e7e1 --- /dev/null +++ b/tags/SDK3.0(2.00)/pm.c @@ -0,0 +1,1387 @@ +/* ======================================================== + PMIC + cJZ + nintendo + '08 Dec + ======================================================== */ +#ifndef _WIN32 + +#pragma nop + +#endif + +#include "incs.h" +#include "adc.h" +#include "led.h" +#include "pm.h" +#include "renge\renge.h" + +#include "batt_params.h" + +#include +#include "fsl_user.h" + + + +// ======================================================== +u8 raw_adc_temperature; +BT_VENDER battery_manufacturer = BT_VENDER_NOT_CHECKED; +static u8 ntr_pm_reg_shadow; // NTR PMIC WX^~[ +bit bt_authorized; // obep[^MρB[dJn +u8 chg_led_override; // A_v^ƂA[d邵ȂɊւ炸΂炭_ + +static u16 bt_volt16; + +static bit ntr_pm_bt_low_old; +bit BT_IN_CHG_delayed_n; + +bit temp_zone_charge_disable; // xŏ[d~鎞ɃqXeVXt邽 + +u8 pmic_version; +u8 mgic_version[2]; + +static bt_param_* p_bt_param; + +static err send_cmd_mgic_2B( u8 reg, u16 dat ); +static err read_mgic_2B( u8 reg, u8* dat ); + +static err read_BT_SOC( u8* dest ); +static err read_BT_voltage( u8* dest ); + +static u8 conv_ctr_bt_to_twl_bt(); + +u8 pm_reg_bit_vddlcd; + + +// ======================================================== +static void BT_model_detect(); +static void BT_mgic_quick_start(); +static void BT_mgic_init(); +static void bt_chk_temparature(); +static void bt_get_charge_status(); +static void bt_param_select(); +static void bt_batt_update_twl(); +static void bt_batt_update_ntr(); + + + +// ======================================================== +#define swap_endian_16( x ) (unsigned int)(( x << 8 ) | ( x >> 8 )) + + + +// ======================================================== +const u8 BT_MANUF_BORDER[] = { + 5, 33, 79, 123, 158, 197, 233 + }; + + +/* ======================================================== + dr̊Ǘ + + ȉ̃s͎ɂőEĎ܂B + EPM_BT_AUTH AGPI in + EPM_CHARGE_n CCIC /CHG in + EPM_CHARGE_ERR_n /FLT in + EPM_EXTDC_n /DOK INTP4 in + EPM_CHARGE_EN_n /CEN out + + ȉ͊̕֌W肻łʂ̂ƂŎɊĎĂ܂B + ELED_Pow R, B, Charge tsk_LED + EBT_TEMP,_P tsk_ADC + + PM_EXTDC͊荞݃Cɂ邩 + ======================================================== */ +#define INTERVAL_TSK_BATT 60 +// 100Ə[dG[ɂ܂_łȂ̂ + +void tsk_batt( ) +{ + static u8 task_interval = 0; + + if( system_status.pwr_state == OFF_TRIG ) // OFF_TRIG͈񂵂Ȃ̂ + { // [d̂Ɏhuԓd؂ƁA5secdēłsցBႤ + chg_led_override = 0; + } + else + { + if( task_interval -- != 0 ) + { + return; + } + else + { + task_interval = (u8)( INTERVAL_TSK_BATT / SYS_INTERVAL_TICK ); + } + } + + // A_v^Xe[^XXV // + pm_chk_adapter(); + + // [d // + bt_chk_temparature(); // x`FbN + if( !temp_zone_charge_disable && bt_authorized && !PM_EXTDC_n ) + { + BT_CHG_ENABLE(); // x͈OKŏ[dĊJ + } + else + { + BT_CHG_DISABLE(); // x댯I@[d~ + } + + bt_get_charge_status(); // CCIC + + if( ! BT_IN_CHG_delayed_n ) // LEDɔf + { + LED_CHARGE = 1; + } + else + { + LED_CHARGE = 0; + } + + // A_v^‚ȂuԁA[dłb킴Ɠ_BdĂ邱Ƃ킩点邽߁B + if( chg_led_override != 0 ){ // 猩΂킩邪Au(NbN)鎖BC‚l邩ȁcH + chg_led_override --; + LED_CHARGE = 1; + } + + // WX^̏[drbgLEDɓ + set_bit( LED_CHARGE, vreg_ctr[VREG_C_STATUS], REG_BIT_BATT_CHARGE ); // set_bit̂݁B + + // 荞 + // tsk_misc󂯂 + + // drc // + if( system_status.pwr_state != ON_CHECK ) + { + BT_get_left(); + } +} + + +#define RAW_TEMP_LH 75 // 50 [degC] +#define RAW_TEMP_LL 61 // 55 +#define RAW_TEMP_HL 184 // 1 +#define RAW_TEMP_HH 189 // -1 +#define AVG_COUNT 40 + +/* ******************************************************* + x`FbN + xtqXeVX + ******************************************************* */ +void bt_chk_temparature() +{ + static u8 heikinka_h,heikinka_l; + + if(( RAW_TEMP_LH <= raw_adc_temperature ) + && ( raw_adc_temperature <= RAW_TEMP_HL )) + { + if( heikinka_h < AVG_COUNT ) + { + heikinka_h++; + } + else + { + temp_zone_charge_disable = false; // [d + } + } + else if(( raw_adc_temperature <= RAW_TEMP_LL ) + || ( RAW_TEMP_HH <= raw_adc_temperature )) + { + if( heikinka_l < AVG_COUNT ) + { + heikinka_l++; + } + else + { + temp_zone_charge_disable = true; // [d֎~ + } + } + else + { + // temp_zone_charge_disable ̂܂ + heikinka_h = 0; + heikinka_l = 0; + } +} + + + +void bt_get_charge_status() +{ + // CCIC̕s̂߁A/CHG̃lQ[gƒJɒx + static u8 anti_chatter; + + if( !BT_IN_CHG_n ) + { + // Ƀ`^O + if( anti_chatter < 2 ) // drŃA_v^āAdɂ킳 + { // Ə[dLED̂ + anti_chatter++; + } + else + { + BT_IN_CHG_delayed_n = 0; // [d + } + } + else + { + // "Jɒx" todo:Ƃ@H + if( !BT_CHG_Ena_n && vreg_ctr[ VREG_C_BT_REMAIN ] < 60 ) + { + BT_IN_CHG_delayed_n = 0; // [dƈB[dIĂ͂Ȃ + } + else + { + BT_IN_CHG_delayed_n = 1; + anti_chatter = 0; + } + } +} + + + +/******************************************************** +A_v^̗L`FbN + doff̃A_v^ŊOĂ΂邽ߕ + ***********************************************************/ +void pm_chk_adapter() +{ + static bit pm_extdc_old; + + if( pm_extdc_old != PM_EXTDC_n ) // HAL ʂ߁A PM_EXTDC_n volatile ɂSzȂ + { + pm_extdc_old = PM_EXTDC_n; + if( !PM_EXTDC_n ) + { + // h + set_bit( 1, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY ); + set_irq( VREG_C_IRQ1, REG_BIT_BT_DC_CONNECT ); + chg_led_override = (u8)( 3000 / INTERVAL_TSK_BATT ); + } + else + { + u8 temp_v[2]; + + // + set_bit( 0, vreg_ctr[VREG_C_STATUS], REG_BIT_POW_SUPPLY ); + set_irq( VREG_C_IRQ1, REG_BIT_BT_DC_DISC ); + chg_led_override = 0; + + // drcʂ1%ŁAA_v^L̎ɂ͖{̂NAQ[ + // 1%ɉ񕜂OɃA_v^ƂA荞݂ȂƊҒʂ + // łȂBʑΉ̂߂ + if( read_mgic_2B( BT_GAUGE_REG_VCELL, temp_v ) == ERR_SUCCESS ) + { + bt_volt16 = ( temp_v[0] * 256 + temp_v[1] ); + } + + if(( bt_volt16 < V_TH_ZERO ) || ( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 )) + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); + } + } + } +} + + + +/******************************************************** +dr֌W̏ + +@@@Q[W@@b@L@@@@@b@ +@@[[[[[[[[[[[[[[[[[[[[[[[ +@@@dr@Lb@@@@@@@b@H +@@[[[[[[[[[[[[[[[[[[[[[[[ +@@@@@@b@@@@@@b@sr +@@@@@@@@b@@dr@b +@@[[[[[[[[[[[[[[[[[[[[[[[ + +@@Q[WLAdr@̔^@ʂ́A +@drxŔ肷 + + ԒlF@dr 0xFF + drςĂȂ 0 + drς 1 + +***********************************************************/ +bit bt_force_update; + +void BT_chk() +{ + BT_VENDER battery_manufacturer_old; + + battery_manufacturer_old = battery_manufacturer; + + BT_model_detect(); + bt_param_select(); // obecʕ␳p[^ȂǃZbg @łAƂ肠̒l(pi)wɂĂB + // ʂrcompvZ邪A|C^QƂ̂₾A@ȂvZȂƂʓ| + + if( system_status.model != MODEL_JIKKI ) + { + bt_authorized = false; + return; + // ܂ + } + + if(( battery_manufacturer_old != battery_manufacturer ) || + bt_force_update ) + { + bt_force_update = false; + iic_mcu_start( ); // ŏtOĂ̂ŌĂт܂ėǂ@ȂƂɁcorz + if( (( battery_manufacturer_old == BT_VENDER_OPEN ) || + ( battery_manufacturer_old == BT_VENDER_NOT_CHECKED )) && + !system_status.reboot ) + { + BT_mgic_quick_start(); + } + BT_mgic_init(); // @픻s܂ + } + bt_authorized = true; + renge_task_immed_add( tski_BT_temp_update ); // drxĎX^[g +} + + + + +void BT_model_detect() +{ + u8 temp; + + BT_DET_P = 1; + BT_TEMP_P = 1; + wait_ms( 5 ); // dオ̂ɎԂ| + + raw_adc_temperature = get_adc( ADC_SEL_BATT_TEMP ); + temp = get_adc( ADC_SEL_BATT_DET ); + BT_DET_P = 0; + + system_status.captureBox = 0; + // vbgtH[ // + if( raw_adc_temperature > 0xF0 ) + { + // TS // + system_status.model = MODEL_TS_BOARD; + } + else if( raw_adc_temperature < 4 ) + { + // // + system_status.model = MODEL_SHIROBAKO; + + // āFLv`{[h // + if(( iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_VERSION ) == 0x01 ) && + ( iic_mcu_result == ERR_OK )) + { + system_status.captureBox = 1; + } + } + else + { + // @AcIC NACK( obe܂͎cIC̏ ) + system_status.model = MODEL_JIKKI; // obe̎́ŏ㏑ + } + + // TShome{^A@͖ڑȂ̂ŗv[q /// gndɂƂ΂悩c + if( system_status.model == MODEL_TS_BOARD ) + { + PM_SW_HOME_n_TSBOARD = 1; + } + else + { + PM_SW_HOME_n_TSBOARD = 0; + SW_HOME_n_TSBOARD_RAW = 0; /// @open ǂł񂾂 + } + + // dr[J[̎ // + { + u8 i; + + battery_manufacturer = BT_VENDER_OPEN; // ftHgl + for(i=0; i<=7; i++) + { + if( temp <= BT_MANUF_BORDER[ i ] ) + { + battery_manufacturer = (BT_VENDER)i; + break; + /* + BT_VENDER_MAXELL; // = 0 + BT_VENDER_1; + BT_VENDER_2; + BT_VENDER_3; + BT_VENDER_4; + BT_VENDER_PANA; + BT_VENDER_6; + + BT_VENDER_OPEN; + */ + } + } + } + + + if( ( battery_manufacturer == BT_VENDER_OPEN ) && + ( system_status.model == MODEL_JIKKI ) ) + { + system_status.model = MODEL_JIKKI_NOBATT; + } +} + + + +static void BT_mgic_quick_start() +{ + wait_ms( 10 ); // MGIC̋NɊ| + + // 0. obecIC NCbNX^[g + send_cmd_mgic_2B( BT_GAUGE_REG_MODE, swap_endian_16( 0x4000 ) ); + + wait_ms( 150 ); +} + + +#define MGIC_CMD_UNLOCK_KEY 0x4A57 +#define MGIC_CMD_RESET 0x5400 +static void BT_mgic_init() +{ + u8 temp; + u8 origParam[4]; + + /* + // -1. ZbgĂ݂ + Ⴞ! + i2c_send_buff_2B._u16 = swap_endian_16( MGIC_CMD_RESET ); + send_cmd_mgic_2B( BT_GAUGE_REG_COMMAND ); // ‚NACKԂ + */ + + if( system_status.model != MODEL_JIKKI ) + { + return; + // ܂ + } + + // 1. bN + if( send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( MGIC_CMD_UNLOCK_KEY ) ) != ERR_SUCCESS ) + { + // cIC NACK + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + return; + // ܂ + } + + vreg_ctr[ VREG_C_STATUS_1 ] &= ~REG_BIT_MGIC_ERR; + + // wait_ms( 5 + 1 ); OɃEFCgĂ̂ŕsv + + // 2. p[^ꎞۑ + iic_mcu_read( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam ); + + // 3. ꎞIOCVύX + send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv )); // }WbNio[IȂ́B[J[w + + // 4. ꎞIRCOMPύX + send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, swap_endian_16( 0xFF00 ) ); + + // 5.[J[ʃp[^̃[h + { + u8 loop; + + // 16oCgƂɋ؂Ƃ̂Ɓ@imCY΍Ƃ񂾂ǁAӖ񂩁Hj + for( loop = 0; loop < 4; loop ++ ) + { + iic_mcu_set_wo_dma( ); + iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_BT_PARAM + loop*16, 16, p_bt_param->mg_param + loop*16 ); + } + } + + // 6. 150msȏ҂ + wait_ms( 150 + 15 ); + + // 7. OCVɁuƂlv + send_cmd_mgic_2B( BT_GAUGE_REG_OCV, swap_endian_16( p_bt_param->ocv ) ); // }WbNio[IȂ́B[J[w + + // 8. 150`600ms҂B600ms͌ + wait_ms( 150 + 15 ); + + // 9. SOCǂށBxt@Ĉ߁B + temp = iic_mcu_read_a_byte( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_SOC ); + + if(( p_bt_param->verify.low <= temp ) && ( temp <= p_bt_param->verify.hi )) + { + // JX^fOKI + }else{ + // s烊gĈH +// dbg_nop(); + } + + // 10.RCOMPOCV߂ + iic_mcu_write( IIC_SLA_BT_GAUGE, BT_GAUGE_REG_RCOMP, 4, origParam ); + + // 11. bN + send_cmd_mgic_2B( BT_GAUGE_REG_LOCK, swap_endian_16( 0x0000 ) ); // lock key +} + + + +extern u16 _dbg_rcomp; +/* ======================================================== + raw_adc_temperatureɓĂlɕϊƂƂɁA + EWX^ɃZbg + EcICɃZbg + ======================================================== */ +task_status_immed tski_BT_temp_update( ) +{ + static u8 rawdat_old; + static s8 temperature; + s16 newrcomp; + static u8 heikinka; + +/* + T[~X^ - 10k_̎A + pxł͕̃J[uقڃjAŁA + c T[] = 81.48 - 111.97 x ratio + TDK T = 81.406 - 111.81 x ratio +*/ + + if( rawdat_old != raw_adc_temperature ) + { + if( heikinka < 40 ) + { + heikinka ++; + } + else + { + heikinka = 0; + rawdat_old = raw_adc_temperature; + // temperature = 81.45 - 111.9 * raw_adc_temperature/256.0; + // ꂼ256{Ă + temperature = (u8)(( 20851 - 112 * raw_adc_temperature + (256/2) ) /256); + vreg_ctr[VREG_C_BT_TEMP] = (u8)temperature; + + newrcomp = 0; + if( temperature > 20 ) + { + newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.up )/256; + } + else + { + newrcomp = ( ( temperature - 20 ) * p_bt_param->rcomp.down )/256; + } + newrcomp = p_bt_param->rcomp.rcomp + newrcomp; + + if( newrcomp > 255 ) + { + newrcomp = 255; + } + if( newrcomp < 0 ) + { + newrcomp = 0; + } + _dbg_rcomp = newrcomp; + + if( send_cmd_mgic_2B( BT_GAUGE_REG_RCOMP, newrcomp ) == ERR_SUCCESS ) // swapsv + { + rawdat_old = raw_adc_temperature; + } + else + { + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + } + } + } + return ( ERR_FINISED ); +} + + + +/********************************************************** + drcICcʂ擾AWX^ɏށB + @drcICȄȂǂ̎͂Ƃ肠c99%ƂB + @@@@@@@@ status_1ŊmF”\BdɃ`FbNĂ܂B + @BT_chk()sĂKv܂B +**********************************************************/ +void BT_get_left(){ + u8 temp[2]; + u8 reg_volatile_temp_bt_remain,reg_volatile_temp_bt_remain_fine; // I2C̔񓯊ǂݍ݂ł̂‚h~ Lbv̏ + u8 fuel_cap_by_voltage; // dŃLbvɎg + + // drc + if( system_status.model == MODEL_TS_BOARD + || system_status.model == MODEL_SHIROBAKO ) + { + // TS & // + if( read_BT_SOC( temp ) == ERR_SUCCESS ) + { + reg_volatile_temp_bt_remain = temp[0]; + reg_volatile_temp_bt_remain_fine = temp[1]; + } + else + { + // G~[V@\ + // @œdf͕sւ邾낤 + reg_volatile_temp_bt_remain = 99; + reg_volatile_temp_bt_remain_fine = 0; + } + } + else + { + // @ // + // cʃ[h + if( read_BT_SOC( temp ) != ERR_SUCCESS ) + { + // cICNACK cobe͂ꂽ + vreg_ctr[ VREG_C_STATUS_1 ] |= REG_BIT_MGIC_ERR; + bt_authorized = false; + reg_volatile_temp_bt_remain = 0; + force_off = true; + } + else + { + u16 temp_u16; + + // obep[^̊֌WŃrbgVtgKv + temp_u16 = temp[0] * 256 + temp[1]; + temp_u16 /= p_bt_param->v_scale; + reg_volatile_temp_bt_remain = (u8)(( temp_u16 >> 8 ) & 0xFF ); + if( reg_volatile_temp_bt_remain == 0 ) + { + // 0%̎1.00%ɏグ + // [dJn΂炭͓drcʂ̂ + // 0%ɓBĂ܂Ƃ̂ + reg_volatile_temp_bt_remain = 1; + reg_volatile_temp_bt_remain_fine = 0; + } + else + { + reg_volatile_temp_bt_remain_fine = (u8)(temp_u16 & 0xFF); + } + } + } + + // drd + { + if( read_BT_voltage( temp ) != ERR_SUCCESS ) // 2byte read + { + temp[0] = (u8)( V_BT_4000MV / 256 ); // drdǂ߂Ȃ4000mVƂɂĂB + temp[1] = 0; + } + vreg_ctr[ VREG_C_BT_VOLTAGE ] = temp[0]; + bt_volt16 = ( temp[0] * 256 + temp[1] ); + } + + + // dŃLbv...̏ + { + static u16 hysteresis; + + if( bt_volt16 > V_TH_30 ) + { + fuel_cap_by_voltage = 100; + hysteresis = 0; + } + else if( bt_volt16 - hysteresis > V_TH_LO ) + { + fuel_cap_by_voltage = 30; + hysteresis = 0; + } + else if( bt_volt16 > V_TH_EMPTY ) + { + fuel_cap_by_voltage = BATT_TH_LO; // + hysteresis = 500; + } + else if( bt_volt16 > V_TH_ZERO ) + { + fuel_cap_by_voltage = BATT_TH_EMPTY; + hysteresis = 500; + } + else if( bt_volt16 > V_TH_FORCE_OFF ) + { + fuel_cap_by_voltage = 0; + hysteresis = 500; + } + else + { + force_off = true; + hysteresis = 500; + } + } + + + // [diA_v^hĂĵɏ[dĂȂ + // AiȂƂjf̓drcʂ60%ȏiCCICoOj + // = [dBdrւĂMGIC100%ԂȂ + if( !BT_CHG_Ena_n && BT_IN_CHG_delayed_n ){ + reg_volatile_temp_bt_remain = 100; + reg_volatile_temp_bt_remain_fine = 0; + } + else + { // dł̃Lbv|邩H + if( fuel_cap_by_voltage < reg_volatile_temp_bt_remain ) + { + reg_volatile_temp_bt_remain = fuel_cap_by_voltage; + reg_volatile_temp_bt_remain_fine = 0; + } + } + + /* + \ɖȂdĂ炵̂ŃPAł悵 + if( system_status.taikendai_nbd && system_status.model != MODEL_TS_BOARD ) // dr[qɓd‚ȂĂĒlsȂߏ㏑B + { + reg_volatile_temp_bt_remain = 100; + } + */ + + vreg_ctr[ VREG_C_BT_REMAIN ] = reg_volatile_temp_bt_remain; + vreg_ctr[ VREG_C_BT_REMAIN_FINE ] = reg_volatile_temp_bt_remain_fine; + + // twl̃WX^XV@(CTRɊ荞ݓOɍXVȂƊ荞݂̃^C~O܂Ȃ) + bt_batt_update_twl(); + + // cʂŊ荞݁B}ɌƔԂƂ // + { + static u8 bt_remain_old_ctr; + + if( bt_remain_old_ctr != reg_volatile_temp_bt_remain ) + // CTRɒʒm + { + if( (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) && ( BATT_TH_LO < bt_remain_old_ctr ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_EMPTY ) && ( BATT_TH_EMPTY < bt_remain_old_ctr ))|| + (( vreg_ctr[ VREG_C_BT_REMAIN ] == 0 ) && ( bt_remain_old_ctr != 0 )) ) + { + set_irq( VREG_C_IRQ1, REG_BIT_BT_REMAIN ); + } + } + bt_remain_old_ctr = vreg_ctr[ VREG_C_BT_REMAIN ]; + } + + // PMIC-NTRɓdrcʂĂ + bt_batt_update_ntr(); +} + + + +/* ======================================================== + tn̓d + @Xe[^XtO͂ɗĂĂ܂B + @sԂ邵A + NsłΓd + ʂ̃^XNœd͊ĎĂāAXe[^XNA + ======================================================== */ +// BSR // +err PM_LCD_on( ) +{ + u8 rv; + + PM_VDDLCD_on( ); + + if( system_status.family == FAMILY_SPFL ) + { + SPFL_LCD_AMOL_HV_CONT = 1; + } + + wait_ms( DELAY_PM_TSS_50B_AND_TCOM ); + + PM_TCOM_on( ); + + wait_ms( DELAY_PM_TCOM_TO_VCS ); + + PM_VCS_on( ); + + wait_ms( DELAY_PM_VCS_TO_BL ); + + rv = (u8)PM_chk_LDSW( ); + + if( rv != 0 ) // pX + { + // dNG[Ȃd؂Ă܂Bł̓PAȂ + vreg_ctr[VREG_C_STATUS] |= REG_BIT_LCD_POW; + set_irq( VREG_C_IRQ3, REG_BIT_LCD_ON ); + return ( ERR_SUCCESS ); + } + + return ( ERR_ERR ); +} + +// BSR // +void PM_LCD_off() +{ + // BL‚ĂB// `FbN̂͊荞݂̊֌W + if( ( read_pmic( PM_REG_ADRS_BL ) & 0x03 ) != 0 ) + { + u8 tot; + + PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + vreg_ctr[VREG_C_STATUS] &= bits8(1,0,0,1, 1,1,1,1); + + if( (( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) + { + vreg_ctr[ VREG_C_IRQ3 ] |= ( ( REG_BIT_BL_U_OFF | REG_BIT_BL_L_OFF ) & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + IRQ0_neg; + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} + IRQ0_ast; + } + vreg_ctr[VREG_C_COMMAND2] &= ~( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + } + + + // td؂ // + SPFL_LCD_AMOL_HV_CONT = 0; // ̃t@~łLȂ̂ŕQȂ + + // 50msƂ҂‚AmF܂傤ˁc + if( read_pmic( PM_REG_ADRS_VDD_LCD ) != 0 ) + { + if( system_status.family == FAMILY_SPFL ) + { + wait_ms( 10 ); // At@X15V؂Ƃ̃EFCgB + } + + PM_TCOM_off(); + wait_ms( 1 ); + PM_TCOM_VCS_off( ); + wait_ms( DELAY_PM_LCD_OFF ); + + PM_VDDLCD_off( ); // cĂ̑S~߂܂B + vreg_ctr[VREG_C_STATUS] &= ~REG_BIT_LCD_POW; + } + + set_irq( VREG_C_IRQ3, REG_BIT_LCD_OFF ); // ɔB}XN΁B +} + + + +/* ======================================================== +@obNCǧ•on/off +@󂩂@on/off/ێ@̃tOȂ̂Ŗʓ| +@@Ⴆ΁ABL on/on ̏ԂŁAon/onɂƌĂAon/on荞݂܂B +======================================================== */ +err PM_BL_set( u8 dat ) +{ + u8 blset; + u8 intset = 0; + // RMWs + + // Read + blset = read_pmic( PM_REG_ADRS_BL ); + + // Modify + // ue + if(( dat & REG_BIT_CMD_BL_U_ON ) != 0 ) + { + blset |= PM_REG_BIT_BL_U; + intset |= REG_BIT_BL_U_ON; + } + else if(( dat & REG_BIT_CMD_BL_U_OFF ) != 0 ) + { + blset &= ~PM_REG_BIT_BL_U; + intset |= REG_BIT_BL_U_OFF; + } + + // shita + if(( dat & REG_BIT_CMD_BL_L_ON ) != 0 ) + { + blset |= PM_REG_BIT_BL_L; + intset |= REG_BIT_BL_L_ON; + } + else if(( dat & REG_BIT_CMD_BL_L_OFF ) != 0 ) + { + blset &= ~PM_REG_BIT_BL_L; + intset |= REG_BIT_BL_L_OFF; + } + + if( blset != 0 ) // BLtꍇ̓EFCg܂ȂPWMĂ炸 + // Vbg_E邱Ƃ + { + wait_ms( 16 + 10 ); + } + send_cmd_pmic( PM_REG_ADRS_BL, blset ); + +#if 0 +// SoCPWMo悤WX^ZbgĂxL邽߁AXe[^X +// XVĂ܂B +#endif + // PMICBL̃rbgƁAMCUSTATUSWX^̃rbgʒutȂߓւ + vreg_ctr[VREG_C_STATUS] = (( vreg_ctr[VREG_C_STATUS] & bits8(1,0,0,1, 1,1,1,1) ) + | ( (( blset << 6 ) | ( blset << 4 )) & bits8(0,1,1,0, 0,0,0,0) )); + + // 荞 + /// rbg܂Ƃ߂čŝŁA‚̊֐gps + { + u8 tot; + + if( ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ) != 0 ) + { + vreg_ctr[ VREG_C_IRQ3 ] |= ( intset & ~vreg_ctr[ VREG_C_IRQ_MASK3 ] ); + IRQ0_neg; + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} + IRQ0_ast; + } + } + + return( ERR_SUCCESS ); // łُ͈`FbNsv +} + + + +/* ======================================================== + t̑Όd̐ݒs܂B + zWX^̓e𑗂邾 + ======================================================== */ +void PM_LCD_vcom_set( ) +{ + send_cmd_pmic( PM_REG_ADRS_POW_DAC1, vreg_ctr[VREG_C_VCOM_T] ); // ȂƂɁAPMIC̓o[Xgݕs + send_cmd_pmic( PM_REG_ADRS_POW_DAC2, vreg_ctr[VREG_C_VCOM_B] ); + return; +} + + + +/* ======================================================== + ŁAWX^݂Ăяo鎞̂ + @I2C̎荇̊֌WłĂ + ======================================================== */ +task_status_immed tski_vcom_set( ) +{ + PM_LCD_vcom_set( ); + return ( ERR_FINISED ); +} + + + +/* ======================================================== + V[PX̒ʂd𗧂グĂ䂫܂B + Ԓl 0 Ō܂ŐɊB + 1 V[gȂǂœd肫Ȃ + + ȉ̃s͎ɂőEĎ܂B + EPOW_CONT1,2 TEGd̂ + ======================================================== */ +err PM_sys_pow_on( ) +{ + // dグ +// PM_reset_ast( ); sv PM_LDSW_on܂ + RESET2_ast; + FCRAM_RST_ast; + GYRO_DISABLE(); + + PM_LDSW_on( ); + + wait_ms( 1 + DELAY_PM_TW_PWUP ); + + PM_VDD_normMode(); + PM_VDD_on( ); +// wait_ms( DELAY_PM_TW_PWUP ); // GYROނ + wait_ms( 10 ); + GYRO_ENABLE(); + wait_ms( DELAY_PM_TW_PWUP - 10 ); + + PM_VDD50A_on( ); // tdł͂ȂAledƂɎĝł + + wait_ms( DELAY_PM_TW_PWUP ); + + // dN`FbNB + if( !PM_chk_LDSW() ) + { + return ( ERR_ERR ); // reset1͂قƂėǂ + } + + // dIC + pmic_version = read_pmic( PM_REG_ADRS_VER ); + read_mgic_2B( BT_GAUGE_REG_VERSION, mgic_version ); + + // ZbgȂǁBVXeNI + PM_reset_neg(); + FCRAM_RST_neg; + RESET2_neg; + + codec_reg_init(); // CODEC s背WX^(reset2̌łȂƂȂ̂) + ntr_pm_reg_shadow = 0; // @V@ȂƂ... + + return ( ERR_SUCCESS ); +} + + + + +/* ======================================================== + dOFFV[PX + ======================================================== */ +void PM_sys_pow_off( ) +{ +// if( RESET1_n ) + if( PM_chk_LDSW() ) + { + // ُ펞͌Ă΂Ȃ + PM_BL_set( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_L_OFF ); + PM_LCD_off(); // TCOM,VCS OFF Ă܂B + wait_ms( 20 ); + + PM_reset_ast(); + } + + RESET2_ast; + FCRAM_RST_ast; + + wait_ms( 20 ); + + PM_off( ); + PM_LDSW_off( ); + + return; +} + + + +/*========================================================= + extDC荞 + dOFFNi[d̉xĎ̂߁ĵ + i̓|[O(pm) + =========================================================*/ +__interrupt void intp4_extdc( ) +{ +// chg_led_override = (u8)( 1000 / INTERVAL_TSK_BATT / SYS_INTERVAL_TICK ); +// chg_led_override = 4; +} + + + +/*========================================================= + t^J‚ߊ荞 + i̓|[O(misc) + =========================================================*/ +__interrupt void intp5_shell( ) +{ + ; +} + + +/*========================================================= + PMICւ̃R}h + =========================================================*/ +__interrupt void intp6_PM_irq( ) +{ + EI(); + if( system_status.pwr_state == ON ) + { + renge_task_immed_add( tski_ntr_pmic_comm ); + } +} + + +/* ======================================================== + PMIC̊荞݂󂯂āANTR PMIC݊WX^烊[h + ======================================================== */ +task_status_immed tski_ntr_pmic_comm( ) +{ + u8 reg1_old; + u8 irq_work = 0; + + reg1_old = ntr_pm_reg_shadow; + ntr_pm_reg_shadow = iic_mcu_read_a_byte( IIC_SLA_CODEC, CODEC_REG_PM ); + if( iic_mcu_result != ERR_SUCCESS ) + { + return ( ERR_FINISED ); + } + +// DI( ); + + // obNCg //////////////////////////////////// + if( ( ( reg1_old ^ ntr_pm_reg_shadow ) & REG_BIT_TWL_REQ_BL_U ) != 0 ) + { + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_BL_U ) == 0 ) // + { + irq_work = REG_BIT_TWL_BL_U_OFF; + } + else + { + irq_work = REG_BIT_TWL_BL_U_ON; + } + } + + // obNCg + if( ( ( reg1_old ^ ntr_pm_reg_shadow ) & REG_BIT_TWL_REQ_BL_L ) != 0 ) + { + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_BL_L ) == 0 ) // + { + irq_work |= REG_BIT_TWL_BL_L_OFF; + } + else + { + irq_work |= REG_BIT_TWL_BL_L_ON; + } + } + +// EI(); + + vreg_ctr[ VREG_C_STATUS_1 ] = ( vreg_ctr[ VREG_C_STATUS_1 ] & ~0x0C ) | ( ntr_pm_reg_shadow & 0x0C ); // TWLobNCg̃~[ + + irq_work &= ~vreg_ctr[ VREG_C_IRQ_MASK2 ]; + // set_irq i + if( irq_work != 0 ) + { + u8 tot; + + vreg_ctr[ VREG_C_IRQ2 ] |= irq_work; + IRQ0_neg; // uグăpX𑗂蒼 + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} // O.DȂ̂łƂ̂҂ IRQ_mcu LɔĂƍ(•s) + IRQ0_ast; + } + +#if 0 + // obNCgݒ + // ɏĂ + /// ̂Ƃ낳ɍׂ͕Ȃǁc + if( ( ntr_pm_reg_shadow & ( REG_BIT_TWL_REQ_BL_U | REG_BIT_TWL_REQ_BL_U ) ) == 0 ) + { + vreg_ctr[ VREG_C_COMMAND2 ] = ( REG_BIT_CMD_BL_U_OFF | REG_BIT_CMD_BL_U_OFF ); + renge_task_immed_add( tski_PM_BL_set ); + } +#endif + + // offNGXg ////////////////////////////////////// + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_OFF_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_OFF_REQ ); + } + + // ZbgNGXg ///////////////////////////////// + if( ( ntr_pm_reg_shadow & REG_BIT_TWL_REQ_RST_REQ ) != 0 ) + { +#if 0 + // CODECoO + // ZbgPiłȂ疳 + if( ( reg1_old ^ ntr_pm_reg_shadow ) == REG_BIT_TWL_REQ_RST_REQ ) +#endif + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); + } + } + + // obNCg}XNď߂ + EI( ); + if( ( ntr_pm_reg_shadow & ( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ )) != 0 ) + { + ntr_pm_reg_shadow &= ~( REG_BIT_TWL_REQ_OFF_REQ | REG_BIT_TWL_REQ_RST_REQ ); + iic_mcu_write_a_byte_codec( CODEC_REG_PM, ntr_pm_reg_shadow ); + } + return ( ERR_FINISED ); +} + + + +/********************************************************** + command2 tn +@ bp[IȕBERR_SUCCESSԂȂc +**********************************************************/ +task_status_immed tski_PM_LCD_on() +{ + PM_LCD_on(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_LCD_off() +{ + PM_LCD_off(); + return( ERR_FINISED ); +} + +task_status_immed tski_PM_BL_set() +{ + u8 cmd_BL; // volatileƂtȂĂv݂ + + do + { + cmd_BL = vreg_ctr[VREG_C_COMMAND2]; + PM_BL_set( cmd_BL ); // }XNς + } + while( cmd_BL != vreg_ctr[VREG_C_COMMAND2] ); // <- PM_BL_setXV + vreg_ctr[VREG_C_COMMAND2] = 0; + + return( ERR_FINISED ); +} + + + +/********************************************************** +@reset2 CODEC ɃZbgAWX^sɂȂ邽 +**********************************************************/ +void codec_reg_init() +{ + wait_ms( 100 ); + + ntr_pm_bt_low_old = conv_ctr_bt_to_twl_bt(); + + iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)ntr_pm_bt_low_old ); // SoC 珑 + + vol_reset(); +// renge_task_immed_add( tski_vol_update ); |[ÔŁB + vol_polling = 3; +} + + +/* ============================================================ + wp[Ƃbp[ƂH + ROMߖ̂ + ============================================================ */ +err send_cmd_mgic_2B( u8 reg, u16 dat ) // Mobt@ +{ + u16 temp = dat; + return iic_mcu_write( IIC_SLA_BT_GAUGE, reg, 2, &temp ); // DMA]̂őMf[^obt@̃|C^ǂKv +} + +err read_mgic_2B( u8 reg, u8* dat ) // Mobt@͌Œ +{ + return iic_mcu_read( IIC_SLA_BT_GAUGE, reg, 2, dat ); +} + +err send_cmd_pmic( u8 reg, u8 dat ) +{ + return iic_mcu_write_a_byte( IIC_SLA_PMIC, reg, dat ); +} + +u8 read_pmic( u8 reg ) +{ + return iic_mcu_read_a_byte( IIC_SLA_PMIC, reg ); +} + + +/* ============================================================ + dr[J[ƃfAgdrp[^̌ + ============================================================ */ +void bt_param_select() +{ + BT_TYPE bt_type_temp; + // ΉĂ番R[h‚ + if( battery_manufacturer <= BT_VENDER_3 ) + { + bt_type_temp = BT_PARAM_CTR_MAXELL; + } + else + { + bt_type_temp = BT_PARAM_CTR_PANA; + } + + if( system_status.family == FAMILY_SPFL ) + { + bt_type_temp += BT_PARAM_SPFL_MAXELL; // ItZbg cOȎŁcB + } + else if( system_status.family == FAMILY_SHRIMP ) + { + bt_type_temp += BT_PARAM_SHRIMP_MAXELL; + } + p_bt_param = &bt_param[ bt_type_temp ]; +} + + + +/* ============================================================ + TWLɓdrcʂĂ + ============================================================ */ +static void bt_batt_update_twl() +{ + if (vreg_ctr[VREG_C_BT_REMAIN] > 80) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x0F; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > 50) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x0B; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > BATT_TH_LO) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x07; + } + else if (( vreg_ctr[ VREG_C_BT_REMAIN ] > BATT_TH_EMPTY )|| + !BT_CHG_Ena_n ) + { // A_v^̗LŒグ + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x03; + } + else if (vreg_ctr[VREG_C_BT_REMAIN] > 0) + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x01; + } + else + { + vreg_twl[REG_TWL_INT_ADRS_POWER_INFO] = 0x00; + } +} + + +/* ============================================================ + NTRɓdrcʂĂ + ============================================================ */ +static void bt_batt_update_ntr() +{ + static bit initialized; + static bit flag; // HstaticłȂƃRpCɓ{ + + if( system_status.pwr_state == OFF_TRIG ) + { + initialized = false; + } + else + { + + flag = conv_ctr_bt_to_twl_bt(); + + if(( ntr_pm_bt_low_old != flag ) || !initialized ) + { + initialized = true; + ntr_pm_bt_low_old = flag; + iic_mcu_write_a_byte_codec( CODEC_REG_BT, (u8)flag ); + } + } +} + + +/* ======================================================== +========================================================= */ +static err read_BT_SOC( u8* dest ) +{ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] != 0xFF ) + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ]; + *(dest+1) = 0x00; + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_SOC, dest ) ); + } +} + + +/* ======================================================== +========================================================= */ +static err read_BT_voltage( u8* dest ) +{ + if( vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] != 0xFF ) + { + *dest = vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ]; +// *(dest+1) = 0x00; // gȂ@ǂQoCg[h֐pӂĂȂ̂ł + return ERR_SUCCESS; + } + else + { + return( read_mgic_2B( BT_GAUGE_REG_VCELL, dest ) ); + } +} + + +/* ======================================================== + drcʂtwlɃtOɂĕԂ +========================================================= */ +static u8 conv_ctr_bt_to_twl_bt() +{ +// ntr_pm_bt_low_old = ( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO )? NTR_PM_BT_EMPTY: NTR_PM_BT_ENOUGH; // 1œdr؂ + if( vreg_ctr[ VREG_C_BT_REMAIN ] <= BATT_TH_LO ) + { + return NTR_PM_BT_EMPTY; + } + else + { + return NTR_PM_BT_ENOUGH; + } +} diff --git a/tags/SDK3.0(2.00)/pm.h b/tags/SDK3.0(2.00)/pm.h new file mode 100644 index 0000000..423d771 --- /dev/null +++ b/tags/SDK3.0(2.00)/pm.h @@ -0,0 +1,216 @@ +#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 + +// dWX^ƒڔrłpɃItZbg +#define V_BT_4000MV (u16)( 4000 * 12.8 ) // dǂݏosp 4000mVݒ +#define V_TH_30 (u16)( 3300 * 12.8 ) // 30% +#define V_TH_LO (u16)( 3200 * 12.8 ) // 10% +#define V_TH_EMPTY (u16)( 3150 * 12.8 ) // 5% +#define V_TH_ZERO (u16)( 3100 * 12.8 ) // 0% +#define V_TH_FORCE_OFF (u16)( 2900 * 12.8 ) // 2.9V ŏIf + + +//========================================================= +#ifdef _WIN32 +#define LED_CHARGE mcuRegP[ _P2_4 ] +#else +#define LED_CHARGE P2.4 +#endif + + +//========================================================= +enum PMIC_REG_ADRS +{ + PM_REG_ADRS_VER = 0x00, // verinfo Ȃ + PM_REG_ADRS_VDD_SYS, // VXegpd + PM_REG_ADRS_VDD_LCD, // td + PM_REG_ADRS_CONT, // /RESET1, LoadSwitch + PM_REG_ADRS_BL, // obNCg on/off + PM_REG_ADRS_POW_SAVE, // ȓd͐ݒ + PM_REG_ADRS_POW_DAC1, + PM_REG_ADRS_POW_DAC2 +}; + +enum BT_GAUGE_REG_ADRS +{ + BT_GAUGE_REG_VCELL = 0x02, // ꂼ16rbĝ + 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, // V[g + 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 +}; + + + +//========================================================= +// CODECPMIC݊WX^ +#define CODEC_REG_PM 0x10 +#define CODEC_REG_BL 0x11 +#define CODEC_REG_BT 0x12 +//#define CODEC_REG_VOL 0x13 // ...sɂAadc.hŒ` + +// TWLSPIPMICɓR}h +#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_CGS 0x07 +#define PM_REG_BIT_VDDLCD_AMO 0x05 +#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 bits8(0,0,0,0, 0,0,0,0) +#define PM_REG_BIT_VDD1P_1R05 bits8(0,0,0,0, 1,0,0,0) +#define PM_REG_BIT_VDD1P_0R90 bits8(0,0,1,0, 0,0,0,0) +#define PM_REG_BIT_VDD_AUTO bits8(0,0,0,0, 0,1,1,1) +#define PM_REG_BIT_VDD_PWM bits8(0,0,0,0, 0,0,0,0) + + +#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; + +extern u8 pmic_version; +extern u8 mgic_version[]; + +extern u8 pm_reg_bit_vddlcd; // At@XΉ(dV[PXႤ) + + +//========================================================= +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(); + + +err send_cmd_pmic( u8 reg, u8 dat ); +u8 read_pmic( u8 reg ); + + +#define PM_Chg_Stop() { BT_TEMP_P = 0; BT_CHG_DISABLE(); LED_CHARGE = 0; bt_authorized = false; } +// @ĂԑOɁA݉xĂKv܂B +#define PM_reset() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0x00 ) ) + + +//========================================================= + + +// // +#define PM_LDSW_on() ( send_cmd_pmic( PM_REG_ADRS_CONT, PM_REG_BIT_LDSW )) +#define PM_LDSW_off() ( send_cmd_pmic( PM_REG_ADRS_CONT, 0 )) + + +// VXed // +#define PM_VDD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, PM_REG_BIT_VDD )) +#define PM_VDD50A_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, ( PM_REG_BIT_VDD | PM_REG_BIT_VDD50A ))) +#define PM_VDD_off() ( send_cmd_pmic( PM_REG_ADRS_VDD_SYS, 0 )) +#define PM_off() PM_VDD_off() + +#define PM_VDD_normMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_1R15 | PM_REG_BIT_VDD_PWM )) +#define PM_VDD_ecoMode() ( send_cmd_pmic( PM_REG_ADRS_POW_SAVE, PM_REG_BIT_VDD1P_0R90 | PM_REG_BIT_VDD_AUTO )) +// todo YŃRAdς邩Ȃ + +// ق // +#define PM_reset_neg() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW | PM_REG_BIT_nRST1 ))) +#define PM_reset_ast() ( send_cmd_pmic( PM_REG_ADRS_CONT, ( PM_REG_BIT_LDSW ))) +#define PM_chk_LDSW() ( read_pmic( PM_REG_ADRS_CONT ) & PM_REG_BIT_LDSW ) +// 0 ƈُ + +// tnd // +#define PM_VDDLCD_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, pm_reg_bit_vddlcd )) +#define PM_TCOM_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( pm_reg_bit_vddlcd | PM_REG_BIT_LCD_TCOM ))) +#define PM_VCS_on() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, ( pm_reg_bit_vddlcd | PM_REG_BIT_LCD_VCS | PM_REG_BIT_LCD_TCOM ))) +#define PM_TCOM_off() ( send_cmd_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() ( send_cmd_pmic( PM_REG_ADRS_VDD_LCD, 0 ) ) + +#define PM_set_BL( dat ) ( send_cmd_pmic( PM_REG_ADRS_BL, dat ) ) +#define PM_set_adc1( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC1, dat ) ) +#define PM_set_adc2( dat ) ( send_cmd_pmic( PM_REG_ADRS_POW_DAC2, dat ) ) + + +#endif // __PM__ diff --git a/tags/SDK3.0(2.00)/pool.h b/tags/SDK3.0(2.00)/pool.h new file mode 100644 index 0000000..81c8091 --- /dev/null +++ b/tags/SDK3.0(2.00)/pool.h @@ -0,0 +1,24 @@ +#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 diff --git a/tags/SDK3.0(2.00)/reboot.c b/tags/SDK3.0(2.00)/reboot.c new file mode 100644 index 0000000..b784f15 --- /dev/null +++ b/tags/SDK3.0(2.00)/reboot.c @@ -0,0 +1,24 @@ +/********************************************************//* + + ނ胊u[g + + t@CɃCCAZuƁA + ̃W[SœKȂȂ邽ߒǂo + + **********************************************************/ +#pragma SFR + +#include "incs_loader.h" + + +void my_reboot(){ +#asm + + MOV PSW,#06H ; _~[PSWZbg + MOVW AX,#000d0h ; Zbg̃xN^l荞ł܂B + PUSH PSW + PUSH AX ; RETÎ߂̃X^bN + RETI ; ŃZbgExN^ɕ + +#endasm +} diff --git a/tags/SDK3.0(2.00)/reboot.h b/tags/SDK3.0(2.00)/reboot.h new file mode 100644 index 0000000..c20e11e --- /dev/null +++ b/tags/SDK3.0(2.00)/reboot.h @@ -0,0 +1,6 @@ +#ifndef __MYREBOOT__ +#define __MYREBOOT__ + +void my_reboot(); + +#endif diff --git a/tags/SDK3.0(2.00)/renge/renge.c b/tags/SDK3.0(2.00)/renge/renge.c new file mode 100644 index 0000000..1c7562a --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge.c @@ -0,0 +1,315 @@ +#ifndef _WIN32 + +#pragma section @@CODE ROM_CODE +#pragma nop +#pragma ei +#pragma di +#pragma sfr + +#endif + + +#ifdef _WIN32 +typedef unsigned char bit; +typedef unsigned char u8; +#endif + +/****************************************************************************** + ^XNVXeH + ȂقǁAiTRONɂ̓RtBM[^͂B + ܂ + ctr_mcu_config.rb QƁB task_config.h쐬܂B + *****************************************************************************/ +#include "renge.h" +#include "renge_task_intval.h" +#include "renge_task_immediate.h" +#include "..\WDT.h" +#include "..\config.h" +#include "..\user_define.h" + +#ifdef _WIN32 +#include "../sim/simOnWin.h" +#endif +//#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 ] )(); + + + +/****************************************************************************** + +E^XNVXe̓Ȉ +EC^[o^C} + *****************************************************************************/ +void renge_init(){ + renge_task_immed_init(); + /* + Cxg^C}̃ZbgȂ + RTC𗬗pĂ̂ŃRgAEg + #define renge_tick 19xxxxxxx [ms] + renge_interval_init(); RTC_init(); + */ +} + + + +/****************************************************************************** + VXe`bNi߂ + *****************************************************************************/ +/* +void renge_interval(){ +// RTCĂ +__interrupt void int_rtc_int(); +} +*/ + + + +/****************************************************************************** + RpCɌ܂ĂAC^[oÑ^XN + ̂ANƍ邩ȂB + *****************************************************************************/ +err renge_task_interval_run(){ + u8 i; + + // C^[oN + DI(); + if(( renge_flg_interval != 0 ) || + ( renge_task_interval_run_force )) /// ȁc + { + renge_task_interval_in_force = renge_task_interval_run_force; + renge_task_interval_run_force = false; // N^XNA荞ރ^XNŃtO‚Ȃ̂ + if( renge_flg_interval != 0 ) + { + renge_flg_interval --; + WDT_Restart( ); + } + EI(); + for( i = 0; i != TSK_LAST; i ++ ) + { + tasks[ i ](); + // N^XNԂɋ + renge_task_immed_run(); + } + } + EI(); + return( ERR_SUCCESS ); +} + + + +/***************************************************************************** + N^XN + + task_immed Ԃ֐B + VXetickA炩̊荞݁iI2CʐMȂǁj + X[v畜A^C~OŎs܂B + +Ԓl@ERR_FINISED@^XN폜 +@@@@ȊO ̃^C~Oł܂s + + *****************************************************************************/ + + +/************************************** + **************************************/ +void renge_task_immed_init(){ + u8 i; + + for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i++ ){ + tasks_immed[ i ] = TSK_IMM_EMPTY_; + } +} + + + +/************************************** + s^XN̓o^ + 荞݋֎~ 36us + **************************************/ +err renge_task_immed_add( task_status_immed (*new_task)() ){ + u8 i; + + // Xg̋󂫂̐擪ɓo^ + // 폜΂̃^XŃA폜}[N(TSK_IMM_DELETED_)ƂȂA󂫂Ƃ͖Iɋʂ + // do^ + for( i = 0; i < TASK_IMMED_RUN_LIST_MAX; i ++ ) + { + DI(); + if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) + { + // 󂫂‚ + tasks_immed[ i ] = new_task; + EI(); + return( ERR_SUCCESS ); + } + else + { + // do^`FbN + /// ɂȂĂȂAOl߂ĂO + if( tasks_immed[ i ] == new_task ) + { + // do^͂Ȃ + EI(); + return( ERR_ERR ); + } + } + EI(); + } + // ^XNo^(͂ + return( ERR_ERR ); +} + + + +/************************************** + s^XN̎s + **************************************/ +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 ++ ){ + if( tasks_immed[ list_id ] == TSK_IMM_EMPTY_ ){ + // Xg + EI(); + break; + } +#ifdef _renge_test_ + else if( tasks_immed[ list_id ] == TSK_IMM_DELETED_ ) + { + EI(); + NOP(); + // ^XNǗ̕s + // ݂Ȃ^XNs悤Ƃ + // ^XN̍폜̏܂ + // \Ȃ^C~O immed_run Ă΂ꂽ + } +#endif + else + { + u8 rv; + + EI(); + rv = tasks_immed[ list_id ](); + if( rv == ERR_SUCCESS ) + { + tasks_immed[ list_id ] = TSK_IMM_DELETED_; + } + } + DI(); + } + // Xg̃^XNʂs + + // ^XN폜 // + { + u8 i = 0; // Xg̕בւ + u8 j = 1; + + // K i < jAj < TASK_IMMED_RUN_LIST_MAX (łȂƃ^XNӂ) + while( 1 ) + { + if( tasks_immed[ i ] == TSK_IMM_EMPTY_ ) + { + // Olߊ && Xg + // 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_ ) + { + // ׁiHj폜Ώۂ + // next j + } + else + { + DI(); + if( tasks_immed[ j ] == TSK_IMM_EMPTY_ ) + { + do{ + j --; + tasks_immed[ j ] = TSK_IMM_EMPTY_; + // XgOlߊ + }while( i < j ); + EI(); + goto imm_list_sort_fin; + } + else + { + // Ol߂ׂ^XN‚ + tasks_immed[ i ] = tasks_immed[ j ]; + tasks_immed[ j ] = TSK_IMM_DELETED_; + i ++; + EI(); + } + } + } + } + else + { + // ̃^XNAؗ + } + i ++; + } + } + } + +imm_list_sort_fin: + // ܂łŊSɑOl߂Ă +#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Ƀ^XNdeletedL + } + } + } + } +#else + NOP(); // Ȃ񂩖ƃJ{ +#endif +// } + return( ERR_SUCCESS ); +} + + diff --git a/tags/SDK3.0(2.00)/renge/renge.h b/tags/SDK3.0(2.00)/renge/renge.h new file mode 100644 index 0000000..ee1d9f9 --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge.h @@ -0,0 +1,28 @@ +#ifndef __renge__ +#define __renge__ + +//****************************************************************************** + + + +//****************************************************************************** +#include "renge_defs.h" +#include "renge_task_immediate.h" +// #include "renge_task_interval_run.h" // O狭N֎~I + +//****************************************************************************** +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; // ^XNstO +extern bit renge_task_interval_in_force; // stO + +#endif diff --git a/tags/SDK3.0(2.00)/renge/renge_defs.h b/tags/SDK3.0(2.00)/renge/renge_defs.h new file mode 100644 index 0000000..0199d76 --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge_defs.h @@ -0,0 +1,55 @@ +#ifndef __renge_defs__ +#define __renge_defs__ +/****************************************************************************** + Renge Ver.0 (2009/04/09) + 2009- 7k4jhl R.Fujita @ RED.nintendo + + OSɂ͂قljAȈՓIȃ^XNVXeB + Range Typo ł͂ȂłBQłB + + Ȃ Q ͑̂œ{ QQ + ǖɗ–𑐂łB + 傫ĂˁI + ******************************************************************************/ + +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; + + + +/************************************** + C^[oN + *************************************/ +typedef void task_status; + + +/************************************** + Ñ^XNXg + p~ɂȂ邩Ȃ + *************************************/ +typedef IMMED_TASK_ERR task_status_immed; + + +#endif diff --git a/tags/SDK3.0(2.00)/renge/renge_task_config.rb b/tags/SDK3.0(2.00)/renge/renge_task_config.rb new file mode 100644 index 0000000..c2de509 --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge_task_config.rb @@ -0,0 +1,59 @@ +#!/usr/bin/ruby -Ks + +tasklist = Array.new + + +if( ARGV[0] == nil ) + printf( "t@C renge_tasks.txt gp܂" ) + datfile = "renge_tasks.txt" +else + datfile = ARGV[0] +end + +if( !File.exist?( datfile ) ) + printf("ݒt@C‚܂B") + 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^XN %d \n", tasklist.size ) + + +#----- ÓI^XN̗ ------------------------------------------------------- +conf = File.new( "renge_task_intval.h", "w+" ) + +conf << "/*XNvgɂ鎩łB蓮ŏȂ悢ł*/\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" diff --git a/tags/SDK3.0(2.00)/renge/renge_task_immediate.h b/tags/SDK3.0(2.00)/renge/renge_task_immediate.h new file mode 100644 index 0000000..7c5016d --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge_task_immediate.h @@ -0,0 +1,25 @@ +#ifndef __tasks__ +#define __tasks__ + +#include "renge_defs.h" + +// ************************************* +#define TASK_IMMED_RUN_LIST_MAX 10 + + +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_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 diff --git a/tags/SDK3.0(2.00)/renge/renge_task_intval.h b/tags/SDK3.0(2.00)/renge/renge_task_intval.h new file mode 100644 index 0000000..9b0d9ea --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge_task_intval.h @@ -0,0 +1,37 @@ +/*XNvgɂ鎩łB蓮ŏȂ悢ł*/ + +#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 diff --git a/tags/SDK3.0(2.00)/renge/renge_tasks.txt b/tags/SDK3.0(2.00)/renge/renge_tasks.txt new file mode 100644 index 0000000..73af545 --- /dev/null +++ b/tags/SDK3.0(2.00)/renge/renge_tasks.txt @@ -0,0 +1,11 @@ +sw +adc +batt +led_pow +led_wifi +led_notify +led_cam +misc +status +debug +sys diff --git a/tags/SDK3.0(2.00)/rtc.c b/tags/SDK3.0(2.00)/rtc.c new file mode 100644 index 0000000..69b4050 --- /dev/null +++ b/tags/SDK3.0(2.00)/rtc.c @@ -0,0 +1,175 @@ +/* ======================================================== + RTC + ======================================================== */ +#ifndef _WIN32 + +#pragma sfr +#pragma inline + +#endif + +#include "incs.h" + + + +// ======================================================== +u8 rtc_work[7]; +bit rtc_lock; +bit rtc_dirty; +bit rtc_alarm_dirty; + + +/* ======================================================== + ytF̏ + WX^̓drrbg̃Zbg + ======================================================== */ +void RTC_init( void ) +{ + + if( !RTCEN ) // rbgĂ烊u[g + { + RTCEN = 1; // W[ON + + // RTCݒ + RTCC0 = bits8(0,0,0,0, 1,0,0,0); /* ~A24ԐA32kóu܂ȂvA荞݂Ȃ */ + // (RTCE 0 RCLOE1 RCLOE0 AMPM CT2 CT1 CT0) + RTCC1 = bits8(1,1,0,0, 0,0,0,0); /* A[荞ݗLJn */ + // (WALE WALIE 0 WAFG RIFG 0 RWST RWAIT) + RTCC2 = bits8(1,0,0,0, 0,0,0,0); /* C^[o:32k/2^6=2msARTCDIVo͂Ȃ */ + // (RINTE RCLOE2 RCKDIV 0 0 ICT2 ICT1 ICT0) + + 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; /* 荞(A[&C^[o) */ + + RTCE = 1; /* Jn */ + + RWAIT = 1; + while( !RWST ) + {;} + RWAIT = 0; + + rtc_lock = false; + rtc_dirty = false; + rtc_alarm_dirty = false; +} + + + +/* ======================================================== + RTC A[荞 + ======================================================== */ +__interrupt void int_rtc( ) +{ + RWAIT = 1; + while( !RWST ) + {;} + // tw + 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 ̃[h + WX^́Asec,min,hour,week,day,month,year ̏ + ======================================================== */ +void rtc_buf_refresh( ) +{ + 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 ̃Cg + set_rtc_close Ƒ΂ŎgĉB + ‚̓obt@ɃRs[邾ŁA + ۂRTCɃZbĝset_rtc_close()łB + ======================================================== */ +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 ); // I2CIɍs + } + rtc_work[adrs] = data; +} + + + +/* ======================================================== + KvȂ΁ARTCWX^̍XV + ======================================================== */ +// task_status_immed tski_rtc_close(){ +void rtc_unlock( ) +{ + // [hbN + rtc_lock = false; + + // CgbN + if( rtc_dirty ) + { + rtc_dirty = false; + RWAIT = 1; + while( !RWST ) + {;} + memcpy( &SEC, rtc_work, 7 ); + RWAIT = 0; + } + + // A[Zbg + 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 VXe`bN^C}荞݃xN^ + 2^6/fXTi1.953125 msj + ======================================================== */ +__interrupt void int_rtc_int( ) +{ + renge_flg_interval ++; // CNg/fNg߂ĝ DI()sv +} diff --git a/tags/SDK3.0(2.00)/rtc.h b/tags/SDK3.0(2.00)/rtc.h new file mode 100644 index 0000000..6b2d9f8 --- /dev/null +++ b/tags/SDK3.0(2.00)/rtc.h @@ -0,0 +1,21 @@ +#ifndef __rtc_h__ +#define __rtc_h__ + + +void RTC_init( void ); +void rtc_buf_refresh( ); +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 diff --git a/tags/SDK3.0(2.00)/self_flash.c b/tags/SDK3.0(2.00)/self_flash.c new file mode 100644 index 0000000..d1ff4dd --- /dev/null +++ b/tags/SDK3.0(2.00)/self_flash.c @@ -0,0 +1,608 @@ +/* ======================================================== + ȃAbvf[^ + ======================================================== */ +#ifndef _WIN32 + +#pragma SFR +#pragma di +#pragma ei +#pragma nop +#pragma stop +#pragma halt + +#endif + +#include "incs_loader.h" + +#include +#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; + + +// ȃtbVp[^ +#define SAM_BLOCK_SIZE 1024 + // 256oCgȏ͂܂Ƃ߂Ă܂B +#define SELF_UPDATE_BUFF_SIZE 256 +#define SELF_UPDATE_SPLIT_WRITE_NUM ( SAM_BLOCK_SIZE / SELF_UPDATE_BUFF_SIZE ) +#define SAM_WORD_SIZE 4 + +// ubNԍi1ubN1kBj +#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 + +#ifndef _WIN32 +#define LED_POW1 P1.5 +#define LED_PM_POW1 PM1.5 +#else +#define LED_POW1 mcuRegP[ _P1_5 ] +#define LED_PM_POW1 mcuRegPM[ _P1_5 ] +#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ȍ~ VAbvf[^ +// Vt@[͑vH +#define N_MGC_L 0x1FF6 +#define N_MGC_T 0x4FF6 + + + +/* ======================================================== + I2CŎMāA + ݁A + `FbNOK@@Vt@[ɐ؂ւčċN + @@@@NG@@ijt@[ɖ߂čċN + i̊֐͖߂܂j + ======================================================== */ +void firm_update( ) +{ + u8 target_block; + u8 split_write_count; // ubNւ܂܏ރJE^ + + // ւO ///////////////////////////////////// + my_FSL_Init(); + + /* t@[̃obNAbv + JnAhXAݐ̐擪hubNԍh (TCY FIRM_SIZE) + 0x2000 - 0x4FFF + 0x5000 - 0x7FFF (ubN 20 - 31) ɃRs[ + */ + firm_duplicate( FIRM_TOP, + ALTERNATE_FIRMTOP ); + + // SubN폜 ///////////////////////////////////// + // df𔻒肷邽߁AŏɑSNX^ + //iVt@[ƂɎcĂAȑÕt@[̃tb^j + for( target_block = INACTIVE_BOOTSECT_TOP; + target_block < ALTERNATE_FIRMTOP; + target_block ++ ) + { + FSL_Erase( target_block ); + } + + + // ւ /////////////////////////////////////////// + // XgbvRfBV܂ő + // IAX^[gAbv[`ɔ + for( target_block = INACTIVE_BOOTSECT_TOP; + target_block < ALTERNATE_FIRMTOP; + target_block ++ ) + { + u8 my_spd; + +/* łɏĂBłȂƒfꂽƂIĂ邩ʏoȂ +// // Vt@[̈폜 +// FSL_Erase( target_block ); +*/ + // + for( split_write_count = 0; + split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; + split_write_count ++ ) + { + u8* p_buffer = &pool.self_update_work[0]; + u16 buff_written_size = 0; + + WDT_Restart( ); + + // I2C珑݃f[^obt@ɂ߂ + do + { + while( !IICAIF && !SPD ) + {;} + my_spd = SPD; + IICAIF = 0; + *p_buffer = IICA; + WREL = 1; + p_buffer ++; + buff_written_size ++; + } + while( ( buff_written_size != SELF_UPDATE_BUFF_SIZE ) + && !SPD ); + + my_spd += SPD; + + // + // ŌゾƁAS~pfBO邪ʂɂ܂Ȃ + 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); + // ݌̃`FbNG[ + // XgA + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + // ߂ĂȂ // + } + + if( my_spd != 0 ) + { + break; + } + } + + // 1ubN݊Bxt@Cs + if( FSL_IVerify( target_block ) != FSL_OK ){ + alert(2); + // ēx xt@CJԂ_ł... /// ďׂ݂H + // XgA + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + // ߂ĂȂ // + } + + if( my_spd != 0 ) + { + break; + } + } + + LREL = 1; + + // 񂾃t@[̃`FbN // + { + u8 i; + u8 comp = 0; + + // [_[̃}WbNƁA{̖̃}WbN͓mF + 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 ++; + } + + if( comp == 0 ) + { + // OK! + FSL_InvertBootFlag( ); + FSL_SwapBootCluster( ); // ZbgɓBFSL_Close͕sv + } + else + { + // f[^(}WbNio[ĂȂ)G[ + // XgA + alert(3); + + firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ); + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 + } + // ߂ĂȂ // + } +} + + + + +/* ======================================================== + @t@[obNAbv̈悩烊XgA܂B + @`FbNAŌ̍ŌŃu[gXbv̂ŁA +@ł̓u[gXbv͕svłB + + ======================================================== */ +void firm_restore( ) +{ + DBG_LED_on; + LED_PM_POW1 = 0; + + // obNAbv͐H // + { + 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 ++; + } + + if( comp != 0 ) + { + // obNAbv̈ꂽ... + 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 sRsR + comp++; + LED_POW1 = ( comp == 1 || comp == 3 )? 1: 0; + if( comp == 8 ) + { + comp = 0; + } + } + + { + // d{^œdoff + static u8 sw_hold_count; + + if( !SW_POW_n_RAW ) + { + sw_hold_count++; + } + else + { + sw_hold_count = 0; + } + + if( sw_hold_count > 16 ) + { + sw_hold_count = 0; + // doff + PM_LDSW_off( ); + break; + } + } + + // EFCg + for( i = 1; i != 0; i++ ) + { + NOP(); + NOP(); + NOP(); + NOP(); + } + } + { + // ǁAǂ悤cB + + KRM = ( KR_SW_POW ); // Mask ł͂ȂAModeȂ̂B킵 + MK0 = 0xFFFF; + MK1 = ~( INT_MSK1_KR ); + MK2L = 0xFF; + + // PU5 ̂܂ + PU7 = bits8(0,0,0,0, 1,0,0,0); // PWSWI + PU20 = bits8(0,0,0,0, 0,0,0,0);; // SW_HOME ~ + + STOP( ); + + mcu_wdt_reset; + } + } + } + + + if( my_FSL_Init() != ERR_SUCCESS ){ + alert(1); + } + + /* t@[̃XgA + 0x4800 - 0x7FFF (ubN 18 - 27) + 0x2000 - 0x47FF (ubN 8 - 17) փRs[ + */ + if( firm_duplicate( ALTERNATE_FIRMTOP, FIRM_TOP ) != ERR_SUCCESS ) + { + alert(2); + } + DBG_LED_off; + + // todo XgAsALEDƂāAT[rXɂĂ炤H + +/* +// u[g + if( FSL_InvertBootFlag() != ERR_SUCCESS ) + { + alert(3); + } +*/ + FSL_ForceReset(); // Zbg + // FSL_SwapBootCluster( ); // u[gXbvuɁvċNďoȂ炵 +} + + + +// ======================================================== +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 = bits8(0,0,0,0, 0,0,1,0); + LVIS = bits8(0,0,0,0, 1,0,0,0); + LVIM = bits8(1,0,0,0, 0,0,1,0); +*/ + FSL_FLMD0_HIGH; // tbVւ +} + + + +/*----------------------------------------------------------------------------------------------*/ +/* leave the "user room" and restore previous conditions */ +/*----------------------------------------------------------------------------------------------*/ +static void FSL_Close( void ) +{ + // nH + + FSL_FLMD0_LOW; // tbVCgveNg + +#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 +} + + + +/* ======================================================== +@}CRŃt@[Rs[܂B + __far u8 * p_rom Rs[̐擪AhX + block_dest Rs[̐擪ubN + + Rs[ɏ悤my_FSL_Init炩ߎsKv܂B + ======================================================== */ +//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; // ubNւ܂܏ރJE^ + __far u8* p_src = ( __far u8* )( block_src * 0x400 ); + u8 retry_error; + + led_print(1); + + // ݐubN̐JԂ + for( target_block = block_dest; + target_block < ( block_dest + FIRM_SIZE ); + target_block ++ ) + { + led_print(2); + WDT_Restart( ); + // ubN + retry_error = 5 + 1; + while( FSL_BlankCheck( target_block ) != FSL_OK ) + { + led_print(3); + FSL_Erase( target_block ); + if( -- retry_error == 0 ) + { + // tbVH + FSL_Close( ); + return ( ERR_ERR ); // ZbgA݂@ǂȂ邩m + } + } + + led_print(4); + // ݕJԂ + for( split_write_count = 0; + split_write_count < SELF_UPDATE_SPLIT_WRITE_NUM; + split_write_count ++ ) + { + u16 buff_written_size; + u8* p_buff; + + // ݃f[^obt@ɂ߂ + buff_written_size = 0; + p_buff = &pool.self_update_work[0]; + do + { + *p_buff = *p_src; + p_src ++; + p_buff ++; + buff_written_size ++; + } + while( buff_written_size != SELF_UPDATE_BUFF_SIZE ); + + // + if( FSL_Write( ( fsl_u32 ) ( target_block * SAM_BLOCK_SIZE + + split_write_count * SELF_UPDATE_BUFF_SIZE ), + ( fsl_u08 ) ( SELF_UPDATE_BUFF_SIZE / SAM_WORD_SIZE ) ) + != FSL_OK ) + { + // Jo̓u[g // + FSL_Close( ); + led_print(5); +// while(1){} + return ( ERR_ERR ); + } + } + led_print(6); + + // 1ubN݊Bd`FbNs + while( FSL_IVerify( target_block ) != FSL_OK ) + { + // Jo̓u[g // + led_print(7); + return ( ERR_ERR ); + } + } + return( ERR_SUCCESS ); + +} + + + +/* ======================================================== + ======================================================== */ +static err my_FSL_Init() +{ + u8 rv; + + RTCE = 0; + + // ւO // + DI( ); + FSL_Open( ); // 荞݋֎~Ȃ + + FSL_Init( &pool.self_update_work[0] ); // CuB荞ݒfl + rv = FSL_ModeCheck( ); // CgveNg`FbNBs邱Ƃl + + return( (err)rv ); +} + + +task_status_immed tski_mcu_reset() +{ + // ʂɍċN + my_FSL_Init(); + + FSL_ForceReset(); // Zbg + FSL_Close( ); + + // یH // + 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(); + LED_POW1 = 1; + for( i = 0; i < num; i++ ) + { + DBG_LED_on; + DBG_LED_off; + } + LED_POW1 = 0; + } +} + + +void led_print( u8 num ) +{ + u8 i; + + DBG_LED_on; + for( i = 0; i < num; i++ ) + { + LED_POW1 = 1; + LED_POW1 = 0; + } + DBG_LED_off; +} +#endif diff --git a/tags/SDK3.0(2.00)/self_flash.h b/tags/SDK3.0(2.00)/self_flash.h new file mode 100644 index 0000000..768565e --- /dev/null +++ b/tags/SDK3.0(2.00)/self_flash.h @@ -0,0 +1,9 @@ +#ifndef _self_flash_h_ +#define _self_flash_h_ + + +void firm_update(); + + +#endif + diff --git a/tags/SDK3.0(2.00)/sim/sfrAlias.h b/tags/SDK3.0(2.00)/sim/sfrAlias.h new file mode 100644 index 0000000..1e77313 --- /dev/null +++ b/tags/SDK3.0(2.00)/sim/sfrAlias.h @@ -0,0 +1,200 @@ +#ifndef _sfrAlias_ +#define _sfrAlias_ + +#include "../config.h" + +#ifdef _debug_led_ +# define DBG_LED_on { mcuRegPM[ _P2_1 ] = 0; mcuRegP[ _P2_1 ] = 1; } +# define DBG_LED_off { mcuRegP[ _P2_1 ] = 0; } +# define DBG_LED_toggle ( mcuRegP[ _P2_1 ] ^= 1 ) +# define DBG_LED2_on { mcuRegPM[ _P2_2 ] = 0; mcuRegP[ _P2_2 ] = 1; } +# define DBG_LED2_off { mcuRegP[ _P2_2 ] = 0; } +# define DBG_LED2_toggle ( mcuRegP[ _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 mcuRegP[ _P7_7 ] +#endif + + +#define IIC_SLA_CODEC 0xA4 +#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH + + +// PMx0ŏo̓[h + +// SoC +#define IRQ0_ast { mcuRegP[ _P7_6 ] = 0; mcuRegPM[ _P7_6 ] = 0; } +#define IRQ0_neg { mcuRegP[ _P7_6 ] = 1; } +#define IRQ0_enable { mcuRegPM[ _P7_6 ] = 0; } +#define IRQ0_disable { mcuRegPM[ _P7_6 ] = 1; } +#define IRQ0 ( mcuRegP[ _P7_6 ] ) + +// h~ +#define RESET1_n ( mcuRegP[ _P0_0 ] ) + +#if 0 // PM_RESET1`g +#define RESET1_ast { mcuRegP[ _P0_0 ] = 0; mcuRegPM[ _P0_0 ] = 0; } +#define RESET1_neg { mcuRegPM[ _P0_0 ] = 1; } +#endif + +#define RESET2_ast { mcuRegP[ _P0_1 ] = 0; mcuRegPM[ _P0_1 ] = 0; } +#define RESET2_neg { mcuRegPM[ _P0_1 ] = 1; } + +#define SLP_REQ mcuRegP[ _P12_0 ] + +// CTR,SPFL,܂ʔh@ +#define DEV_DET ( P12 & 0x00000110 ) +#define DEV_CTR ( 0 << 1 ) +#define DEV_SPFL ( 1 << 1 ) +#define DEV_SHRIMP ( 2 << 1 ) +#define DEV_RSV2 ( 3 << 1 ) + +// FCRAM +#define FCRAM_RST mcuRegP[ _P3_0 ] +#define FCRAM_RST_ast { mcuRegP[ _P3_0 ] = 0; } +#define FCRAM_RST_neg { mcuRegP[ _P3_0 ] = 1; } + +// CODEC +#define PM_IRQ_n mcuRegP[ _P7_2 ] +// INTP6 + +// PM +#define PM_EXTDC_n_RAW mcuRegP[ _P7_0 ] +// INTP7 +//#define BT_TEMP mcuRegP[ _P15_0 ] +// ANI8 +//#define BT_DET mcuRegP[ _P15_1 ] +// ANI9 +#define BT_DET_P mcuRegP[ _P1_6 ] +#define BT_TEMP_P mcuRegP[ _P1_7 ] + + +// SPFL̃At@XLCDŕKvȁ}15V̓dB +#define SPFL_LCD_AMOL_HV_CONT mcuRegP[ _P20_2 ] + + +// [d(out) +// _łBӁB +#define BT_CHG_ENABLE() ( mcuRegP[ _P4_3 ] = 0 ) +#define BT_CHG_DISABLE() ( mcuRegP[ _P4_3 ] = 1 ) +#define BT_CHG_Ena_n ( mcuRegP[ _P4_3 ] ) + +// [d(in) +#define BT_IN_CHG_n_RAW mcuRegP[ _P5_1 ] +#define PU_BT_IN_CHG_n mcuRegPU[ _P5_1 ] + +#define SW_WIFI_n_RAW mcuRegP[ _P7_4 ] +#define PM_SW_WIFI_n mcuRegPM[ _P7_4 ] +// KR4 +#define SW_POW_n_RAW mcuRegP[ _P7_3 ] +// KR3 +#define SW_SEL_n mcuRegP[ _P2_3 ] +#define PM_SW_SEL_n mcuRegPM[ _P2_3 ] +//#define VOL mcuRegP[ _P2_7 ] +// ANI7 + +#define SW_HOME_n_JIKKI_RAW mcuRegP[ _P20_4 ] +#define PM_SW_HOME_n_JIKKI mcuRegPM[ _P20_4 ] +#define PU_SW_HOME_n_JIKKI mcuRegPU[ _P20_4 ] + +// INTP22 +#define SW_HOME_n_TSBOARD_RAW mcuRegP[ _P2_0 ] +#define PM_SW_HOME_n_TSBOARD mcuRegPM[ _P2_0 ] + +// WiFi +#define WL_TX mcuRegP[ _P20_3 ] // INTP21 +#define PM_WL_TX mcuRegPM[ _P20_3 ] // INTP21 + +// RBR +#define RBR_RESET_n mcuRegP[ _P2_1 ] +#define RBR_FLIGHT mcuRegP[ _P2_2 ] + +//#define LED_CAM mcuRegP[ _P1_0 ] // TO02 +//#define LED_WIFI mcuRegP[ _P1_1 ] // TO03 +//#define LED_NOTIFY mcuRegP[ _P1_3 ] // TO05 +//#define LED_3D mcuRegP[ _P5_2 ] // SLTO TO01 +//#define LED_POW2 mcuRegP[ _P1_4 ] // TO06 ( ) +//#define LED_POW1 mcuRegP[ _P1_5 ] // TO07 ( ) +//#define LED_CHARGE mcuRegP[ _P2_4 ] + + +#ifdef _MODEL_CTR_ +// mcuRegP[ _P5_3 ] ɉAmcuRegP[ _P5_5 ], P140 P141 +// P140o͐pȂ̂... +#define I2C_PU_on() { P14 |= 0x03; mcuRegPM[ _P5_3 ] = 0; mcuRegPM[ _P3_3 ] = 0; } +#define I2C_PU_off() { mcuRegPM[ _P5_3 ] = 1; mcuRegPM[ _P3_3 ] = 1; P14 &= ~0x03; } +#endif + +#define GYRO_ENABLE() mcuRegP[ _P5_0 ] = 0 +#define GYRO_DISABLE() mcuRegP[ _P5_0 ] = 1 + +//#define I2C_M_SDA mcuRegP[ _P3_1 ] // SDA10 +//#define I2C_M_SCL mcuRegP[ _P3_2 ] // SCL10 + +//#define I2C_0_SCL mcuRegP[ _P6_0 ] // IIC_TWL SCL0 +//#define I2C_0_SDA mcuRegP[ _P6_1 ] // SDA0 + +//#define I2C_1_SCL mcuRegP[ _P20_0 ] // IIC CTR SCL1 +//#define I2C_1_SDA mcuRegP[ _P20_1 ] // SDA1 + +//#define 32kHz_O mcuRegP[ _P1_2 ] // RTCCL +//#define 32k_I1 mcuRegP[ _P12_3 ] // XT1 +//#define 32k_I2 mcuRegP[ _P12_4 ] // XT2 + +// @AJ@AV䔻ʁB +#define DIPSW ( P4 & bits8(0,0,0,0, 0,0,1,1) ) // mini cube & \tgEFAfBbvXCb` TOOL0,1B mcuRegP[ _P4_0 ] L ӁI +#define DIPSW_CTR 3 // gp +#define DIPSW_ISDEV 0 // KuCBattGaugeŔ +#define DIPSW_TAIKENDAI 2 +#define DIPSW_TAIKENDAI_NBD 1 + + +#define SHELL_OPEN_RAW mcuRegP[ _P7_1 ] // INTP5 ӂJ (‚L) + +//#define DBG_VR mcuRegP[ _P2_6 ] +// ANI6 + +#define ACC_VALID mcuRegP[ _P20_5 ] +#define PM_ACC_VALID mcuRegPM[ _P20_5 ] +#define ACCEL_INT1 mcuRegP[ _P2_5 ] // todo P2.5ʖړIŎgȂȎ(AIN5)ꂢɂ +#define PM_ACCEL_INT1 mcuRegPM[ _P2_5 ] + +#define KR_SW_POW ( 1 << 3 ) +#define KR_SW_WIFI ( 1 << 4 ) + + +/////////////////////////////////////////////////////////// + +#define INT_MSK0_IIC_M_DMA 1<<12 +#define INT_MSK0_SHELL 1<<7 +#define INT_MSK0_EXTDC 1<<6 +//#define INT_MSK0_SLP 1<<2 +#define INT_MSK0_RSV ~( INT_MSK0_IIC_M_DMA | INT_MSK0_SHELL | INT_MSK0_EXTDC ) + +#define INT_MSK1_KR 1<<11 +#define INT_MSK1_RTCINTVAL 1<<10 +#define INT_MSK1_RTCALARM 1<<9 +#define INT_MSK1_ADC 1<<8 +#define INT_MSK1_IIC_CTR 1<<3 +#define INT_MSK1_IIC_MCU 1<<0 +#define INT_MSK1_RSV ~( INT_MSK1_KR | INT_MSK1_RTCINTVAL | INT_MSK1_RTCALARM | INT_MSK1_ADC \ + | INT_MSK1_IIC_CTR | INT_MSK1_IIC_MCU ) + +#define INT_MSK2_WIFI_TX_KE3 1<<4 +#define INT_MSK2L_RSV ~( INT_MSK2_WIFI_TX_KE3 ) + +#define INT_MSK2_IIC_TWL 1<<8 +#define INT_MSK2_WIFI_TX_BSR 1<<10 +#define INT_MSK2_CODEC_PMIRQ 1<<3 +#define INT_MSK2_RSV ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ ) + +#endif // dupe include guard diff --git a/tags/SDK3.0(2.00)/sim/simFixture.c b/tags/SDK3.0(2.00)/sim/simFixture.c new file mode 100644 index 0000000..847b119 --- /dev/null +++ b/tags/SDK3.0(2.00)/sim/simFixture.c @@ -0,0 +1,149 @@ +#ifdef _WIN32 + +#include + +void EI(){;} +void DI(){;} +void HALT(){;} +void NOP(){;} +void STOP(){;} + +unsigned char bcdtob( unsigned char arg ) +{ + return 0; // v[Xz_ +} + + +/* +typedef unsigned char fsl_u08; +typedef unsigned int fsl_u16; +typedef unsigned long int fsl_u32; +*/ +/* +#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 +*/ +fsl_u08 FSL_Init(fsl_u08* data_buffer_pu08) +{ + return FSL_OK; +} + +fsl_u08 FSL_Init_cont(fsl_u08* data_buffer_pu08) +{ + return FSL_OK; +} + +fsl_u08 FSL_ModeCheck(void) +{ + return FSL_OK; +} + +fsl_u08 FSL_BlankCheck(fsl_u16 block_u16) +{ + return FSL_OK; +} + +fsl_u08 FSL_Erase(fsl_u16 block_u16) +{ + return FSL_OK; +} + +fsl_u08 FSL_IVerify(fsl_u16 block_u16) +{ + return FSL_OK; +} + +fsl_u08 FSL_Write(fsl_u32 s_address_u32, fsl_u08 word_count_u08) +{ + return FSL_OK; +} + +fsl_u08 FSL_EEPROMWrite(fsl_u32 s_address_u32, fsl_u08 word_count_u08) +{ + return FSL_OK; +} + +fsl_u08 FSL_GetSecurityFlags(fsl_u16* destination_pu16) +{ + return FSL_OK; +} + +fsl_u08 FSL_GetActiveBootCluster(fsl_u08* destination_pu08) +{ + return FSL_OK; +} + +fsl_u08 FSL_GetBlockEndAddr(fsl_u32* destination_pu32, fsl_u16 block_u16) +{ + return FSL_OK; +} + +fsl_u08 FSL_GetFlashShieldWindow(fsl_u16* start_block_pu16, fsl_u16* end_block_pu16) +{ + return FSL_OK; +} + +fsl_u08 FSL_InvertBootFlag(void) +{ + return FSL_OK; +} + +fsl_u08 FSL_SetFlashShieldWindow(fsl_u16 start_block_u16, fsl_u16 end_block_u16) +{ + return FSL_OK; +} + +fsl_u08 FSL_SetChipEraseProtectFlag(void) +{ + return FSL_OK; +} + +fsl_u08 FSL_SetBlockEraseProtectFlag(void) +{ + return FSL_OK; +} + +fsl_u08 FSL_SetWriteProtectFlag(void) +{ + return FSL_OK; +} + +fsl_u08 FSL_SetBootClusterProtectFlag(void) +{ + return FSL_OK; +} + +void FSL_SwapBootCluster(void) +{ + ; +} + +fsl_u08 FSL_SwapActiveBootCluster(void) +{ + return FSL_OK; +} + +void FSL_ForceReset(void) +{ + ; +} + +void FSL_SetInterruptMode(void) +{ + ; +} + + + + + +#endif diff --git a/tags/SDK3.0(2.00)/sim/simOnWin.h b/tags/SDK3.0(2.00)/sim/simOnWin.h new file mode 100644 index 0000000..d6349b8 --- /dev/null +++ b/tags/SDK3.0(2.00)/sim/simOnWin.h @@ -0,0 +1,701 @@ +#ifndef _sim_on_win_ +#define _sim_on_win_ +//#pragma warning(disable:4068) + + +// gݍ݊֐ /////////////////////////////////////////// +void HALT(); +void STOP(); +void NOP(); +void EI(); +void DI(); + +unsigned char bcdtob( unsigned char ); + + + +// pragmaIȕ +#define __interrupt +#define __far + + +enum // sfr +{ + sfr_ADCRH = 0, + sfr_ADM, + sfr_ADS, + sfr_KRM, + sfr_EGP0, + sfr_EGN0, + sfr_ISC, + sfr_TIS0, + sfr_IICA0, + sfr_IICS0, + sfr_IICF0, + sfr_SEC, + sfr_MIN, + sfr_HOUR, + sfr_WEEK, + sfr_DAY, + sfr_MONTH, + sfr_YEAR, + sfr_SUBCUD, + sfr_ALARMWM, + sfr_ALARMWH, + sfr_ALARMWW, + sfr_RTCC0, + sfr_RTCC1, + sfr_RTCC2, + sfr_CMC, + sfr_CSC, + sfr_OSTC, + sfr_OSTS, + sfr_CKC, + sfr_CKS0, + sfr_CKS1, + sfr_RESF, + sfr_LVIM, + sfr_LVIS, + sfr_WDTE, + sfr_DSA0, + sfr_DSA1, + sfr_DMC0, + sfr_DMC1, + sfr_DRC0, + sfr_DRC1, + sfr_BECTL, + sfr_PFCMD, + sfr_PFS, + sfr_FLPMC, + sfr_PMC, + sfr_TXD0_SIO00, + sfr_RXD0_SIO01, + sfr_TDR00, + sfr_TDR01, + sfr_TXD1, + sfr_SIO10, + sfr_RXD1, + sfr_TDR03, + sfr_TDR04, + sfr_TDR05, + sfr_TDR06, + sfr_TDR07, + sfr_RSUBC, + sfr_DRA0L, + sfr_DRA0H, + sfr_DRA1L, + sfr_DRA1H, + sfr_DBC0L, + sfr_DBC0H, + sfr_DBC1L, + sfr_DBC1H, + sfr_IF2L, + sfr_IF2H, + sfr_MK2L, + sfr_MK2HL, + sfr_PR02L, + sfr_PR02H, + sfr_PR12L, + sfr_PR12H, + sfr_IF0, +// sfr_IF0L, +// sfr_IF0H, + sfr_IF1, +// sfr_IF1L, +// sfr_IF1H, + sfr_MK0, +// sfr_MK0L, +// sfr_MK0H, + sfr_MK1, +// sfr_MK1L, +// sfr_MK1H, + sfr_PR00, +// sfr_PR00L, +// sfr_PR00H, + sfr_PR01, +// sfr_PR01L, +// sfr_PR01H, + sfr_PR10, +// sfr_PR10L, +// sfr_PR10H, + sfr_PR11, +// sfr_PR11L, +// sfr_PR11H, + sfr_MDAL_MULA, + sfr_MDAH_MULB, + sfr_MDBH_MULOH, + sfr_MDBL_MULOL, + + sfr_P0, + sfr_PM0, + sfr_PM1, + sfr_P1, + sfr_P2, + sfr_PM2, + sfr_P3, + sfr_PM3, + sfr_P4, + sfr_PM4, + sfr_P5, + sfr_PM5, + sfr_P6, + sfr_PM6, + sfr_P7, + sfr_PM7, + sfr_P12, + sfr_PM12, + sfr_P14, + sfr_PM14, + sfr_P15, + sfr_PM15, + sfr_PM20, + sfr_P20, + _MCU_SFR_MAX_ +}; + + +enum // 2nd sfr +{ + sfr_ADPC, + sfr_PU0, + sfr_PU1, + sfr_PU3, + sfr_PU4, + sfr_PU5, + sfr_PU7, + sfr_PU12, + sfr_PU14, + sfr_PIM3, + sfr_PIM7, + sfr_POM3, + sfr_POM7, + sfr_NFEN0, + sfr_NFEN1, + sfr_NFEN2, + sfr_MDCL, + sfr_MDCH, + sfr_MDUC, + sfr_PER0, + sfr_PER2, + sfr_OSMC, + sfr_BCDADJ, + sfr_SSR00L, + sfr_SSR00, + sfr_SSR01L, + sfr_SSR01, + sfr_SSR02L, + sfr_SSR02, + sfr_SSR03L, + sfr_SSR03, + sfr_SIR00L, + sfr_SIR00, + sfr_SIR01L, + sfr_SIR02L, + sfr_SIR01, + sfr_SIR02, + sfr_SIR03L, + sfr_SIR03, + sfr_SMR00, + sfr_SMR01, + sfr_SMR02, + sfr_SMR03, + sfr_SCR00, + sfr_SCR01, + sfr_SCR02, + sfr_SCR03, + sfr_SE0L, + sfr_SE0, + sfr_SS0L, + sfr_SS0, + sfr_ST0L, + sfr_ST0, + sfr_SPS0L, + sfr_SPS0, + sfr_SO0, + sfr_SOE0L, + sfr_SOE0, + sfr_SOL0L, + sfr_SOL0, + sfr_TCR00, + sfr_TCR01, + sfr_TCR02, + sfr_TCR07, + sfr_TO0L, + sfr_TOL0L, + sfr_TPS0L, + sfr_TSR07L, + sfr_TMR00, + sfr_TMR02, + sfr_TMR04, + sfr_TMR06, + sfr_TSR00L, + sfr_TOE0L, + sfr_TMR01, + sfr_TMR03, + sfr_TMR05, + sfr_TMR07, + sfr_TT0L, + sfr_TOM0L, + sfr_TE0L, + sfr_TS0L, + sfr_IICCTL01, + sfr_IICCTL11, + sfr_IICS1, + sfr_PER3, + sfr_PU20, + sfr_TCR04, + sfr_TCR06, + sfr_EGN2, + sfr_EGP2, + sfr_IICWH0, + sfr_IICWH1, + sfr_IICWL0, + sfr_IICWL1, + sfr_SVA0, + sfr_SVA1, + sfr_IICA1, + sfr_IICCTL00, + sfr_IICCTL10, + sfr_IICF1, + sfr_TCR03, + sfr_TCR05, + sfr_TSR01L, + sfr_TSR02L, + sfr_TSR03L, + sfr_TSR04L, + sfr_TSR05L, + sfr_TSR06L, + sfr_TE0, + sfr_TO0, + sfr_TOE0, + sfr_TOL0, + sfr_TOM0, + sfr_TPS0, + sfr_TS0, + sfr_TSR07, + sfr_TT0, + sfr_TSR00, + sfr_TSR01, + sfr_TSR02, + sfr_TSR03, + sfr_TSR04, + sfr_TSR05, + sfr_TSR06, + _MCU_SFR2_MAX_ +}; + + + +enum +{ + _P0_0 = 0, _P0_1, + _P1_0, _P1_1, _P1_2, _P1_3, _P1_4, _P1_5, _P1_6, _P1_7, + _P2_0, _P2_1, _P2_2, _P2_3, _P2_4, _P2_5, _P2_6, _P2_7, + _P3_0, _P3_1, _P3_2, _P3_3, + _P4_0, _P4_1, _P4_2, _P4_3, + _P5_0, _P5_1, _P5_2, _P5_3, + _P6_0, _P6_1, + _P7_0, _P7_1, _P7_2, _P7_3, _P7_4, _P7_5, _P7_6, _P7_7, + _P12_0, _P12_1, _P12_2, _P12_3, _P12_4, + _P14_0, _P14_1, + _P15_0, _P15_1, + _P20_0, _P20_1, _P20_2, _P20_3, _P20_4, _P20_5, + _MCU_PORTS_MAX_ +}; + +unsigned char mcuRegPM[ _MCU_PORTS_MAX_ ]; +unsigned char mcuRegP[ _MCU_PORTS_MAX_ ]; +unsigned char mcuRegPU[ _MCU_PORTS_MAX_ ]; + +/* +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; +*/ +/* +typedef unsigned char mcu_reg; + +mcu_reg P0; +mcu_reg PM0; +mcu_reg PM1; +mcu_reg P1; +mcu_reg P2; +mcu_reg PM2; +mcu_reg PM3; +mcu_reg P3; +mcu_reg P4; +mcu_reg P5; +mcu_reg PM5; +//mcu_reg PU5; +mcu_reg P6; +mcu_reg PM6; +mcu_reg P7; +mcu_reg PM7; +mcu_reg P12; +mcu_reg PM12; +mcu_reg P14; +mcu_reg PM14; +mcu_reg P15; +mcu_reg PM15; +//mcu_reg PU20; +mcu_reg PM20; +mcu_reg P20; + +*/ + + +unsigned short mcuSfr[ _MCU_SFR_MAX_ ]; +unsigned short mcuSfr2[ _MCU_SFR2_MAX_ ]; + + +// sfr +#define ADCRH mcuSfr[ sfr_ADCRH ] +#define ADM mcuSfr[ sfr_ADM ] +#define ADS mcuSfr[ sfr_ADS ] +#define KRM mcuSfr[ sfr_KRM ] +#define EGP0 mcuSfr[ sfr_EGP0 ] +#define EGN0 mcuSfr[ sfr_EGN0 ] +#define ISC mcuSfr[ sfr_ISC ] +#define TIS0 mcuSfr[ sfr_TIS0 ] +#define IICA0 mcuSfr[ sfr_IICA0 ] +#define IICS0 mcuSfr[ sfr_IICS0 ] +#define IICF0 mcuSfr[ sfr_IICF0 ] +#define SEC mcuSfr[ sfr_SEC ] +#define MIN mcuSfr[ sfr_MIN ] +#define HOUR mcuSfr[ sfr_HOUR ] +#define WEEK mcuSfr[ sfr_WEEK ] +#define DAY mcuSfr[ sfr_DAY ] +#define MONTH mcuSfr[ sfr_MONTH ] +#define YEAR mcuSfr[ sfr_YEAR ] +#define SUBCUD mcuSfr[ sfr_SUBCUD ] +#define ALARMWM mcuSfr[ sfr_ALARMWM ] +#define ALARMWH mcuSfr[ sfr_ALARMWH ] +#define ALARMWW mcuSfr[ sfr_ALARMWW ] +#define RTCC0 mcuSfr[ sfr_RTCC0 ] +#define RTCC1 mcuSfr[ sfr_RTCC1 ] +#define RTCC2 mcuSfr[ sfr_RTCC2 ] +#define CMC mcuSfr[ sfr_CMC ] +#define CSC mcuSfr[ sfr_CSC ] +#define OSTC mcuSfr[ sfr_OSTC ] +#define OSTS mcuSfr[ sfr_OSTS ] +#define CKC mcuSfr[ sfr_CKC ] +#define CKS0 mcuSfr[ sfr_CKS0 ] +#define CKS1 mcuSfr[ sfr_CKS1 ] +#define RESF mcuSfr[ sfr_RESF ] +#define LVIM mcuSfr[ sfr_LVIM ] +#define LVIS mcuSfr[ sfr_LVIS ] +#define WDTE mcuSfr[ sfr_WDTE ] +#define DSA0 mcuSfr[ sfr_DSA0 ] +#define DSA1 mcuSfr[ sfr_DSA1 ] +#define DMC0 mcuSfr[ sfr_DMC0 ] +#define DMC1 mcuSfr[ sfr_DMC1 ] +#define DRC0 mcuSfr[ sfr_DRC0 ] +#define DRC1 mcuSfr[ sfr_DRC1 ] +#define BECTL mcuSfr[ sfr_BECTL ] +#define PFCMD mcuSfr[ sfr_PFCMD ] +#define PFS mcuSfr[ sfr_PFS ] +#define FLPMC mcuSfr[ sfr_FLPMC ] +#define PMC mcuSfr[ sfr_PMC ] +#define TXD0_SIO00 mcuSfr[ sfr_TXD0_SIO00 ] +#define RXD0_SIO01 mcuSfr[ sfr_RXD0_SIO01 ] +#define TDR00 mcuSfr[ sfr_TDR00 ] +#define TDR01 mcuSfr[ sfr_TDR01 ] +#define TXD1 mcuSfr[ sfr_TXD1 ] +#define SIO10 mcuSfr[ sfr_SIO10 ] +#define RXD1 mcuSfr[ sfr_RXD1 ] +#define TDR03 mcuSfr[ sfr_TDR03 ] +#define TDR04 mcuSfr[ sfr_TDR04 ] +#define TDR05 mcuSfr[ sfr_TDR05 ] +#define TDR06 mcuSfr[ sfr_TDR06 ] +#define TDR07 mcuSfr[ sfr_TDR07 ] +#define RSUBC mcuSfr[ sfr_RSUBC ] +#define DRA0L mcuSfr[ sfr_DRA0L ] +#define DRA0H mcuSfr[ sfr_DRA0H ] +#define DRA1L mcuSfr[ sfr_DRA1L ] +#define DRA1H mcuSfr[ sfr_DRA1H ] +#define DBC0L mcuSfr[ sfr_DBC0L ] +#define DBC0H mcuSfr[ sfr_DBC0H ] +#define DBC1L mcuSfr[ sfr_DBC1L ] +#define DBC1H mcuSfr[ sfr_DBC1H ] +#define IF2L mcuSfr[ sfr_IF2L ] +#define IF2H mcuSfr[ sfr_IF2H ] +#define MK2L mcuSfr[ sfr_MK2L ] +#define MK2HL mcuSfr[ sfr_MK2HL ] +#define PR02L mcuSfr[ sfr_PR02L ] +#define PR02H mcuSfr[ sfr_PR02H ] +#define PR12L mcuSfr[ sfr_PR12L ] +#define PR12H mcuSfr[ sfr_PR12H ] +//#define IF0L mcuSfr[ sfr_IF0L ] +//#define IF0H mcuSfr[ sfr_IF0H ] +#define IF0 mcuSfr[ sfr_IF0 ] +//#define IF1L mcuSfr[ sfr_IF1L ] +//#define IF1H mcuSfr[ sfr_IF1H ] +#define IF1H mcuSfr[ sfr_IF1 ] +//#define MK0L mcuSfr[ sfr_MK0L ] +//#define MK0H mcuSfr[ sfr_MK0H ] +#define MK0L mcuSfr[ sfr_MK0 ] +//#define MK1L mcuSfr[ sfr_MK1L ] +//#define MK1H mcuSfr[ sfr_MK1H ] +#define MK1H mcuSfr[ sfr_MK1 ] +#define PR00 mcuSfr[ sfr_PR00 ] +//#define PR00L mcuSfr[ sfr_PR00L ] +//#define PR00H mcuSfr[ sfr_PR00H ] +#define PR01 mcuSfr[ sfr_PR01 ] +//#define PR01L mcuSfr[ sfr_PR01L ] +//#define PR01H mcuSfr[ sfr_PR01H ] +#define PR10 mcuSfr[ sfr_PR10 ] +//#define PR10L mcuSfr[ sfr_PR10L ] +//#define PR10H mcuSfr[ sfr_PR10H ] +#define PR11 mcuSfr[ sfr_PR11 ] +//#define PR11L mcuSfr[ sfr_PR11L ] +//#define PR11H mcuSfr[ sfr_PR11H ] +#define MDAL_MULA mcuSfr[ sfr_MDAL_MULA ] +#define MDAH_MULB mcuSfr[ sfr_MDAH_MULB ] +#define MDBH_MULOH mcuSfr[ sfr_MDBH_MULOH ] +#define MDBL_MULOL mcuSfr[ sfr_MDBL_MULOL ] +#define P0 mcuSfr[ sfr_P0 ] +#define PM0 mcuSfr[ sfr_PM0 ] +#define PM1 mcuSfr[ sfr_PM1 ] +#define P1 mcuSfr[ sfr_P1 ] +#define P2 mcuSfr[ sfr_P2 ] +#define PM2 mcuSfr[ sfr_PM2 ] +#define PM3 mcuSfr[ sfr_PM3 ] +#define P3 mcuSfr[ sfr_P3 ] +#define P4 mcuSfr[ sfr_P4 ] +#define PM4 mcuSfr[ sfr_PM4 ] +#define P5 mcuSfr[ sfr_P5 ] +#define PM5 mcuSfr[ sfr_PM5 ] +#define P6 mcuSfr[ sfr_P6 ] +#define PM6 mcuSfr[ sfr_PM6 ] +#define P7 mcuSfr[ sfr_P7 ] +#define PM7 mcuSfr[ sfr_PM7 ] +#define P12 mcuSfr[ sfr_P12 ] +#define PM12 mcuSfr[ sfr_PM12 ] +#define P14 mcuSfr[ sfr_P14 ] +#define PM14 mcuSfr[ sfr_PM14 ] +#define P15 mcuSfr[ sfr_P15 ] +#define PM15 mcuSfr[ sfr_PM15 ] + + + + + +// 2nd sfr +#define ADPC mcuSfr2[ sfr_ADPC ] +#define PU0 mcuSfr2[ sfr_PU0 ] +#define PU1 mcuSfr2[ sfr_PU1 ] +#define PU3 mcuSfr2[ sfr_PU3 ] +#define PU4 mcuSfr2[ sfr_PU4 ] +#define PU5 mcuSfr2[ sfr_PU5 ] +#define PU7 mcuSfr2[ sfr_PU7 ] +#define PU12 mcuSfr2[ sfr_PU12 ] +#define PU14 mcuSfr2[ sfr_PU14 ] +#define PIM3 mcuSfr2[ sfr_PIM3 ] +#define PIM7 mcuSfr2[ sfr_PIM7 ] +#define POM3 mcuSfr2[ sfr_POM3 ] +#define POM7 mcuSfr2[ sfr_POM7 ] +#define NFEN0 mcuSfr2[ sfr_NFEN0 ] +#define NFEN1 mcuSfr2[ sfr_NFEN1 ] +#define NFEN2 mcuSfr2[ sfr_NFEN2 ] +#define MDCL mcuSfr2[ sfr_MDCL ] +#define MDCH mcuSfr2[ sfr_MDCH ] +#define MDUC mcuSfr2[ sfr_MDUC ] +#define PER0 mcuSfr2[ sfr_PER0 ] +#define PER2 mcuSfr2[ sfr_PER2 ] +#define OSMC mcuSfr2[ sfr_OSMC ] +#define BCDADJ mcuSfr2[ sfr_BCDADJ ] +#define SSR00L mcuSfr2[ sfr_SSR00L ] +#define SSR00 mcuSfr2[ sfr_SSR00 ] +#define SSR01L mcuSfr2[ sfr_SSR01L ] +#define SSR01 mcuSfr2[ sfr_SSR01 ] +#define SSR02L mcuSfr2[ sfr_SSR02L ] +#define SSR02 mcuSfr2[ sfr_SSR02 ] +#define SSR03L mcuSfr2[ sfr_SSR03L ] +#define SSR03 mcuSfr2[ sfr_SSR03 ] +#define SIR00L mcuSfr2[ sfr_SIR00L ] +#define SIR00 mcuSfr2[ sfr_SIR00 ] +#define SIR01L mcuSfr2[ sfr_SIR01L ] +#define SIR02L mcuSfr2[ sfr_SIR02L ] +#define SIR01 mcuSfr2[ sfr_SIR01 ] +#define SIR02 mcuSfr2[ sfr_SIR02 ] +#define SIR03L mcuSfr2[ sfr_SIR03L ] +#define SIR03 mcuSfr2[ sfr_SIR03 ] +#define SMR00 mcuSfr2[ sfr_SMR00 ] +#define SMR01 mcuSfr2[ sfr_SMR01 ] +#define SMR02 mcuSfr2[ sfr_SMR02 ] +#define SMR03 mcuSfr2[ sfr_SMR03 ] +#define SCR00 mcuSfr2[ sfr_SCR00 ] +#define SCR01 mcuSfr2[ sfr_SCR01 ] +#define SCR02 mcuSfr2[ sfr_SCR02 ] +#define SCR03 mcuSfr2[ sfr_SCR03 ] +#define SE0L mcuSfr2[ sfr_SE0L ] +#define SE0 mcuSfr2[ sfr_SE0 ] +#define SS0L mcuSfr2[ sfr_SS0L ] +#define SS0 mcuSfr2[ sfr_SS0 ] +#define ST0L mcuSfr2[ sfr_ST0L ] +#define ST0 mcuSfr2[ sfr_ST0 ] +#define SPS0L mcuSfr2[ sfr_SPS0L ] +#define SPS0 mcuSfr2[ sfr_SPS0 ] +#define SO0 mcuSfr2[ sfr_SO0 ] +#define SOE0L mcuSfr2[ sfr_SOE0L ] +#define SOE0 mcuSfr2[ sfr_SOE0 ] +#define SOL0L mcuSfr2[ sfr_SOL0L ] +#define SOL0 mcuSfr2[ sfr_SOL0 ] +#define TCR00 mcuSfr2[ sfr_TCR00 ] +#define TCR01 mcuSfr2[ sfr_TCR01 ] +#define TCR02 mcuSfr2[ sfr_TCR02 ] +#define TCR07 mcuSfr2[ sfr_TCR07 ] +#define TO0L mcuSfr2[ sfr_TO0L ] +#define TOL0L mcuSfr2[ sfr_TOL0L ] +#define TPS0L mcuSfr2[ sfr_TPS0L ] +#define TSR07L mcuSfr2[ sfr_TSR07L ] +#define TMR00 mcuSfr2[ sfr_TMR00 ] +#define TMR02 mcuSfr2[ sfr_TMR02 ] +#define TMR04 mcuSfr2[ sfr_TMR04 ] +#define TMR06 mcuSfr2[ sfr_TMR06 ] +#define TSR00L mcuSfr2[ sfr_TSR00L ] +#define TOE0L mcuSfr2[ sfr_TOE0L ] +#define TMR01 mcuSfr2[ sfr_TMR01 ] +#define TMR03 mcuSfr2[ sfr_TMR03 ] +#define TMR05 mcuSfr2[ sfr_TMR05 ] +#define TMR07 mcuSfr2[ sfr_TMR07 ] +#define TT0L mcuSfr2[ sfr_TT0L ] +#define TOM0L mcuSfr2[ sfr_TOM0L ] +#define TE0L mcuSfr2[ sfr_TE0L ] +#define TS0L mcuSfr2[ sfr_TS0L ] +#define IICCTL01 mcuSfr2[ sfr_IICCTL01 ] +#define IICCTL11 mcuSfr2[ sfr_IICCTL11 ] +#define IICS1 mcuSfr2[ sfr_IICS1 ] +#define PER3 mcuSfr2[ sfr_PER3 ] +#define PU20 mcuSfr2[ sfr_PU20 ] +#define TCR04 mcuSfr2[ sfr_TCR04 ] +#define TCR06 mcuSfr2[ sfr_TCR06 ] +#define EGN2 mcuSfr2[ sfr_EGN2 ] +#define EGP2 mcuSfr2[ sfr_EGP2 ] +#define IICWH0 mcuSfr2[ sfr_IICWH0 ] +#define IICWH1 mcuSfr2[ sfr_IICWH1 ] +#define IICWL0 mcuSfr2[ sfr_IICWL0 ] +#define IICWL1 mcuSfr2[ sfr_IICWL1 ] +#define SVA0 mcuSfr2[ sfr_SVA0 ] +#define SVA1 mcuSfr2[ sfr_SVA1 ] +#define IICA1 mcuSfr2[ sfr_IICA1 ] +#define IICCTL00 mcuSfr2[ sfr_IICCTL00 ] +#define IICCTL10 mcuSfr2[ sfr_IICCTL10 ] +#define IICF1 mcuSfr2[ sfr_IICF1 ] +#define P20 mcuSfr2[ sfr_P20 ] +#define PM20 mcuSfr2[ sfr_PM20 ] +#define TCR03 mcuSfr2[ sfr_TCR03 ] +#define TCR05 mcuSfr2[ sfr_TCR05 ] +#define TSR01L mcuSfr2[ sfr_TSR01L ] +#define TSR02L mcuSfr2[ sfr_TSR02L ] +#define TSR03L mcuSfr2[ sfr_TSR03L ] +#define TSR04L mcuSfr2[ sfr_TSR04L ] +#define TSR05L mcuSfr2[ sfr_TSR05L ] +#define TSR06L mcuSfr2[ sfr_TSR06L ] +#define TE0 mcuSfr2[ sfr_TE0 ] +#define TO0 mcuSfr2[ sfr_TO0 ] +#define TOE0 mcuSfr2[ sfr_TOE0 ] +#define TOL0 mcuSfr2[ sfr_TOL0 ] +#define TOM0 mcuSfr2[ sfr_TOM0 ] +#define TPS0 mcuSfr2[ sfr_TPS0 ] +#define TS0 mcuSfr2[ sfr_TS0 ] +#define TSR07 mcuSfr2[ sfr_TSR07 ] +#define TT0 mcuSfr2[ sfr_TT0 ] +#define TSR00 mcuSfr2[ sfr_TSR00 ] +#define TSR01 mcuSfr2[ sfr_TSR01 ] +#define TSR02 mcuSfr2[ sfr_TSR02 ] +#define TSR03 mcuSfr2[ sfr_TSR03 ] +#define TSR04 mcuSfr2[ sfr_TSR04 ] +#define TSR05 mcuSfr2[ sfr_TSR05 ] +#define TSR06 mcuSfr2[ sfr_TSR06 ] + + + +typedef unsigned char bit; + +bit ACKD1; +bit ACKE0; +bit ACKE1; +bit ADCEN; +bit ADCS; +bit ADIF; +bit ADMK; +bit COI1; +bit DBC1; +bit DEN1; +bit DFC1; +bit DMAIF1; +bit DMAMK1; +bit DRA1; +bit DST1; +bit IF1; +bit IF2; +bit IICA0EN; +bit IICA1EN; +bit IICAIF0; +bit IICAIF1; +bit IICAMK0; +bit IICAMK1; +bit IICAPR00; +bit IICAPR01; +bit IICAPR10; +bit IICAPR11; +bit IICE0; +bit IICE1; +bit IICIF10; +bit IICMK10; +bit IICRSV0; +bit IICRSV1; +bit LREL0; +bit LREL1; +bit MK0; +bit MK1; +bit MK2; +bit PIF0; +bit PIF21; +bit PMK23; +bit PMK6; +bit RCLOE0; +bit RTCE; +bit RTCEN; +bit RTCIF; +bit RTCIIF; +bit RTCIMK; +bit RTCMK; +bit RWAIT; +bit RWST; +bit SAU0EN; +bit SDR02; +bit SLP_ACK; +bit SMC0; +bit SMC1; +bit SPD1; +bit SPIE0; +bit SPIE1; +bit STCEN0; +bit STCEN1; +bit STD1; +bit TAU0EN; +bit TDR02; +bit WALE; +bit WREL0; +bit WREL1; +bit WTIM0; +bit WTIM1; + +bit BECTL_7; + + + +#include "sfrAlias.h" + + +#endif diff --git a/tags/SDK3.0(2.00)/sim/sim_interrupt_decrare.c b/tags/SDK3.0(2.00)/sim/sim_interrupt_decrare.c new file mode 100644 index 0000000..68f4359 --- /dev/null +++ b/tags/SDK3.0(2.00)/sim/sim_interrupt_decrare.c @@ -0,0 +1,74 @@ +#ifndef _WIN32 + +// AȂ͂ +void fn_intwdti( ){} +void fn_intlvi( ){} +void fn_intp0(){} +void fn_intp1( ){} +void fn_intp2( ){} +void fn_intp3( ){} +void intp21_RFTx( ){} +// void fn_intp4(){ while(1){} } // pm.c +// void fn_intp5(){ while(1){} } // pm.c +// void fn_intp6(){ while(1){} } // pm.c +// void fn_intp7(){ while(1){} } // led.c +// void fn_intp21(){ while(1){} } // led.c + +void fn_intcmp0( ){} +void fn_intcmp1( ){} +void fn_intdma0( ){} +// void fn_intdma1(){} // i2c_mcu.cɂ +void fn_intst0( ){} +void fn_intsr0( ){} +void fn_intsre0( ){} +void fn_intst1( ){} +/* __interrupt void fn_intcsi10(){} */ +// void fn_intiic10(){ while(1){} } +void fn_intsr1( ){} +void fn_intsre1( ){} +// void fn_intiica(){} // i2c.cɂ +/* __interrupt void fn_inttm00(){} *//* sub.cɂĒ` */ +void fn_inttm01( ){} +void fn_inttm02( ){} +void fn_inttm03( ){} +// void fn_intad(){ while(1){} } // adc.c +void fn_intrtc( ){} +// void int_rtcint(){} // rtc.cɂ +// void fn_intkr(){} // main.c +void fn_intmd( ){} +void fn_inttm04( ){} +void fn_inttm05( ){} +void fn_inttm06( ){} +void fn_inttm07( ){} + + +/* ======================================================== + L[^[荞 + ======================================================== */ +void int_kr( ) +{ + // N邾 +} + + + +/* ======================================================== + ext dc + ======================================================== */ +void intp4( ) +{ + // N邾 +} + + + +/* ======================================================== + shell close + ======================================================== */ +void intp5( ) +{ + // N邾 +} + +#endif + diff --git a/tags/SDK3.0(2.00)/sw.c b/tags/SDK3.0(2.00)/sw.c new file mode 100644 index 0000000..caf5c9b --- /dev/null +++ b/tags/SDK3.0(2.00)/sw.c @@ -0,0 +1,183 @@ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#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ǂ݂̂Ńwb_ +#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 ) +*/ +#define TIME_MUKAN (u8)( 300 / INTERVAL_TSK_SW ) +#define TIME_MUKAN_PWSW_RED_TRIAL (u16)( 15000 / INTERVAL_TSK_SW ) // VAhome}XN + +//========================================================= +u16 SW_pow_count; +bit SW_pow_mask; + +u8 SW_home_count, SW_wifi_count, SW_home_count_rel; +u8 sw_wifi_mukan_time; + +u16 off_timeout_timer; + +u16 sw_pwsw_mukan_time; + +//========================================================= +// Ԃ𐔂BςȂł0ɖ߂Ȃ +// mask0̎́Ax܂Ŗ +#define count_sw_n( sw, counter, mask ) \ + { \ + if( sw ){ \ + mask = 0; \ + counter = 0; \ + }else{ \ + if( mask != 0 ){ \ + counter = 0; \ + }else{ \ + counter ++; \ + if( counter == 0 ) counter = -1; \ + } \ + } \ + } + + +#define chk_clicked( button, count, irq_bit_name ) \ + if( !button ) \ + { \ + if( count < CLICK_THRESHOLD ) \ + { \ + count ++; \ + if( count == CLICK_THRESHOLD ) \ + { \ + count ++; \ + set_irq( VREG_C_IRQ0, irq_bit_name ); \ + } \ + } \ + } \ + else \ + { \ + count = 0; \ + } + + + +/* ======================================================== + XCb`̊Ď + @`^O͂˂AAgKȂǂ̌oȂ + ======================================================== */ +void tsk_sw( ) +{ + static u8 task_interval; + + if( system_status.pwr_state == OFF_TRIG ) + { + SW_pow_count = 0; // dɔăNA + task_interval = 0; + } + + if( task_interval != 0 ) + { + task_interval--; + return; + // ܂ + } + + task_interval = (u8)( INTERVAL_TSK_SW / SYS_INTERVAL_TICK );// vXP[ɎgĂ܂ˁc + + // 8ms ɂ܂ + switch ( system_status.pwr_state ) + { + case ( ON ): + case ( SLEEP ): + case ( OFF ): + case ( ON_CHECK ): + // @̏ꍇ + if( ! system_status.taikendai ) + { + + // dXCb`̊Ď // + if( SW_pow_count == ( TIME_PWSW_CLICK ) ) // NbNԂɓB + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK ); + } + else if( SW_pow_count == ( HOLD_THREASHOLD ) ) // ɓB + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_HOLD ); + if( off_timeout_timer == 0 ) // dfJEg_EJnAxȂ悤ɁB + { + off_timeout_timer = vreg_ctr[ VREG_C_OFF_DELAY ] * 16; + } + } + + if( off_timeout_timer != 0 ) // 荞݌A^CAEgŋItB + { + off_timeout_timer --; + if( off_timeout_timer == 0 ) + { + force_off = true; + } + } + + }else{ + // X^hAV + // dXCb`̊Ď // + if( SW_pow_count == ( TIME_PWSW_CLICK ) ) + { + if( sw_pwsw_mukan_time == 0 ) + { + set_irq( VREG_C_IRQ0, REG_BIT_SW_POW_CLICK ); + // ȃ^C~OPWSWHOMEj[ɓĂ܂̂邽߂̃}XN^C}[ + sw_pwsw_mukan_time = TIME_MUKAN_PWSW_RED_TRIAL; + } + } + else if( SW_pow_count == ( HOLD_THREASHOLD ) ) + { + force_off = true; + } + + if( sw_pwsw_mukan_time != 0 ) + { + sw_pwsw_mukan_time--; + } + } + + count_sw_n( SW_POW_n, SW_pow_count, SW_pow_mask ); // {^Ԃ̃JEg + + // HOME sw // + 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 // + /// ňȎȂ̂͂킩Ă邪AsɏoĂ܂sǃXCb`~ + if( sw_wifi_mukan_time != 0 ) + { + sw_wifi_mukan_time--; + } + else + { + chk_clicked( SW_WIFI_n, SW_wifi_count, REG_BIT_SW_WIFI_CLICK ); + if( SW_wifi_count == CLICK_THRESHOLD +1 ) // 蔭I + { + sw_wifi_mukan_time = TIME_MUKAN; + } + } + } +} diff --git a/tags/SDK3.0(2.00)/sw.h b/tags/SDK3.0(2.00)/sw.h new file mode 100644 index 0000000..abe9715 --- /dev/null +++ b/tags/SDK3.0(2.00)/sw.h @@ -0,0 +1,20 @@ +#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 5 + +#define HOLD_THREASHOLD (u16)( 3000 /INTERVAL_TSK_SW ) +#define TIME_PWSW_CLICK (u8)( 220 /INTERVAL_TSK_SW ) +#define FORCEOFF_THREASHOLD (u8)( 12000 /INTERVAL_TSK_SW /16 ) + + +extern u16 off_timeout_timer; +#define clear_pow_off_countdown(){ off_timeout_timer = 0; force_off = false; } + +#endif diff --git a/tags/SDK3.0(2.00)/task_debug.c b/tags/SDK3.0(2.00)/task_debug.c new file mode 100644 index 0000000..54b594b --- /dev/null +++ b/tags/SDK3.0(2.00)/task_debug.c @@ -0,0 +1,120 @@ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs_loader.h" +//#include "incs.h" +#include "renge\renge.h" +#include "pm.h" +#include "accero.h" + + +/* ======================================================== + ======================================================== */ + +// 7ZO 4oCg +# define IIC_SLA_DBG_MONITOR 0x44 + + +#if 0 + +ӁI@^XNXgOĂ܂̂ŁAgȂ畜ĉI + +void tsk_debug( ) +{ +// u8 temp; + +#ifdef _DBG_PEDO_AUTO_ENABLE_ + if( system_status.pwr_state == ON_TRIG ){ + // vNonɂ + 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; + // fobOLEDi8bitj̏ + temp = iic_mcu_read_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO ); + count ++; + iic_mcu_write_a_byte( IIC_SLA_8LEDS, IIC_8LEDS_REG_DO, count ); + iic_mcu_write_a_byte( IIC_SLA_DBG_MONITOR, 3, count ); + } + } + */ + +// 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_3D ] ); +// 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_3D ] ); +// 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_3D ]; + str[1] = vreg_ctr[ VREG_C_ACC_CONFIG ]; + str[0] = SEC; + iic_mcu_write( IIC_SLA_DBG_MONITOR, 0x03, 4, &str ); + } + } + */ +} + +#endif + + +#if 0 +/* ======================================================== + ^XNЂȌ` + ======================================================== */ +task_interval tsk_hina( ) +{ + switch ( system_status.pwr_state ) + { + case ON_CHECK: + case ON_TRIG: + case ON: + case SLEEP: + case OFF_TRIG: + default: + } + + return; // tic Ă΂邱ƂɂȂ܂ +} + + +// |C^ʼn炤̂͊댯ȋCĂ +/* ̂悤Ɏg + renge_task_immed_add( ^XN֐ւ̃|C^ ); +*/ +task_status_immed tski_hina( u8 * arg ) +{ + return ( ERR_FINISED ); + // ERR_FINISED ^XN폜 + // ERR_CONTINUE ɂȂ񂩊荞݂ȂA[U[ȂAVXe`bN + // Ƃɍēxs +} + + +#endif diff --git a/tags/SDK3.0(2.00)/task_misc.c b/tags/SDK3.0(2.00)/task_misc.c new file mode 100644 index 0000000..f2551f1 --- /dev/null +++ b/tags/SDK3.0(2.00)/task_misc.c @@ -0,0 +1,346 @@ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#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 update_LED_3D(); +void check_twl_vol_irq(); + + +/* ======================================================== + Xe[^XWX^Ȃ + ======================================================== */ +void tsk_misc( ) +{ + /* ======================================================== + xZT荞݃sIWi}CRɂ͖̂ + |[OB + vp + BSR}CRaccero.cŊ荞݃[`^XNo^܂B + ======================================================== */ + // 荞݂̎肱ڂH + if( ACC_VALID ) + { + if( renge_task_immed_add( tski_cbk_accero ) == ERR_SUCCESS ){ + // dbg_nop(); + } + } + + if( system_status.pwr_state == ON ) + { + /* ======================================================== + PM݊WX^ւ̏ + |[OĂȂB荞݁H + ======================================================== */ + if( !PM_IRQ_n ) + { + renge_task_immed_add( tski_ntr_pmic_comm ); + // dbg_nop(); + } + + /* ======================================================== + TWL`[NƂCTRm肽炵 + ======================================================== */ + if( twl_ver_read ) + { + twl_ver_read = false; + set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); + } + + // TWL ̉ʕω荞݃`FbN // + check_twl_vol_irq(); + } + + // 3D vXV // + update_LED_3D(); +} + + + +/* ======================================================== + TWLVol̂ƁAXC_̑삪obeBO + sN鎖Ah + TWLł8ʏ펞A{^8iKBɍ킹Ċ荞݂ꂽ + ======================================================== */ +void check_twl_vol_irq() +{ + static u8 vol_level_twl_sent; + static u8 mabiki; + + if( !is_TWL ) + { + return; + // ܂ + } + + if( mabiki != 0 ) + { + mabiki--; + return; + // ܂ + } + + mabiki = 9; // 1t[͊J + if( vol_level_twl != vol_level_twl_sent ) + { + vol_level_twl_sent = vol_level_twl; + set_irq( VREG_C_IRQ2, REG_BIT_SLIDE_VOL_ACROSS_TWL_BOUNDARY ); + } +} + + + +// 3D_LED ///////////////////////////////////// +void update_LED_3D() +{ + if( system_status.pwr_state != ON ) + { + LED_duty_3d = 0; + return; + // ܂ // + } + + if( vreg_ctr[VREG_C_LED_3D] == LED_3D_ILM_OFF ) + { + if( LED_duty_3d != 0 ) + { + LED_duty_3d --; + } + } + else + { + if( LED_duty_3d != vreg_ctr[VREG_C_LED_BRIGHT] ) + { + if( LED_duty_3d < vreg_ctr[VREG_C_LED_BRIGHT] ) + { + LED_duty_3d ++; + } + else + { + LED_duty_3d --; + } + } + } +} + + + +/* ======================================================== + N^XN + ======================================================== */ + +/* ======================================================== + COMMANDWX^ւ̏ +@ 0ȂĂ΂܂BPAsv + ======================================================== */ +task_status_immed tski_do_command0( ) +{ + u8 temp_command; + + // command0 {̓dȂ + DI(); + temp_command = vreg_ctr[VREG_C_COMMAND0]; + vreg_ctr[VREG_C_COMMAND0] = 0; + EI(); + + 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_RESET2_REQ ) + { + RESET2_ast; + if( vreg_twl[ REG_TWL_INT_ADRS_MODE ] == 0 ) + { + FCRAM_RST_ast; // twlntr[hœ삵Ă + } + // TWL[hDS[hւ̐؂ւɃZbg + // IRQǂ܂Ȃꍇ̂TWLWX^ + vreg_twl_init(); + } + if( temp_command & REG_BIT_FCRAM_RESET_REQ ) + { + FCRAM_RST_ast; + } + wait_ms( 5 ); + FCRAM_RST_neg; + PM_reset_neg(); + RESET2_neg; + + // CODEC s背WX^ // + codec_reg_init(); + } + } +/* + X[vvɓdOFFEZbgR}h͗܂ + if( vreg_ctr[VREG_C_COMMAND0] != 0 ) + { + return ( ERR_CONTINUE ); + } +*/ + return ( ERR_FINISED ); +} + + + +/* ======================================================== +@݊ATWLAvւ̊荞 + zWX^̏ݎɍs܂B + ======================================================== */ + +u16 _dbg_rcomp; +extern u8 raw_adc_temperature; + +extern u8 iic_burst_state; +extern bit temp_zone_charge_disable; +extern bit bt_authorized; + + +/* ======================================================== +@fobOpɂ낢ǂł܂B +@Ԓl̓f[^̂ + oĂ鏇́A + 1) vbgtH[ + 2) PMIC o[W + 3) dr[J[ + 4) KXQ[Wo[W + 5) V + 6) ( rcomp & 0xFF ) + 7) raw_adc_temperature + 8) ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ) + 9) m点LED̓tJ[H + 10) system_status.family + ======================================================== */ + +#define KOUMOKU 18 +u8 extinfo_read() +{ + u8 infos[ KOUMOKU +1 ]; + + if( iic_burst_state > KOUMOKU ) + { + return( 0xFF ); + } + + // static łƂقǂ̂̂łȂ̂ŖX^bNƂĂ + // switchƂɂrom... Ȃ񂾂ȂB + infos[0] = system_status.captureBox? MODEL_CAPTURE_BOX + : ( system_status.is_dev? MODEL_ISBAKO: (u8)system_status.model ); + infos[1] = pmic_version; + infos[2] = battery_manufacturer; + infos[3] = mgic_version[0]; + infos[4] = mgic_version[1]; + infos[5] = (u8)( _dbg_rcomp & 0xFF ); + infos[6] = raw_adc_temperature; + infos[7] = ( !temp_zone_charge_disable | ( bt_authorized << 1 ) ); + infos[8] = 1; // system_status.info_fullcolor; + infos[9] = system_status.family; + + infos[10] = LED_pow_red; + infos[11] = LED_duty_pow_blu; + infos[12] = LED_duty_3d; + infos[13] = LED_duty_notify_red; + infos[14] = LED_duty_notify_grn; + infos[15] = LED_duty_notify_blu; + infos[16] = LED_CAM; + infos[17] = LED_duty_WiFi; + infos[18] = 0 +// | ( PM_EXTDC_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // status0ɂ + | ( RBR_RESET_n ? REG_BIT_HAL0_PM_EXTDC_n : 0 ) // 󂫂g킹Ă炤 + | ( BT_IN_CHG_n ? REG_BIT_HAL0_BT_IN_CHG_n : 0 ) + | ( BT_CHG_Ena_n ? REG_BIT_HAL0_RSV_5 : 0 ) // 󂫃rbggp,out pin + | 0 // WL_TX gȂ +// | ( SHELL_OPEN ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // status0ɂ + | ( RBR_FLIGHT ? REG_BIT_HAL0_SHELL_OPEN : 0 ) // 󂫂g킹Ă炤 + | ( SW_WIFI_n ? REG_BIT_HAL0_SW_WIFI_n : 0 ) + | ( SW_HOME_n ? REG_BIT_HAL0_SW_HOME_n : 0 ) + | ( SW_POW_n ? REG_BIT_HAL0_SW_POW_n : 0 ); + + + // ڑƂ͋C‚Ă!! // + + iic_burst_state ++; + return( infos[ iic_burst_state -1 ] ); +} + +#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 + diff --git a/tags/SDK3.0(2.00)/task_status.c b/tags/SDK3.0(2.00)/task_status.c new file mode 100644 index 0000000..0d07510 --- /dev/null +++ b/tags/SDK3.0(2.00)/task_status.c @@ -0,0 +1,84 @@ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#include "incs_loader.h" +#include "renge\renge.h" +#include "hal.h" + +#include "pm.h" + +#include "accero.h" +#include "adc.h" +#include "i2c_mcu.h" +#include "led.h" + + +// ======================================================== +#define INTERVAL_TSK_STATUS 4 + + +/* ======================================================== + Xe[^XWX^Ȃ + ======================================================== */ +void tsk_status( ) +{ + static u8 state_old; // Xe[^Xωo荞 ̈ + u8 diff; + + // WJ`FbN + set_bit( SHELL_OPEN, vreg_ctr[VREG_C_STATUS], REG_BIT_ST_SHELL_OPEN ); + + // Xe[^XWX^֌W 荞 // + // pm.c ŁȀōs܂B + // 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 ) + { + // [dԂɈȉ + 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 ) + { + // W̊J‚ + 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; +} + diff --git a/tags/SDK3.0(2.00)/task_sys.c b/tags/SDK3.0(2.00)/task_sys.c new file mode 100644 index 0000000..e970137 --- /dev/null +++ b/tags/SDK3.0(2.00)/task_sys.c @@ -0,0 +1,637 @@ +#ifndef _WIN32 + +#pragma SFR +#pragma NOP +#pragma HALT +#pragma STOP + +#endif + +#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" + + +//========================================================= +#define WAIT_SHIROBAKO_POW_CONTROL 240 + + +//========================================================= +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_authorized; + +static u8 timeout_sleep; +extern u8 chg_led_override; + +#ifdef i2c_timeout_test +extern bit i2c_mcu_time_out_error; +#endif + + +//========================================================= +#define PWSW_POWON_TIME (u8)( 50 / INTERVAL_TSK_SW ) // [ms] + +/* ======================================================== + }CRŕKvȂ +Eȓd͂ɓ + @system_status.pwr_state == OFF_TRIG ŁÃ^XNĂ΂ƁA + ȓd̓[hɓ܂ + ======================================================== */ +void tsk_sys( ) +{ + static u8 pwsw_timeout = 0; // d{^`^OB@^CAEg܂łɓdm肵Ȃoffɖ߂ + + hal_update(); + + switch ( system_status.pwr_state ) + { + case ON_CHECK: //------------------------------------------------------- + // pwswÅ荞݂ŃX[vƗ܂B + + if( system_status.poweron_reason == RSN_PWSW ) // A_v^ȂœdXCb`ƂȂ + { + // XCb`œdon + if( SW_pow_count != 0 ) + { + pwsw_timeout = 0; + } + else + { + pwsw_timeout ++; + } + + if( pwsw_timeout > 100 ) + { + SW_pow_count = 0; + system_status.pwr_state = OFF_TRIG; // XCb`̓mCYBQB + renge_task_interval_run_force = true; + return; + } + + if( SW_pow_count < PWSW_POWON_TIME ) + { + // XCb`̗lq + return; + } + } + + SW_pow_mask = true; + + // d // + iic_mcu_start( ); + + bt_force_update = false; + BT_chk(); // @obe̔AdrcIC̐ݒ + +#ifndef _ALLOW_NOBATT_ + if( system_status.model == MODEL_JIKKI_NOBATT ) + { + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } +#endif + + // cʃ`FbN + BT_get_left(); // ɁABT_chk()sĂKv܂B + if( +// ( vreg_ctr[VREG_C_BT_REMAIN] < 1 ) // Ŕ肷ƓdrقƂǖƂ +// && // A_v^ĂNłȂȂႤ + ( vreg_ctr[VREG_C_BT_VOLTAGE] < ( V_TH_ZERO / 256 ) ) + ) + { + // drȂ̂ŋNȂ(d`FbNĂ) + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } + + // |[g̕ݒ@dOɁB + PM_SW_WIFI_n = 1; + PM_SW_HOME_n_JIKKI = 1; + PM_WL_TX = 1; + PM_SW_SEL_n = 1; + PM_ACCEL_INT1 = 1; + PM_ACC_VALID = 1; + + if( PM_sys_pow_on( ) != ERR_SUCCESS ) // ZbgĂ܂ + { // dNsƒG[ + renge_task_interval_run_force = true; + system_status.pwr_state = OFF_TRIG; + return; + } + + // ܂ŗƁAdm // + // vAbvon + PU_BT_IN_CHG_n = 1; + PU7 = bits8(0,0,0,1, 1,1,0,1); // 4:SW_WIFI 3:SW_PWSW 2:PM_IRQ 0:PM_EXTDC_n + PU_SW_HOME_n_JIKKI = 1; // SW_HOME + + if( system_status.poweron_reason == RSN_PWSW ) + { + // d{^łon̎́ALED_ + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_AUTO; + } + else + { + // Ƃ肠ALEDԂŋN + vreg_ctr[VREG_C_LED_POW] = LED_POW_ILM_OFF; + } + + system_status.pwr_state = ON_TRIG; + + PM_LCD_vcom_set( ); // LCD̑ΌdlȂǏ + + 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 = bits8(0,0,0,0, 0,0,0,0); + PIF0 = 0; + + system_status.poweron_reason = NONE; + renge_task_interval_run_force = true; + + MK0 = INT_MSK0_RSV; + MK1 = INT_MSK1_RSV; + + iic_mcu_start(); + +// MK2 = ~( INT_MSK2_IIC_TWL | INT_MSK2_WIFI_TX_BSR | INT_MSK2_CODEC_PMIRQ ); +// PMK21 = 0; // wifi gȂ + PMK6 = 0; // pm_irq + + // todo Iɂ͊SɃWX^ + RBR_RESET_n = 1; + RBR_FLIGHT = 0; + + // u[gAXe[^XƂȂXV + if( system_status.reboot ) + { + u8 bl_status_temp; + + bl_status_temp = read_pmic( PM_REG_ADRS_BL ); + vreg_ctr[ VREG_C_STATUS ] |= (( bl_status_temp & 0x03 ) << 5 ); + set_bit( ( read_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ɍs + + system_status.reboot = 0; + system_status.pwr_state = ON; + + // WDTZbgAI2C̏܂Ŋ荞ݕۗ + // قƂ͂ɂׂȂ... + 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ɂ鋭df`FbN + // fobKreset1AT[g邱ƂB̂Ƃ͑SZbg + chk_emergencyExit(); + + // SLPĎ + if( going_to_sleep ) // ΂ SLP_REQ ̑Oɗ\ + { + timeout_sleep ++; + if( timeout_sleep == 0 || // I[o[t[ҁBsleepČLjuŋNċC‚Ȃ + ( PIF0 && !SLP_REQ )) // slp荞݂CANĂ܂ + { + PIF0 = 0; + send_getup_to_soc(); + } + if( PIF0 && SLP_REQ ){ + PIF0 = 0; + PM_VDD_ecoMode(); + system_status.pwr_state = SLEEP; + renge_task_interval_run_force = true; + } + } + + // offJEg + force_off_check(); + +#ifndef _TAIKENDAI_SEISAN_SPECIAL_ + if( system_status.taikendai ) // A_v^玩œdoff + { + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } + } +#endif + + break; + + case SLEEP: //------------------------------------------ + chk_emergencyExit(); + // X[v畜A + if( !SLP_REQ ){ + PM_VDD_normMode(); + wait_ms( 5 ); // tdly_sw + send_getup_to_soc(); + system_status.pwr_state = ON; + } + + force_off_check(); + +#ifndef _TAIKENDAI_SEISAN_SPECIAL_ + if( system_status.taikendai ) // A_v^hĂ玩œdon + { + if( PM_EXTDC_n ) + { + system_status.pwr_state = OFF_TRIG; + } + } + break; +#endif + + default: //--------------------------------------- + system_status.pwr_state = OFF_TRIG; // 蓾ȂXe[gBfobOp + /* FALLTHROUGH */ + + case 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_3D ] = LED_3D_ILM_OFF; + info_led_off = true; + if( LED_duty_pow_blu != 0 ) + { + return; + } + + clear_pow_off_countdown(); + + vreg_ctr[ VREG_C_ACC_CONFIG ] = 0x00; + tski_acc_hosu_set(); + + LED_stop( ); + IIC_ctr_Stop( ); + IIC_twl_Stop( ); + RTC_32k_off(); + + // todo }Nɂł + RBR_RESET_n = 0; + RBR_FLIGHT = 0; + + vreg_ctr[VREG_C_IRQ0] = 0; + vreg_ctr[VREG_C_IRQ1] = 0; + vreg_ctr[VREG_C_IRQ2] = 0; + vreg_ctr[VREG_C_IRQ3] = 0; + +// dI̊荞݃Zbg +// PWSW KR3 L +// BG24 KR4 +// ӂJ INTP5 ‚L +// ACA_v^ INTP4 A_v^L +// RTC + while( iic_mcu_busy ) + {;} + + KRM = ( KR_SW_POW ); // Mask ł͂ȂAModeȂ̂B킵 + MK0 = ~( INT_MSK0_EXTDC ); + MK1 = ~( INT_MSK1_KR | INT_MSK1_RTCINTVAL ); // INT_MSK1_RTCALARM | RTCA[ + MK2L = 0xFF; + + // PU5 ̂܂ + PU7 = bits8(0,0,0,0, 1,0,0,1); // PWSWI,PM_EXTTDC,( IRQ0_deactive(), PM_IRQ_deactive ) + PU_SW_HOME_n_JIKKI = 0; // SW_HOME ~ + + IF0 = 0; + IF1 = 0; + IF2 = 0; + + IRQ0_disable; + + PM_sys_pow_off( ); + + // |[gނ~[hɁBHłALo͂ɂȂႾ߂ȁB + SW_WIFI_n_RAW = 0; + PM_SW_WIFI_n = 0; + + SW_HOME_n_JIKKI_RAW = 0; + PM_SW_HOME_n_JIKKI = 0; + + WL_TX = 0; + PM_WL_TX = 0; + + SW_SEL_n = 0; + PM_SW_SEL_n = 0; + + ACCEL_INT1 = 0; + PM_ACCEL_INT1 = 0; + ACC_VALID = 0; + PM_ACC_VALID = 0; + + system_status.pwr_state = OFF; + SW_pow_mask = true; + SW_pow_count = 0; + + // HALfobOZbg@YƓdonoȂȂ邱Ƃc + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + vreg_ctr[ VREG_C_HAL_OVW_TEMPERATURE ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_FUEL ] = 0xFF; + vreg_ctr[ VREG_C_HAL_OVW_BT_VOLTAGE ] = 0xFF; + /* FALLTHROUGH */ + + case OFF: + system_status.poweron_reason = NONE; + pwsw_timeout = 0; + + if( !PM_EXTDC_n ) + { + // A_v^L /////////////////////////////// + BT_chk(); // v|[Oidrꌟô߁j + // ̒ŕKvI2C_m_initĂł܂ + + // A_v^LF[dxĎ + if( SW_pow_count > PWSW_POWON_TIME ) // dXCb`̂҂ + { + // d + system_status.pwr_state = ON_CHECK; // ɉԃ`FbN͍iēdɓ + } + + if( system_status.model != MODEL_JIKKI ) + { + iic_mcu_stop( ); + } + + if( system_status.taikendai ) + { + vreg_ctr[ VREG_C_HAL_OVW_CONT0 ] = vreg_ctr[ VREG_C_HAL_OVW_CONT1 ] = 0; + // d + wait_ms(46); // pmic̓dēdl̂ + system_status.poweron_reason = RSN_PWSW; + system_status.pwr_state = ON_CHECK; + } + } + else + { + // A_v^Ȃ /////////////////////////////// + u8 irq_mask_original_1; // RTCA[ŋNȂ悤ɁB@Å荞݂ł͋NȂ + + if( chg_led_override != 0 ) // ꂪ[ɂȂ܂ő҂ todo + { + return; + }; + + // ȓd͂ֈڍs + iic_mcu_stop( ); + pm_chk_adapter(); + PM_Chg_Stop(); + bt_force_update = true; + + while( RWST ) + {;} + + // 荞ݑ҂ŐQ // + RTCIMK = 1; // systickpC^[o^C}[荞݃}XN + + CKC = bits8(0,0,0,0, 1,0,0,1); + OSMC = 0x00; +#ifdef _DBG_CHK_OFF_LEAK_ + { + // offpinݒ~X`FbN + volatile u8 ports_i[12]; + volatile u8 ports_o[12]; + + ports_i[0] = ( PM0 & PU0 & ~P0 ); // vAbv؂YH + ports_i[1] = ( PM1 & PU1 & ~P1 ); + ports_i[2] = 0; + ports_i[3] = ( PM3 & PU3 & ~P3 ); + ports_i[4] = ( PM4 & PU4 & ~P4 ); + ports_i[5] = ( PM5 & PU5 & ~P5 ); + ports_i[6] = 0; + ports_i[7] = ( PM7 & PU7 & ~P7 ); + ports_i[8] = ( PM12 & PU12 & ~P12 ); + ports_i[9] = ( PM14 & PU14 & ~P14 ); + ports_i[10] = 0; + ports_i[11] = ( PM20 & PU20 & ~P20 ); + + ports_o[0] = ( ~PM0 & P0 ); // H o͂Ă邩 + ports_o[1] = ( ~PM1 & P1 ); + ports_o[2] = ( ~PM2 & P2 ); + ports_o[3] = ( ~PM3 & P3 & ~POM3 ); + ports_o[4] = ( ~PM4 & P4 ); // bit3chg_enȂ̂1ł悢 + ports_o[5] = ( ~PM5 & P5 ); + ports_o[6] = ( ~PM6 & P6 ); + ports_o[7] = ( ~PM7 & P7 ); + ports_o[8] = ( ~PM12 & P12 ); + ports_o[9] = ( ~PM14 & P14 ); + ports_o[10] = ( ~PM15 & P15 ); + ports_o[11] = ( ~PM20 & P20 ); + NOP(); // u[Nu + } + +#endif + if( PM_EXTDC_n ) // ǂ^C~Oő}N邱Ƃ + { + STOP(); + } + + // N // + // N + // EKeyReturn荞݁id{^j + // ERTCA[iݕj + + renge_flg_interval = 0; + hal_update(); + + OSMC = 0x01; + CKC = bits8(0,0,0,0, 1,0,0,0); + + // NŔH + if( !PM_EXTDC_n ){ + system_status.pwr_state = OFF; // OFFď[dĎ + } +/* // RTCA[B + else if( vreg_ctr[ VREG_C_IRQ1 ] & REG_BIT_RTC_ALARM ) + { + system_status.poweron_reason = RSN_RTC_ALARM; + system_status.pwr_state = ON_CHECK; + } + // else if( ̊荞݂œdon ){ + // ȊŐŠ荞݂ŋNȂ񂾂ǁAł + // } +*/ + else // if( !SW_POW_n ) // iȊOȂjd{^ŋN + { + SW_pow_mask = false; + system_status.poweron_reason = RSN_PWSW; + system_status.pwr_state = ON_CHECK; + } + + RTCIMK = 0; + if( system_status.taikendai ) + { + system_status.pwr_state = OFF_TRIG; + } + + } + return; + +#if 0 + default: + NOP( ); // 蓾ȂXe[g +#endif + + } +} + + + +/*******************************************************//** + PMICdُŎ~߂mF + **********************************************************/ +static void chk_emergencyExit(){ + static u8 shirobako_power_control_count; + + if( shirobako_power_control_count == 0 ) + { + if( !RESET1_n ) // PM_chk_LDSW() I2C_mgpARXg + { + if( PM_chk_LDSW( ) == 0 ) + { + // ZbgĂ + /// PMICُIf + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + } + else + { + // ̎d + shirobako_power_control_count = 1; + } + } + } + else + { + if( shirobako_power_control_count == WAIT_SHIROBAKO_POW_CONTROL ) // }WbNio[ + // fobKBreset1܂ł͖ + { + if( RESET1_n ) // ZbglQ[g҂ + { + shirobako_power_control_count = 0; + } + else + { + // nothing to do + } + } + else if( shirobako_power_control_count == 200 ) // * (sys_tick)[ms] + // fobK炵 + { +#ifndef _RVD_ + // ͓d؂肽炵 + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL; +#endif + } + else + { + if( !RESET1_n ) + { + if( shirobako_power_control_count != 255 ) + shirobako_power_control_count ++; + } + else + { + // (TS{[hŎ蓮/fobK)Zbg炵 + send_cmd_pmic( PM_REG_ADRS_BL, 0 ); + vreg_ctr[VREG_C_STATUS] = ( vreg_ctr[VREG_C_STATUS] & bits8(1,0,0,1, 1,1,1,1) ); + vreg_ctr[VREG_C_COMMAND0] |= REG_BIT_RESET1_REQ; + renge_task_immed_add( tski_do_command0 ); + shirobako_power_control_count = WAIT_SHIROBAKO_POW_CONTROL; + } + } + } +} + + + +/* ======================================================== + Ed{^ + Edr؂ + Edr + ł̋OFFBƉs\ + ======================================================== */ +static void force_off_check() +{ + if( force_off ) + { + system_status.pwr_state = OFF_TRIG; + renge_task_interval_run_force = true; + } +} + + + +/* ======================================================== + SoCN +@@dʏɖ߂ĂĂʼnB + ======================================================== */ +void send_getup_to_soc() +{ + going_to_sleep = false; + timeout_sleep = 0; +#ifdef _MODEL_CTR_ + SLP_ACK = 1; + nop8(); + SLP_ACK = 0; +#endif +} + + + + +/* ======================================================== + firm_update() task_status_immed^ Ԃ悤ɂ΂̂ł... + ======================================================== */ +task_status_immed tski_firm_update(){ + firm_update(); + return( ERR_SUCCESS ); +} + diff --git a/tags/SDK3.0(2.00)/user_define.h b/tags/SDK3.0(2.00)/user_define.h new file mode 100644 index 0000000..8f11573 --- /dev/null +++ b/tags/SDK3.0(2.00)/user_define.h @@ -0,0 +1,214 @@ +#ifndef _USER_DEF_ +#define _USER_DEF_ + + +#define IIC_T_SLAVEADDRESS 0x4A +#define IIC_C_SLAVEADDRESS 0x4A +#define IIC_C_SLAVEADDRESS_DMY 0x4C + +//#define IIC_SLA_DCP 0x50 + +#define bits8(a,b,c,d,e,f,g,h) ( a<<7 | b<<6 | c<<5 | d<<4 | e<<3 | f<<2 | g<<1 | h ) + +#ifndef _WIN32 +// @‹ + +#ifdef _debug_led_ +/*spflΉȍ~AncłȂȂ̂Ŏg܂ +# 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 + +#define IIC_SLA_CODEC 0xA4 +#define IIC_SLA_ACCEL 0x30 // ST LIS331DLH + + +#define SLP_ACK P7.7 + + +// PMx0ŏo̓[h + +// SoC +#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 ) + + +// h~ +#define RESET1_n ( P0.0 ) + +#if 0 // PM_RESET1`g +#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 + +// CTR,SPFL,܂ʔh@ +#define DEV_DET ( P12 & 0x00000110 ) +#define DEV_CTR ( 0b00 << 1 ) +#define DEV_SPFL ( 0b01 << 1 ) +#define DEV_SHRIMP ( 0b10 << 1 ) +#define DEV_RSV2 ( 0b11 << 1 ) + +// FCRAM +#define FCRAM_RST P3.0 +#define FCRAM_RST_ast { P3.0 = 0; } +#define FCRAM_RST_neg { P3.0 = 1; } + +// CODEC +#define PM_IRQ_n P7.2 +// INTP6 + +// PM +#define PM_EXTDC_n_RAW 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 + + +// SPFL̃At@XLCDŕKvȁ}15V̓dB +#define SPFL_LCD_AMOL_HV_CONT P20.2 + + +// [d(out) +// _łBӁB +#define BT_CHG_ENABLE() ( P4.3 = 0 ) +#define BT_CHG_DISABLE() ( P4.3 = 1 ) +#define BT_CHG_Ena_n ( P4.3 ) + +// [d(in) +#define BT_IN_CHG_n_RAW P5.1 +#define PM_BT_IN_CHG_n PM5.1 +#define PU_BT_IN_CHG_n PU5.1 + +#define SW_WIFI_n_RAW P7.4 +#define PM_SW_WIFI_n PM7.4 +// KR4 +#define SW_POW_n_RAW P7.3 +// KR3 +#define SW_SEL_n P2.3 +#define PM_SW_SEL_n PM2.3 +//#define VOL P2.7 +// ANI7 + +#define SW_HOME_n_JIKKI_RAW P20.4 +#define PM_SW_HOME_n_JIKKI PM20.4 +#define PU_SW_HOME_n_JIKKI PU20.4 + +// INTP22 +#define SW_HOME_n_TSBOARD_RAW P2.0 // TS}U[pull up(P2͓p.u.) +#define PM_SW_HOME_n_TSBOARD PM2.0 + +// WiFi +#define WL_TX P20.3 // INTP21 +#define PM_WL_TX PM20.3 // INTP21 + +// RBR +#define RBR_RESET_n P2.1 +#define RBR_FLIGHT P2.2 + +//#define LED_CAM P1.0 // TO02 +//#define LED_WIFI P1.1 // TO03 +//#define LED_NOTIFY P1.3 // TO05 +//#define LED_3D P5.2 // SLTO TO01 +//#define LED_POW2 P1.4 // TO06 ( ) +//#define LED_POW1 P1.5 // TO07 ( ) +//#define LED_CHARGE P2.4 + +// P5.3 ɉAP5.5, P140 P141 +// P140o͐pȂ̂... +#define I2C_PU_on() { P14 |= 0x03; PM5.3 = 0; PM3.3 = 0; } +#define I2C_PU_off() { PM5.3 = 1; PM3.3 = 1; P14 &= ~0x03; } + +#define GYRO_ENABLE() P5.0 = 0 +#define GYRO_DISABLE() P5.0 = 1 + +//#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 + +// @AJ@AV䔻ʁB +#define DIPSW ( P4 & 0b00000011 ) // mini cube & \tgEFAfBbvXCb` TOOL0,1B P4.0 L ӁI +#define DIPSW_CTR 0b11 // gp +#define DIPSW_ISDEV 0b00 // KuCBattGaugeŔ +#define DIPSW_TAIKENDAI 0b10 +#define DIPSW_TAIKENDAI_NBD 0b01 + + +#define SHELL_OPEN_RAW P7.1 // INTP5 ӂJ (‚L) + +#define ACC_VALID P20.5 +#define PM_ACC_VALID PM20.5 +#define ACCEL_INT1 P2.5 +#define PM_ACCEL_INT1 PM2.5 + + +#define KR_SW_POW ( 1 << 3 ) +#define KR_SW_WIFI ( 1 << 4 ) + + +/////////////////////////////////////////////////////////// + +#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 + + + +#else +// win32V~[V‹ + + +#endif diff --git a/tags/SDK3.0(2.00)/voltable.h b/tags/SDK3.0(2.00)/voltable.h new file mode 100644 index 0000000..6ff34ab --- /dev/null +++ b/tags/SDK3.0(2.00)/voltable.h @@ -0,0 +1,57 @@ +#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 diff --git a/tags/SDK3.0(2.00)/vreg_ctr.c b/tags/SDK3.0(2.00)/vreg_ctr.c new file mode 100644 index 0000000..073ca5d --- /dev/null +++ b/tags/SDK3.0(2.00)/vreg_ctr.c @@ -0,0 +1,570 @@ +/* ======================================================== + +CTR MCU I2CWX^ + + ====================================================== */ +#include "incs.h" +#include "vreg_ctr.h" +#include "rtc.h" +#include "led.h" +#include "accero.h" +#include "pm.h" +#include "pool.h" + +#include + +#include "fsl_user.h" + + +extern u8 extinfo_read(); // task_misc.c + +extern u8 iic_burst_state; // o[XgANZX鎞̃JE^ +extern bit info_led_pattern_updated; // m点LED̃p^[擪ɖ߂ + +extern bit pedolog_overflow; + + + +// ******************************************************** +#ifdef _DBG_PEDO_AUTO_ENABLE_ +u8 vreg_ctr[VREG_C_ENDMARK_ + 16]; +#else +u8 vreg_ctr[VREG_C_ENDMARK_]; +#endif + +static u8 vreg_free_adrs; // AhXł̂ł΂炭͂ +bit irq_readed; // AAA^̂߁B + + + +// ******************************************************** +extern task_status_immed tski_firm_update(); +extern task_status_immed tski_mcu_reset(); + + + +// ******************************************************** +#ifdef _MCU_BSR_ +#define IICAMK IICAMK1 +#endif + + +// ******************************************************** +// [̏l̎w肪KvȃAhX +// }CRZbgɌĂ΂܂ +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; + + vreg_ctr[ VREG_C_RBR_CONTROL ] = REG_BIT_RESET_n; // todo | REG_BIT_FLIGHT; +} + + +// ******************************************************** +// {̂̓dɃZbg܂ +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_3D ] = 0; +// vreg_ctr[ VREG_C_VOL_CAL_MIN ] = 0x36; ŏ_I +// vreg_ctr[ VREG_C_VOL_CAL_MAX ] = 0xFF - 0x36; d邽тɃftHglɂȂĂ܂ + { + u8 i; + for( i = 0; i < sizeof( uni_info_LED ); i++ ) + { + info_LED.bindata[ i ] = 0; + } + } +} + + + +// ******************************************************** +// I2CzWX^ɏ܂B +//@ adrs ͓AhX +// @ȂAhXɃANZXꍇA܂B +// 񂾌ʁAI2C_mcuʐMꍇArenge_task_immed_add() +// gpȂƁAI2C_mcugpŃG[IꍇɃgC܂B +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ł悢B̑胊ZbgŃNA + vreg_ctr[ VREG_C_MCU_STATUS ] &= data; // bitNA͂邪Zbg͂ȂB + // ̕twlWX^~[͓ǂݏoꎞɍ + 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 ) + { + renge_task_immed_add( tski_do_command0 ); + vreg_ctr[ VREG_C_COMMAND0 ] |= data; + } + break; + + case ( VREG_C_COMMAND2 ): + // 炩̊荞݂҂ĂȂłB #--) ̂߂̊荞݂ + // td + 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 ); + } + + // obNCgݒ + /// ̂Ƃ낳ɍׂ͕Ȃǁc + 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 ) + { + // u8 temp; ԕϐg΂łȂ... + // TWLɊ荞݂ + /// ۂɊ荞݂̂SoC + /// rbg̕тႤʓ| + 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 ++; + } + else if( iic_burst_state < 5 ) + { + led_red_batt_empty.dats[ iic_burst_state -1 ] = data; + iic_burst_state ++; + } + break; + + case ( VREG_C_LED_WIFI ): + case ( VREG_C_LED_CAM ): + case ( VREG_C_LED_3D ): + 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 ++; + if( iic_burst_state > 4 ) // p^[1ł + { + info_led_pattern_updated = true; + } + } + break; + + /// 񓯊œĂ邽߂ł͏ȂB + // \񂷂邾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(); // NA + } + 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 ++; + } + break; + + case ( VREG_CX_FREE_ADRS ): + vreg_free_adrs = data; + break; + + + case ( VREG_C_COMMAND3 ): + switch ( data ) + { + case ( 'r' ): + // 荞݃[`FSLCuĂԂ̂͋֎~ + // }CRċNB@WX^ނB + renge_task_immed_add( tski_mcu_reset ); + break; + +#ifdef _ENABLE_WDT_TEST_ + case ( 'w' ): + // WDTōċNieXgj + while(1) + { + NOP(); + } +// mcu_wdt_reset; // ̃R}hgӖȂłI + break; +#endif + case( 'p' ): + hosu_increment_if_necessary(); // A + break; + } + +// vreg_ctr[ VREG_C_COMMAND3 ] = data; // KvȂ + break; + + case ( VREG_C_RBR_CONTROL ): + if(( data & REG_BIT_RESET_n ) != 0 ) + { + RBR_RESET_n = 1; + } + else + { + RBR_RESET_n = 0; + } + if(( data & REG_BIT_FLIGHT ) != 0 ) + { + RBR_FLIGHT = 1; + } + else + { + RBR_FLIGHT = 0; + } + vreg_ctr[ VREG_C_RBR_CONTROL ] = data; + break; + + // read only ////////////////////////////////////////// + case VREG_C_MCU_VER_MAJOR: + case VREG_C_MCU_VER_MINOR: + case VREG_C_3D: // ɃtbV + case VREG_C_SND_VOL: // ɃtbV + case VREG_C_BT_TEMP: // ɃtbV + case VREG_C_BT_REMAIN: // ɃtbV + case VREG_C_BT_REMAIN_FINE: // ɃtbV + case VREG_C_BT_VOLTAGE: // ɃtbV + case VREG_C_STATUS_1: // KɃtbV + case VREG_C_STATUS: // KɃtbV + case VREG_C_IRQ0: // ̂‚łɊ荞݋NĂقȂ... + case VREG_C_IRQ1: + case VREG_C_IRQ2: + case VREG_C_IRQ3: + case VREG_C_IRQ4: + case VREG_C_LED_NOTIFY_FLAG: // tbV + case VREG_C_RTC_SEC_FINE_L: // tbV + case VREG_C_RTC_SEC_FINE_H: // tbV + // VREG_C_ACC_RESERVE, // NȂ + // VREG_C_ACC_HOSU_HIST = 0x4F, + case VREG_C_ACC_XH: // tbV + case VREG_C_ACC_XL: + case VREG_C_ACC_YH: + case VREG_C_ACC_YL: + case VREG_C_ACC_ZH: + case VREG_C_ACC_ZL: + dbg_nop(); + break; + + case VREG_C_ACC_HOSU_L: // ĂǁAfobOpB(AhX0x4B == mcu sla(r)) + dbg_nop(); + /* FALLTHROUGH */ + + // ʂɏ邾 ///////////////////////////////// + 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_HAL_OVW_CONT0: + case VREG_C_HAL_OVW_DAT0: + case VREG_C_HAL_OVW_CONT1: + case VREG_C_HAL_OVW_DAT1: + */ + if( adrs < VREG_C_ENDMARK_ ) + { + vreg_ctr[adrs] = data; + break; + } + else + { + dbg_nop(); // read only̏ɏBȂ񂩃oOĂȂH + break; + } + } + return; +} + + + +// ******************************************************** +// I2CzWX^ǂ݂܂B +// ߂F xx f[^ +// ӁF̃AhX̏ŌĂ΂ ̂ŁA +// [hꂽNAȂǂ͋C‚ +// ( vreg_ctr_after_read( u8 adrs ) ) +u8 vreg_ctr_read( u8 adrs ) +{ + static u16 rsub_temp; + u8 temp; + + // RTC͓ǂݏorɌJオ̂邽 + if( ( VREG_C_RTC_SEC <= adrs ) && ( adrs <= VREG_C_RTC_YEAR ) ) + { + rtc_buf_refresh( ); + } + 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 ) ); + } +/* + // debug I + else if( adrs == VREG_C_IRQ_MASK0 ) + { + return( vreg_ctr[ VREG_C_IRQ_MASK0 ] & 0x7F ); // `MSB0B1ȂʐMG[ + } +*/ + 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 ++; // ʼnZĂ܂ƃCfbNX + return( temp ); + } + else if( adrs == VREG_CX_INFO ) + { + return( extinfo_read() ); + } + else if( adrs == VREG_C_ACC_HOSU_SETTING ) + { + if( pedolog_overflow ) + { + return( 0x10 ); + } + else + { + return( 0 ); + } + } + + if( adrs >= VREG_C_ENDMARK_ ) + { + // VREG_C_INFO > VREG_C_ENDMARK_ Ȃ̂łƂ + return( 0xFF ); + } + return ( vreg_ctr[adrs] ); +} + + + +// ******************************************************** +// I2CzWX^ǂ܂ĉ郌WX^ +void vreg_ctr_after_read( u8 adrs, u8 data ) +{ + // 荞݃tO̓[hŃNA + 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 ++; + break; + + default: + break; + } +} + + + + + + +/****************************************************************************** + 荞݂ + 荞݃}XNKvƌƂłȎHڂɂȂ܂ + *****************************************************************************/ +#if 0 +// }XNĂAtO͗Ă邪A荞݂͓ȂB +#define set_irq( irqreg, bitpos ) \ +{ \ + vreg_ctr[ irqreg ] |= bitpos; \ + if( ( vreg_ctr[ irqreg+8 ] & bitpos ) == 0 ){ \ + IRQ0_ast; \ + } \ +} +#endif + +// }XNĂAtOuĂȂvA荞ݓȂB +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; // uグ... + // EI(); + tot = 0; + while( !IRQ0 && ( ++tot != 0 ) ){;} // O.D.Ȃ̂łƂ̂҂ IRQ_mcu LɔĂƍ(•s) + IRQ0_ast; // ƂB + } + } +// EI(); +} diff --git a/tags/SDK3.0(2.00)/vreg_ctr.h b/tags/SDK3.0(2.00)/vreg_ctr.h new file mode 100644 index 0000000..2340bc2 --- /dev/null +++ b/tags/SDK3.0(2.00)/vreg_ctr.h @@ -0,0 +1,299 @@ +#ifndef __vreg_ctr__ +#define __vreg_ctr__ + + +#include "config.h" + +// VREG_C_MCU_STATUS +// bit[7.6] twl.sys_mode[1.0] ctr珑ȂAfcr_resetɓKɃZbg +// bit[5] V [7] ctr珑ȂAfcr_resetɓKɃZbg +#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 ) +// gp ( 1 << 2 ) +#define REG_BIT_ST_SHELL_OPEN ( 1 << 1 ) +// gp ( 1 << 0 ) + + +// VREG_C_STATUS_X +// gp ( 1 << 6 ) +// gp ( 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_MGIC_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 ) p~ +#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_3D_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Ɋ荞݂) +// gp ( 1 << 7 ) +// gp ( 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 t֌W +#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ɒʒmIRQWX^ +#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 + + +// CODECPMIC NTR ̑㗝WX^ +#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 ) + +// RBR control (0x57) +#define REG_BIT_FLIGHT ( 1 << 1 ) +#define REG_BIT_RESET_n ( 1 << 0 ) + + +// HAL bitfields 0 +#define REG_BIT_HAL0_PM_EXTDC_n ( 1 << 7 ) +#define REG_BIT_HAL0_BT_IN_CHG_n ( 1 << 6 ) +//#define REG_BIT_HAL0_PM_IRQ_n // gȂ +#define REG_BIT_HAL0_RSV_5 ( 1 << 5 ) +#define REG_BIT_HAL0_WL_TX ( 1 << 4 ) +#define REG_BIT_HAL0_SHELL_OPEN ( 1 << 3 ) // statusɂ܂ +#define REG_BIT_HAL0_SW_WIFI_n ( 1 << 2 ) +#define REG_BIT_HAL0_SW_HOME_n ( 1 << 1 ) +#define REG_BIT_HAL0_SW_POW_n ( 1 << 0 ) + + +// HAL bitfields 1 +#define REG_BIT_HAL1_DIPSW_1 ( 1 << 3 ) +#define REG_BIT_HAL1_DIPSW_0 ( 1 << 2 ) +#define REG_BIT_HAL1_HW_DET_1 ( 1 << 1 ) +#define REG_BIT_HAL1_HW_DET_0 ( 1 << 0 ) + +/* + ev +#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 +{ // `AhX֏񂾍ۂ͕̓s + 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_3D = 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' Ń}CRZbgA 'w' WDTZbg + + VREG_C_OFF_DELAY = 0x24, +// VREG_C_VOL_DIGITAL = 0x25, // todo +// VREG_C_VOL_OPTION, + VREG_C_VOL_ADC_RAW = 0x27, + + VREG_C_LED_BRIGHT = 0x28, + VREG_C_LED_POW, + VREG_C_LED_WIFI, + VREG_C_LED_CAM, + VREG_C_LED_3D, + VREG_C_LED_NOTIFY_DATA, + VREG_C_LED_NOTIFY_FLAG, + + VREG_C_RBR_CONTROL = 0x2F, + + 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_HAL_OVW_CONT0 = 0x52, + VREG_C_HAL_OVW_DAT0, + VREG_C_HAL_OVW_CONT1, + VREG_C_HAL_OVW_DAT1, + + VREG_C_HAL_OVW_BT_FUEL = 0x56, + VREG_C_HAL_OVW_BT_VOLTAGE, + + VREG_C_VOL_CAL_MIN = 0x58, + VREG_C_VOL_CAL_MAX, + + VREG_C_HAL_OVW_TEMPERATURE = 0x5A, + + VREG_C_ENDMARK_ +}; + +// Ԃ͔ɂāAmۂȂ߂ ʂ define Ă +#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 diff --git a/tags/SDK3.0(2.00)/vreg_twl.c b/tags/SDK3.0(2.00)/vreg_twl.c new file mode 100644 index 0000000..0bd0caa --- /dev/null +++ b/tags/SDK3.0(2.00)/vreg_twl.c @@ -0,0 +1,150 @@ +/* ======================================================== + +TWL݊I2CWX^ + + ======================================================== */ +#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; + + +/* ======================================================== + zWX^̏ + ======================================================== */ +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; +} + +// ======================================================== +// I2CzWX^ɏEANV +//@ adrs ͓AhX +// @݂ȂAhXɃANZXꍇA܂B +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; // łȂƈꔭɕs邽 + } + 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Ă炵B + break; + } + else if( ( data & REG_BIT_TWL_RESET_REQ ) != 0 ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //ZbgȂB̂́ASPI痈܂B + break; + } + } +*/ + if( data == REG_BIT_TWL_RESET_REQ ) + { + set_irq( VREG_C_IRQ2, REG_BIT_TWL_RESET_REQ ); //ZbgȂB̂́ASPI痈܂B + break; + } + } + return; +} + + + +// ======================================================== +// I2CzWX^ǂ݂܂B +//@ adrs O猩Ƃ́AAhX +//@߂ xx f[^ +// @݂ȂAhXɃANZXꍇA߂l0x5A +u8 vreg_twl_read( u8 phy_adrs ) +{ + u8 temp; + + switch( phy_adrs ){ + // 10%ȉŐԂɂȂ + case( REG_TWL_INT_ADRS_POWER_INFO ): + // x̃Zbg get_batt_left()ixĖłj + return( vreg_twl[ REG_TWL_INT_ADRS_POWER_INFO ] | ( !PM_EXTDC_n ? 0x80: 0x00 ) ); // A_v^bit(A_v^L) + + 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_VER_INFO ): +// set_irq( VREG_C_IRQ2, REG_BIT_TWL_VER_READ ); // xIɖȂ̂ + twl_ver_read = true; + return( TWL_REG_VER_INFO ); + + case( REG_TWL_ADRS_NON_EXIST ): + return( 0x00 ); + + default: + return( vreg_twl[ phy_adrs ] ); + } +} + + + +// ======================================================== +// O猩钎HAhXA̘AAhXɓǂݑւ +// 0xFF݂͑ȂAhXB +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ǂ߂΂悢AȂėǂ +// case( REG_TWL_ADRS_WIFI ): return( REG_TWL_INT_ADRS_WIFI ); + } +} diff --git a/tags/SDK3.0(2.00)/vreg_twl.h b/tags/SDK3.0(2.00)/vreg_twl.h new file mode 100644 index 0000000..63cdd94 --- /dev/null +++ b/tags/SDK3.0(2.00)/vreg_twl.h @@ -0,0 +1,127 @@ +#ifndef __vreg_twl__ +#define __vreg_twl__ +/* ========================================================================= */ +extern u8 vreg_twl[]; + + +/* + * O猩Ƃ̃}CRWX^AhXB + * gȂǂlĔєтɂĂB + */ +/* + * 荞ݗvtO + * MSB:OdL/Ȃω ij + * 6:VolL[iύXɌ炸BMAXɁ{łBj + * 5:drd o + * 4: + * 3:dXCb` ꌟo + * 2:iݒj + * 1:dXCb` OFF ԉꌟo + * LSB: Zbg + */ +enum REG_TWL_ADRS +{ // `AhX֏񂾍ۂ͖ + 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 + +/* + * }CRł̃WX^̎ + * ‚߂Ă + */ +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 ); + + +// ǂ񂾂NAȂǂ̏ +#define vreg_twl_after_read( reg_adrs ); \ + if( reg_adrs == REG_TWL_INT_ADRS_IRQ ) \ + { \ + vreg_twl[ REG_TWL_INT_ADRS_IRQ ]= 0;\ + } + +#endif diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.plg b/tags/SDK3.0(2.00)/yav_mcu_bsr.plg new file mode 100644 index 0000000..8f5ffe3 --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.plg @@ -0,0 +1,175 @@ +C:\Windows\system32\cmd.exe /c c:\cygwin\bin\touch magic.c +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no loader.c +loader.c(141) : CC78K0R warning W0401: Conversion may lose significant digits +loader.c(142) : CC78K0R warning W0401: Conversion may lose significant digits +loader.c(174) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 3 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\loader.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no pm.c +pm.c(493) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(784) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(788) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(818) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(839) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(905) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(914) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(1117) : CC78K0R warning W0401: Conversion may lose significant digits +pm.c(1119) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 9 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\pm.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no i2c_ctr.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no main.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\main.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no magic.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\magic.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no WDT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\WDT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no i2c_mcu.c +i2c_mcu.c(210) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_mcu.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no i2c_twl.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\i2c_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no led.c +led.c(82) : CC78K0R warning W0745: Expected function prototype +led.c(332) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\led.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no rtc.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\rtc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no vreg_ctr.c +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(167) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(169) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(170) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(218) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(218) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(223) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(223) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(227) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(227) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(231) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(231) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_ctr.c(235) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 14 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\vreg_ctr.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no vreg_twl.c +vreg_twl.c(55) : CC78K0R warning W0401: Conversion may lose significant digits +vreg_twl.c(59) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\vreg_twl.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no adc.c +adc.c(101) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(182) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(228) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(352) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(474) : CC78K0R warning W0745: Expected function prototype +adc.c(503) : CC78K0R warning W0401: Conversion may lose significant digits +adc.c(508) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 7 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\adc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no renge\renge.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\renge.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no accero.c +accero.c(105) : CC78K0R warning W0745: Expected function prototype +Compilation complete, 0 error(s) and 1 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\accero.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no self_flash.c +self_flash.c(280) : CC78K0R warning W0401: Conversion may lose significant digits +self_flash.c(281) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\self_flash.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no sw.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\sw.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no task_debug.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\task_debug.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no task_misc.c +task_misc.c(296) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(303) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(308) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(309) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(310) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(311) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(312) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(314) : CC78K0R warning W0401: Conversion may lose significant digits +task_misc.c(325) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 9 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\task_misc.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no task_sys.c +task_sys.c(208) : CC78K0R warning W0401: Conversion may lose significant digits +task_sys.c(584) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\task_sys.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no pedo_alg_thre_det2.c +pedo_alg_thre_det2.c(97) : CC78K0R warning W0745: Expected function prototype +pedo_alg_thre_det2.c(113) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 2 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\pedo_alg_thre_det2.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no ini_VECT.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\ini_VECT.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no task_status.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\task_status.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no led_cam.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\led_cam.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no led_pow.c +led_pow.c(99) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(104) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(155) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(215) : CC78K0R warning W0401: Conversion may lose significant digits +led_pow.c(244) : CC78K0R warning W0401: Conversion may lose significant digits +Compilation complete, 0 error(s) and 5 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\led_pow.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\bin\cc78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -irenge -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r" -ms -rd2 -qvjl2w -sainter_asm -zpb -no hal.c +Compilation complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\ra78k0r.exe" -c9F0104 -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff inter_asm\hal.asm +Assembly complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\lk78k0r.exe" -y"c:\program files (x86)\nec electronics tools\dev" -_msgoff -obsr.lmf "..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\s0rm.rel" -gi1B339499E033F240BFAAh -pbsr_k0r.map -nkd -gb7EFBFFh -b"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib" -bcl0rdm.lib -bcl0rm.lib -bcl0rmf.lib -i"C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\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 led_cam.rel led_pow.rel hal.rel +Link complete, 0 error(s) and 0 warning(s) found. +"C:\Program Files (x86)\NEC Electronics Tools\RA78K0R\W1.33\bin\oc78k0r.exe" -y"c:\program files (x86)\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 +4 +intel-HEX to bsr bin converter + file converted! + + +Build Total error(s) : 0 Total warning(s) : 59 diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.pri b/tags/SDK3.0(2.00)/yav_mcu_bsr.pri new file mode 100644 index 0000000..d15dfe8 --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.pri @@ -0,0 +1,1066 @@ +[Project.ID] +Ver=200 +Target=IDK0R32G +[Configuration] +Chip=uPD79F0104 +Internal Rom=32KB +Internal Ram=1536B +Clock=Target +Sub Clock=Target +Peripheral Break=0x3 +Firm Clock=System +Flash Programming=Permit +Low-voltage Flash Rewriting=On +Fail Safe Break=0x2000 +Port=1 +NMI=OFF +TRESET=OFF +IRESET=OFF +WAIT=OFF +SysClock=None +SubClock=None +[Mapping] +Count=0 +[Main] +Geometry=198, 198, 960, 728 +Window=Max +MDI_MAX=OFF +Button=ON +Mode=Auto +Trace=Uncond ON +Trace2=Non Stop +Coverage=OFF +Timer=OFF +Tracer=OFF +[Load File] +Dir=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\ +SaveFilter=0 +Start=0 +End=0 +LoadFilter=5 +Offset=0 +Object=ON +Symbol=ON +Erase=OFF +HighSpeed=OFF +Symbol Reset=ON +CPU Reset=ON +File1=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\bsr.lmf +LoadFilter1=5 +Offset1=0 +Object1=ON +Symbol1=ON +Erase1=OFF +HighSpeed1=OFF +CPU Reset1=ON +Symbol Reset1=ON +[View File] +Dir=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\ +Filter=Source +[Debugger Option] +Source Path="\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\renge" +Symbol Size=Byte +Symbol Format=Hex +Register Name=Func +Offset Label=OFF +Offset Mnemonic=ON +Tab Count=4 +Tab Size1=*.*, 8 +Tab Size2=*.c, 8 +Tab Size3=*.s, 8 +Tab Size4=*.asm, 8 +Default Source=*.c;*.s;*.asm +Default Module=*.lnk;*.lmf +Startup Start=_@cstart +Startup End=_@cend +Main Symbol=_main +Symbol Type=OFF +Language=C +Kanji=SJIS +[Source] +Geometry=29, 167, 923, 884 +Window=Normal +DispStart=75 +CaretPos=76,0 +Mode=Normal +DispFile= +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Option=0 +Case=ON +Direction=Down +File1= +File2= +File3= +File4= +File5= +File6= +File7= +File8= +File9= +File10= +File11= +File12= +File13= +File14= +File15= +File16= +SaveRange=Screen +SaveStart= +SaveEnd= +Accumulative=ON +[Source1] +Geometry=230, 86, 923, 884 +Window=Normal +DispStart=85 +CaretPos=420,0 +Mode=Normal +DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\vreg_ctr.c +Accumulative=ON +[Source2] +Geometry=426, 148, 923, 884 +Window=Normal +DispStart=183 +CaretPos=244,0 +Mode=Normal +DispFile=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\i2c_ctr.c +Accumulative=ON +[Assemble] +Geometry=75, 75, 712, 548 +Window=Normal +DispStart=6880 +CaretPos=3440,0 +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Case=ON +Scan=OFF +Direction=Down +FindStart= +FindEnd= +SaveRange=Screen +SaveStart= +SaveEnd= +[Memory] +Geometry=672, -2, 665, 836 +Window=Normal +Boundary=163 +Format=Hex +Mode=Byte +Endian=Little +Ascii=OFF +Idtag=OFF +Address= +DispStart=000FFAE0 +CaretPosData=44, 65490 +CaretPosAscii=0, 65424 +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Data1= +Data2= +Data3= +Data4= +Data5= +Data6= +Data7= +Data8= +Data9= +Data10= +Data11= +Data12= +Data13= +Data14= +Data15= +Data16= +Binary=ON +Scan=OFF +Direction=DOWN +FindStart= +FindEnd= +Unit=Byte +SaveRange=Screen +SaveStart= +SaveEnd= +Accumulative=ON +[Memory fill] +Scope=0, 0 +Code=0 +[Memory copy] +Scope=0, 0 +To=0 +[Memory compare] +Source=0, 0 +Destination=0 +[I/O Port] +Line=0 +[Stack] +Geometry=0, 0, 400, 300 +Window=Normal +Boundary=13762687 +Mode=Proper +[Sfr] +Geometry=0, 0, 0, 0 +Window=Hide +Address1= +Address2= +Address3= +Address4= +Address5= +Address6= +Address7= +Address8= +Address9= +Address10= +Address11= +Address12= +Address13= +Address14= +Address15= +Address16= +Boundary=0, 0 +Mode=Hex +Attribute=Show +Sort=Address +Pickup=OFF +SelectSort=Address +Last Name= +Line=531 +L1=P0 +L2=P1 +L3=P2 +L4=P3 +L5=P4 +L6=P5 +L7=P6 +L8=P7 +L9=P12 +L10=P14 +L11=P15 +L12=SDR00 +L13=SIO00 +L14=TXD0 +L15=SDR01 +L16=RXD0 +L17=SIO01 +L18=TDR00 +L19=TDR01 +L20=ADCRH +L21=PM0 +L22=PM1 +L23=PM2 +L24=PM3 +L25=PM4 +L26=PM5 +L27=PM6 +L28=PM7 +L29=PM12 +L30=PM14 +L31=PM15 +L32=ADM +L33=ADCE +L34=ADCS +L35=ADS +L36=KRM +L37=EGP0 +L38=EGN0 +L39=ISC +L40=TIS0 +L41=SDR02 +L42=SIO10 +L43=TXD1 +L44=SDR03 +L45=RXD1 +L46=IICA0 +L47=IICS0 +L48=SPD0 +L49=STD0 +L50=ACKD0 +L51=TRC0 +L52=COI0 +L53=EXC0 +L54=ALD0 +L55=MSTS0 +L56=IICF0 +L57=IICRSV0 +L58=STCEN0 +L59=IICBSY0 +L60=STCF0 +L61=TDR02 +L62=TDR03 +L63=TDR04 +L64=TDR05 +L65=TDR06 +L66=TDR07 +L67=RSUBC +L68=SEC +L69=MIN +L70=HOUR +L71=WEEK +L72=DAY +L73=MONTH +L74=YEAR +L75=SUBCUD +L76=ALARMWM +L77=ALARMWH +L78=ALARMWW +L79=RTCC0 +L80=RCLOE0 +L81=RCLOE1 +L82=RTCE +L83=RTCC1 +L84=RWAIT +L85=RWST +L86=RIFG +L87=WAFG +L88=WALIE +L89=WALE +L90=RTCC2 +L91=RCKDIV +L92=RCLOE2 +L93=RINTE +L94=CMC +L95=CSC +L96=HIOSTOP +L97=XTSTOP +L98=MSTOP +L99=OSTC +L100=OSTS +L101=CKC +L102=MCM0 +L103=MCS +L104=CSS +L105=CLS +L106=CKS0 +L107=PCLOE0 +L108=CKS1 +L109=PCLOE1 +L110=RESF +L111=LVIM +L112=LVIF +L113=LVIMD +L114=LVISEL +L115=LVION +L116=LVIS +L117=WDTE +L118=DSA0 +L119=DSA1 +L120=DRA0 +L121=DRA0L +L122=DRA0H +L123=DRA1 +L124=DRA1L +L125=DRA1H +L126=DBC0 +L127=DBC0L +L128=DBC0H +L129=DBC1 +L130=DBC1L +L131=DBC1H +L132=DMC0 +L133=DWAIT0 +L134=DS0 +L135=DRS0 +L136=STG0 +L137=DMC1 +L138=DWAIT1 +L139=DS1 +L140=DRS1 +L141=STG1 +L142=DRC0 +L143=DST0 +L144=DEN0 +L145=DRC1 +L146=DST1 +L147=DEN1 +L148=BECTL +L149=FLMDPUP +L150=PFCMD +L151=PFS +L152=FPRERR +L153=FLPMC +L154=BFAEN +L155=FWEPR +L156=BRAMEN +L157=IF2 +L158=IF2L +L159=TMIF05 +L160=TMIF06 +L161=TMIF07 +L162=PIF6 +L163=IF2H +L164=IICAIF1 +L165=PIF20 +L166=PIF21 +L167=PIF22 +L168=PIF23 +L169=MK2 +L170=MK2L +L171=TMMK05 +L172=TMMK06 +L173=TMMK07 +L174=PMK6 +L175=MK2H +L176=IICAMK1 +L177=PMK20 +L178=PMK21 +L179=PMK22 +L180=PMK23 +L181=PR02 +L182=PR02L +L183=TMPR005 +L184=TMPR006 +L185=TMPR007 +L186=PPR06 +L187=PR02H +L188=IICAPR01 +L189=PPR020 +L190=PPR021 +L191=PPR022 +L192=PPR023 +L193=PR12 +L194=PR12L +L195=TMPR105 +L196=TMPR106 +L197=TMPR107 +L198=PPR16 +L199=PR12H +L200=IICAPR11 +L201=PPR120 +L202=PPR121 +L203=PPR122 +L204=PPR123 +L205=IF0 +L206=IF0L +L207=WDTIIF +L208=LVIIF +L209=PIF0 +L210=PIF1 +L211=PIF2 +L212=PIF4 +L213=PIF5 +L214=IF0H +L215=DMAIF0 +L216=DMAIF1 +L217=CSIIF00 +L218=STIF0 +L219=CSIIF01 +L220=SRIF0 +L221=SREIF0 +L222=IF1 +L223=IF1L +L224=CSIIF10 +L225=IICIF10 +L226=STIF1 +L227=SRIF1 +L228=SREIF1 +L229=IICAIF0 +L230=TMIF00 +L231=TMIF01 +L232=TMIF02 +L233=TMIF03 +L234=IF1H +L235=ADIF +L236=RTCIF +L237=RTCIIF +L238=KRIF +L239=MDIF +L240=TMIF04 +L241=MK0 +L242=MK0L +L243=WDTIMK +L244=LVIMK +L245=PMK0 +L246=PMK1 +L247=PMK2 +L248=PMK4 +L249=PMK5 +L250=MK0H +L251=DMAMK0 +L252=DMAMK1 +L253=CSIMK00 +L254=STMK0 +L255=CSIMK01 +L256=SRMK0 +L257=SREMK0 +L258=MK1 +L259=MK1L +L260=CSIMK10 +L261=IICMK10 +L262=STMK1 +L263=SRMK1 +L264=SREMK1 +L265=IICAMK0 +L266=TMMK00 +L267=TMMK01 +L268=TMMK02 +L269=TMMK03 +L270=MK1H +L271=ADMK +L272=RTCMK +L273=RTCIMK +L274=KRMK +L275=MDMK +L276=TMMK04 +L277=PR00 +L278=PR00L +L279=WDTIPR0 +L280=LVIPR0 +L281=PPR00 +L282=PPR01 +L283=PPR02 +L284=PPR04 +L285=PPR05 +L286=PR00H +L287=DMAPR00 +L288=DMAPR01 +L289=CSIPR000 +L290=STPR00 +L291=CSIPR001 +L292=SRPR00 +L293=SREPR00 +L294=PR01 +L295=PR01L +L296=CSIPR010 +L297=IICPR010 +L298=STPR01 +L299=SRPR01 +L300=SREPR01 +L301=IICAPR00 +L302=TMPR000 +L303=TMPR001 +L304=TMPR002 +L305=TMPR003 +L306=PR01H +L307=ADPR0 +L308=RTCPR0 +L309=RTCIPR0 +L310=KRPR0 +L311=MDPR0 +L312=TMPR004 +L313=PR10 +L314=PR10L +L315=WDTIPR1 +L316=LVIPR1 +L317=PPR10 +L318=PPR11 +L319=PPR12 +L320=PPR14 +L321=PPR15 +L322=PR10H +L323=DMAPR10 +L324=DMAPR11 +L325=CSIPR100 +L326=STPR10 +L327=CSIPR101 +L328=SRPR10 +L329=SREPR10 +L330=PR11 +L331=PR11L +L332=CSIPR110 +L333=IICPR110 +L334=STPR11 +L335=SRPR11 +L336=SREPR11 +L337=IICAPR10 +L338=TMPR100 +L339=TMPR101 +L340=TMPR102 +L341=TMPR103 +L342=PR11H +L343=ADPR1 +L344=RTCPR1 +L345=RTCIPR1 +L346=KRPR1 +L347=MDPR1 +L348=TMPR104 +L349=MDAL +L350=MULA +L351=MDAH +L352=MULB +L353=MDBH +L354=MULOH +L355=MDBL +L356=MULOL +L357=PMC +L358=MAA +L359=ADPC +L360=PU0 +L361=PU1 +L362=PU3 +L363=PU4 +L364=PU5 +L365=PU7 +L366=PU12 +L367=PU14 +L368=PIM3 +L369=PIM7 +L370=POM3 +L371=POM7 +L372=NFEN0 +L373=NFEN1 +L374=NFEN2 +L375=MDCL +L376=MDCH +L377=MDUC +L378=DIVST +L379=DIVMODE +L380=PER0 +L381=SAU0EN +L382=IICA0EN +L383=ADCEN +L384=RTCEN +L385=PER2 +L386=TAU0EN +L387=OSMC +L388=BCDADJ +L389=SSR00 +L390=SSR00L +L391=SSR01 +L392=SSR01L +L393=SSR02 +L394=SSR02L +L395=SSR03 +L396=SSR03L +L397=SIR00 +L398=SIR00L +L399=SIR01 +L400=SIR01L +L401=SIR02 +L402=SIR02L +L403=SIR03 +L404=SIR03L +L405=SMR00 +L406=SMR01 +L407=SMR02 +L408=SMR03 +L409=SCR00 +L410=SCR01 +L411=SCR02 +L412=SCR03 +L413=SE0 +L414=SE0L +L415=SS0 +L416=SS0L +L417=ST0 +L418=ST0L +L419=SPS0 +L420=SPS0L +L421=SO0 +L422=SOE0 +L423=SOE0L +L424=SOL0 +L425=SOL0L +L426=TCR00 +L427=TCR01 +L428=TCR02 +L429=TCR03 +L430=TCR04 +L431=TCR05 +L432=TCR06 +L433=TCR07 +L434=TMR00 +L435=TMR01 +L436=TMR02 +L437=TMR03 +L438=TMR04 +L439=TMR05 +L440=TMR06 +L441=TMR07 +L442=TSR00 +L443=TSR00L +L444=TSR01 +L445=TSR01L +L446=TSR02 +L447=TSR02L +L448=TSR03 +L449=TSR03L +L450=TSR04 +L451=TSR04L +L452=TSR05 +L453=TSR05L +L454=TSR06 +L455=TSR06L +L456=TSR07 +L457=TSR07L +L458=TE0 +L459=TE0L +L460=TS0 +L461=TS0L +L462=TT0 +L463=TT0L +L464=TPS0 +L465=TPS0L +L466=TO0 +L467=TO0L +L468=TOE0 +L469=TOE0L +L470=TOL0 +L471=TOL0L +L472=TOM0 +L473=TOM0L +L474=IICCTL00 +L475=SPT0 +L476=STT0 +L477=ACKE0 +L478=WTIM0 +L479=SPIE0 +L480=WREL0 +L481=LREL0 +L482=IICE0 +L483=IICCTL10 +L484=DFC0 +L485=SMC0 +L486=DAD0 +L487=CLD0 +L488=WUP0 +L489=IICWL0 +L490=IICWH0 +L491=SVA0 +L492=PER3 +L493=IICA1EN +L494=P20 +L495=PM20 +L496=PU20 +L497=EGP2 +L498=EGN2 +L499=IICA1 +L500=IICS1 +L501=SPD1 +L502=STD1 +L503=ACKD1 +L504=TRC1 +L505=COI1 +L506=EXC1 +L507=ALD1 +L508=MSTS1 +L509=IICF1 +L510=IICRSV1 +L511=STCEN1 +L512=IICBSY1 +L513=STCF1 +L514=IICCTL01 +L515=SPT1 +L516=STT1 +L517=ACKE1 +L518=WTIM1 +L519=SPIE1 +L520=WREL1 +L521=LREL1 +L522=IICE1 +L523=IICCTL11 +L524=DFC1 +L525=SMC1 +L526=DAD1 +L527=CLD1 +L528=WUP1 +L529=IICWL1 +L530=IICWH1 +L531=SVA1 +[Local Variable] +Geometry=0, 0, 0, 0 +Window=Hide +Boundary=0 +Mode=Proper +[Trace View] +Geometry=0, 0, 0, 0 +Window=Hide +Mode=Normal +Frame=Show +Timetag=Clock +Address=Show +Data=Hex +Status=Show +Address2=Show +Data2=Hex +Status2=Show +Disasm=Show +Pick Up=Off +Synchronize=0 0 0 0 +Frameno= +Frameno1= +Frameno2= +Frameno3= +Frameno4= +Frameno5= +Frameno6= +Frameno7= +Frameno8= +Frameno9= +Frameno10= +Frameno11= +Frameno12= +Frameno13= +Frameno14= +Frameno15= +Frameno16= +ScanStatus=ALL +Access Size=B +ScanAddress=<>-<> +Mask Address= +ScanData= +Mask Data= +ScanExternal= +Mask External= +Scan=OFF +Direction=Down +FindStart= +FindEnd= +SaveRange=Screen +SaveStart= +SaveEnd= +[Register] +Geometry=1328, 14, 250, 303 +Window=Normal +Mode=Hex +Boundary=110 +Pickup=OFF +Name=Functional +Register Bank=0 +RP0=3 +RP1=3 +RP2=3 +RP3=3 +PC=3 +SP=3 +PSW=3 +ES=3 +CS=3 +[Event Manager] +Geometry=0, 0, 0, 0 +Window=Hide +Sort by=Unsort +Detail=OFF +[Event Set] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Event Link] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Break] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Trace] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Delay Count0=2 +Count=0 +[Snap] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Stub] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Timer] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +TimerRateRunBreak=0011 +TimerBreakOutRunBreak=OFF +Count=0 +[Timer Monitor] +Count=0 +[Dmm] +Geometry=0, 0, 0, 0 +Window=Hide +Manager=ON +Sort by=Unsort +Detail=OFF +Last Name= +Count=0 +[Variable] +Geometry=1097, 414, 440, 666 +Window=Normal +Boundary=13762700 +0=.pwsw_timeout,D,N,A,+,1 +1=.krmk,P,S,A,+,1 +2=.0xffd32,P,L,A,+,1 +3=.task_interval,P,N,A,+,1 +4=.SW_pow_count,P,N,A,+,1 +5=+system_status,.,N,A,-,1 +Line=6 +[Quick Watch] +0=system_status,P,A,1 +1=tasks,P,A,1 +2=0xFD32,P,A,1 +3=0fd32h,P,A,1 +4=0xffd32,P,A,1 +5=mrmk,P,A,1 +6=krmk,P,A,1 +7=pwsw_timeout,P,A,1 +8=SW_pow_count,P,A,1 +9=task_interval,P,A,1 +10= +11= +12= +13= +14= +15= +[Software Break] +Geometry=0, 0, 0, 0 +Window=Hide +Width=150 30 200 100 +Name0=Swb00001 +Address0=task_sys.c#_tsk_sys+0x2e2 +Window0=ASM +Status0=ON +Name1=Swb00002 +Address1=task_sys.c#_tsk_sys+0xa7 +Window1=ASM +Status1=ON +Name2=Swb00003 +Address2=task_sys.c#_tsk_sys+0x83 +Window2=ASM +Status2=ON +Name3=Swb00004 +Address3=task_sys.c#_tsk_sys+0x49 +Window3=ASM +Status3=ON +Name4=Swb00007 +Address4=task_sys.c#_tsk_sys+0x5f +Window4=ASM +Status4=ON +Name5=Swb00005 +Address5=vreg_ctr.c#_vreg_ctr_write+0x353 +Window5=ASM +Status5=ON +Name6=Swb00006 +Address6=vreg_ctr.c#_vreg_ctr_write+0x343 +Window6=ASM +Status6=ON +Count=7 +[Reset] +Debugger=ON +Symbol=OFF +Target CPU=OFF +[Symbol] +Data1=9F , 16 +[Extended Option] +OnClick Software Break=ON +TraceTimetag=x1 +Redraw=500 +Break When Access Function=OFF +Break When Access Whole=Select +Verify=ON +Break Sound=ON +TraceAutoClear=OFF +RRM Clock=Internal +CKC Register Value=0x09 +RRM Internal Clock Frequency=8.000 +[About] +Version=Program +[Pseudo Emulation] +Geometry=0, 0, 0, 0 +Window=Hide +[Data Flash Option] +Data Flash Emulation=OFF +[List] +Geometry=0, 0, 0, 0 +Window=Hide +[Console] +Geometry=0, 0, 0, 0 +Window=Hide diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.prj b/tags/SDK3.0(2.00)/yav_mcu_bsr.prj new file mode 100644 index 0000000..85b660b --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.prj @@ -0,0 +1,1062 @@ +[ProjectManager] +Version=6.00 +Path=C:\78k_data\yav-mcu-basara\branches\sim\ +Title=yav-mcu +Series=78K0R.PM +Device=uPD79F0104 +DeviceVer=E1.00b +DebugMode=1 +Target=bsr.lmf +[BuildMode0] +BuildModeName=Debug Build +TargetFile=0 +[BuildMode1] +BuildModeName=Release Build +TargetFile=0 +[Tools] +MakeFile=yav_mcu_bsr.mak +Debugger=C:\Program Files (x86)\NEC Electronics Tools\ID78K0R-QB\V3.61\BIN\IDK0R32G.EXE +DebOption= +DebCpuReset=1 +DebSymReset=1 +MuitiLoad=0 +LoadPrjNum=0 +CheckVersion=CC78K0R|W2.13;RA78K0R|W1.33 +[Option.IDK0R32G] +File=\\tsclient\C\78k_data\yav-mcu-basara\branches\sim\yav_mcu_bsr.pri +[BuildMode2] +BuildModeName=K0R_dbg +TargetFile=0 +[BuildMode3] +BuildModeName=BSR_dbg +TargetFile=0 +[BuildMode4] +BuildModeName=BSR_rel +TargetFile=0 +[BuildMode5] +BuildModeName=BSR_WM0 +TargetFile=0 +[Options.OC78K0R 0] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 1] +Version=100 +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 2] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=0 +UN=FF +UST= +USZ= +K=0 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 3] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 4] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[Options.OC78K0R 5] +Version=100 +O0=.\bsr.hex +O1=bsr.hex +UC=1 +UN=FF +UST= +USZ= +K=1 +ZF=0 +S=1 +E=0 +CommandFile=0 +[BuildBefore-AfterCmd] +Before1=c:\cygwin\bin\touch magic.c +After1=ruby nec_s_2_bsrbin2.rb bsr.hex +[Options.RA78K0R 0] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 1] +Version=100 +G=0 +GA=0 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 2] +Version=100 +O0= +O1=obj +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 3] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 4] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[Options.RA78K0R 5] +Version=100 +G=1 +GA=1 +E=0 +COMMON=0 +COMPATI=0 +P=1 +KA=1 +KS=0 +KX=0 +LF=0 +LW=132 +LL=0 +LT=8 +Z=0 +CommandFile=0 +RA_OPT= +[ToolSet] +ToolSetName=(ύX)78K0R Software Package V1.10 +Tool1=CC78K0R|W2.13 +Tool2=RA78K0R|W1.33 +Tool3=SK78K0R|V3.10 +Tool4=ID78K0R-QB|V3.61 +[SrcFile] +Source1=loader.c +Source2=pm.c +Source3=i2c_ctr.c +Source4=main.c +Source5=magic.c +Source6=WDT.c +Source7=i2c_mcu.c +Source8=i2c_twl.c +Source9=led.c +Source10=rtc.c +Source11=vreg_ctr.c +Source12=vreg_twl.c +Source13=adc.c +Source14=renge\renge.c +Source15=accero.c +Source16=self_flash.c +Source17=sw.c +Source18=task_debug.c +Source19=task_misc.c +Source20=task_sys.c +Source21=pedo_alg_thre_det2.c +Source22=ini_VECT.c +Source23=task_status.c +Source24=led_cam.c +Source25=led_pow.c +Source26=hal.c +[IncFile] +Include1=incs_loader.h +Include2=jhl_defs.h +Include3=config.h +Include4=user_define.h +Include5=bsr_system.h +Include6=renge\renge.h +Include7=renge\renge_defs.h +Include8=renge\renge_task_immediate.h +Include9=vreg_ctr.h +Include10=vreg_twl.h +Include11=loader.h +Include12=i2c_mcu.h +Include13=WDT.h +Include14=fsl_user.h +Include15=i2c_ctr.h +Include16=pm.h +Include17=rtc.h +Include18=reboot.h +Include19=magic.h +Include20=incs.h +Include21=i2c_twl.h +Include22=accero.h +Include23=pedometer.h +Include24=sw.h +Include25=adc.h +Include26=led.h +Include27=batt_params.h +Include28=pool.h +Include29=i2c_twl_defs.h +Include30=voltable.h +Include31=renge\renge_task_intval.h +Include32=self_flash.h +Include33=pedo_lpf_coeff.h +Include34=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +Include35=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +Include36=sim\simOnWin.h +Include37=sim\sfrAlias.h +Include38=hal.h +Include39=sim\sim_interrupt_decrare.c +[Options.CC78K0R 0] +Version=210 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 1] +Version=210 +Memorymodel=2 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1128 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=0 +Outdebug=1153 +Outasmsrcchk=0 +Outasmsrc=1157 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1173 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=0 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=1 +FarROMization=1 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rll.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 2] +Version=210 +Define0= +Define1=_debug_,_TEG_,proc_is_ke3 +Define2=_debug_,_TEG_,proc_is_ke3,%time% +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r +Include1=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include2=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=1 +Saddrglobal=1063 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=0 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=1 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=0 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outobjectcmb0= +Outobjectcmb1=obj +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=1 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=1 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=1 +Startupchk=1 +Fixation=0 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rm.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 3] +Version=210 +Define0=_debug_,proc_is_bsr,_TEG_ +Define1=_debug_,proc_is_bsr +Define2=proc_is_bsr +Define3=_TEG_,proc_is_ke3 +Define4=proc_is_ke3 +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 4] +Version=210 +Define0=proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.CC78K0R 5] +Version=210 +Define0= +Define1=_debug_,proc_is_bsr,_TEG_,_WM0_ +Define2=_debug_,proc_is_bsr,_TEG_,_WM0 +Define3=_debug_,proc_is_bsr,_TEG_ +Define4=_debug_,proc_is_bsr +Include0=renge,C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Include1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\inc78k0r +Memorymodel=1 +Flashobj=0 +FlashStartadr= +FlashBranchStartadr= +Mirror=0 +Saddrglobalchk=0 +Saddrglobal=1066 +Saddrstaticchk=0 +Saddrstatic=1072 +Bitfieldmsb=0 +Onebytechk=0 +Pacstructchk=0 +AssignROMchk=0 +AssignROM=0 +Maxoptimizechk=0 +Maxoptimize=1104 +Charunexpandchk=1 +Unsignedchar=0 +Usesaddrchk=0 +Autoallocationchk=1 +Jumpoptimize=1 +Librarycallchk=0 +Librarycall=1129 +Aggressivechk=1 +Relativebranchchk=1 +Debugoptchk=0 +Outdebugchk=1 +Outdebug=1153 +Outasmsrccmb0=inter_asm +Outasmsrccmb1=bsr.asm +Outasmsrcchk=1 +Outasmsrc=1158 +Outasmoptall=1 +Common=0 +Outerrlistchk=0 +Outerrlist=1174 +Xreference=0 +Preprocess=0 +Prenocomment=0 +Predefine=0 +Preifdef=1 +Preinclude=0 +Preline=1 +Prenumber=1 +Formfeed=0 +Columns=132 +Lines=0 +Tablength=8 +Ansi=0 +Cpraspras=1 +Commentnest=0 +Intunexpand=0 +Kanjicode=1210 +Verbose=0 +CommandFile=0 +Warninglevel=0 +Startupchk=1 +Fixation=1 +FarROMization=0 +Objectsel=1305 +Librarychk=1 +Floatingpoint=0 +Muldivunit=1 +Mulunit=1 +Startup=s0rml.rel +Library1=cl0rdm.lib +Library2=cl0rm.lib +Library3=cl0rmf.lib +VfiFileBoot0= +VfiFileBoot1=boot.vfi +VF78K0Rchk=0 +VF78K0Rvs= +[Options.LK78K0R 0] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 1] +Version=100 +O0=a.lmf +G=0 +E=0 +E0=a.elk +GO=0 +GOValue= +GOStart=FC00 +GOSizeValue=1024 +GI=0 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=1 +MemInfoCheck=0 +P=1 +P0=a.map +MI=0 +GB=0 +GBValue= +KM=1 +KD=1 +KP=0 +KL=0 +LF=0 +LL=0 +S=0 +W=1 +SELFCheck=0 +SELF=0 +ZB= +CommandFile=0 +[Options.LK78K0R 2] +Version=100 +O0=bsr.lmf +O1=bsr_k0r.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=0 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=1B339499E033F240BFAA +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=7EFBFF +KM=1 +KD=0 +KP=0 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\lib78k0r\fsl.lib +B1=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +OFILE=C:\78k_data\yav-mcu-basara\branches\sim\bsr.lmf +[Options.LK78K0R 3] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 4] +Version=100 +O0=bsr_k0r.lmf +O1=bsr.lmf +O2=flash.lmf +O3=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_k0r.map +P1=bsr.map +P2=flash.map +P3=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=0 +SELFCheck=1 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LK78K0R 5] +Version=100 +O0=bsr_bsr.lmf +O1=bsr_k0r.lmf +O2=bsr.lmf +O3=flash.lmf +O4=a.lmf +G=1 +E=0 +E0=flash.elk +E1=a.elk +GO=1 +GOValue=85 +GOStart=FC00 +GOSizeValue=1024 +GI=1 +GIValue=FFFFFFFFFFFFFFFFFFFF +CCZA=0 +MemInfoCheck=1 +P=1 +P0=bsr_bsr.map +P1=bsr_k0r.map +P2=bsr.map +P3=flash.map +P4=a.map +MI=0 +GB=1 +GBValue=6EFBFF +KM=1 +KD=0 +KP=1 +KL=0 +LF=0 +LL=0 +B0=C:\Program Files\NEC Electronics Tools\FSL78K0R_Type02ES\V1.20\lib78k0r\fsl.lib +D0=bsr_mcu.dr +D1=user_area.dr +S=1 +W=2 +SELFCheck=0 +SELF=0 +ZB= +Etcetera0= +Etcetera1=boot.lmf +CommandFile=0 +[Options.LCNV78K0R 0] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 1] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 2] +Version=100 +LCNV_GO=0 +O0=inter_asm +E=0 +CommandFile=0 +[Options.LCNV78K0R 3] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 4] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.LCNV78K0R 5] +Version=100 +LCNV_GO=0 +E=0 +CommandFile=0 +[Options.78K0R] +BuildMode=2 +BuildMode2=K0R_dbg +BuildMode3=BSR_dbg +BuildMode4=BSR_rel +BuildMode5=BSR_WM0 +DefaultMode2=1 +DefaultMode3=1 +DefaultMode4=1 +DefaultMode5=1 diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.prk b/tags/SDK3.0(2.00)/yav_mcu_bsr.prk new file mode 100644 index 0000000..6c71169 --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.prk @@ -0,0 +1,15 @@ +[ProjectManager] +FrameMax=0 +FrameX=402 +FrameY=228 +FrameCX=1440 +FrameCY=895 +OpenFile1=ProjectWindow +PrjPos=0,0,706,0,291 +OpenFile2=task_sys.c,0,225,225,1395,726,0,369,0,0 +OpenFile3=config.h,0,0,0,1170,501,24,24,24,0 +OpenFile4=OutputWindow +OutputPos=0,16,707,587,1440 +ActivePRJ=yav_mcu_bsr.prj +[ProjectWindow] +ProjectWindowDispType=0 diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.prw b/tags/SDK3.0(2.00)/yav_mcu_bsr.prw new file mode 100644 index 0000000..7c0bbd6 --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.prw @@ -0,0 +1,8 @@ +[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 diff --git a/tags/SDK3.0(2.00)/yav_mcu_bsr.sdb b/tags/SDK3.0(2.00)/yav_mcu_bsr.sdb new file mode 100644 index 0000000..72a55dd --- /dev/null +++ b/tags/SDK3.0(2.00)/yav_mcu_bsr.sdb @@ -0,0 +1,298 @@ +[SdbInfo] +Ver=5 +[loader.c] +T=4e0a86c1 +1=incs_loader.h +2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\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=4e1c1434 +1=incs.h +2=adc.h +3=led.h +4=pm.h +5=renge\renge.h +6=batt_params.h +7=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +8=fsl_user.h +[i2c_ctr.c] +T=4e1d54ae +1=config.h +2=incs.h +[main.c] +T=4e0af952 +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=4e1d56d9 +1=config.h +2=magic.h +[WDT.c] +T=4dfae637 +1=incs_loader.h +[i2c_mcu.c] +T=4e1d47dd +1=incs_loader.h +2=i2c_mcu.h +[i2c_twl.c] +T=4e0c1e90 +1=config.h +2=incs.h +3=i2c_twl_defs.h +4=i2c_twl.h +[led.c] +T=4dfafb99 +1=incs.h +2=led.h +[rtc.c] +T=4dfb0204 +1=incs.h +[vreg_ctr.c] +T=4e1a3d56 +1=incs.h +2=vreg_ctr.h +3=rtc.h +4=led.h +5=accero.h +6=pm.h +7=pool.h +8=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +9=fsl_user.h +[vreg_twl.c] +T=4df868b8 +1=incs.h +2=jhl_defs.h +3=led.h +4=vreg_twl.h +5=vreg_ctr.h +[adc.c] +T=4e1c11e5 +1=incs.h +2=adc.h +3=pm.h +4=led.h +5=vreg_twl.h +6=voltable.h +[renge\renge.c] +T=4e093f8f +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=sim\simOnWin.h +8=bsr_system.h +[accero.c] +T=4dff0001 +1=config.h +2=incs.h +3=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +[self_flash.c] +T=4e166b67 +1=incs_loader.h +2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h +3=fsl_user.h +4=i2c_ctr.h +5=pool.h +6=magic.h +7=pm.h +[sw.c] +T=4e166bf3 +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=4dfae637 +1=incs_loader.h +2=renge\renge.h +3=pm.h +4=accero.h +[task_misc.c] +T=4e1c12df +1=incs.h +2=renge\renge.h +3=pm.h +4=accero.h +5=adc.h +6=i2c_mcu.h +7=led.h +8=vreg_twl.h +[task_sys.c] +T=4e1a935d +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=4e1a3cda +1=incs.h +2=..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h +3=accero.h +4=pedometer.h +5=pedo_lpf_coeff.h +6=pool.h +[ini_VECT.c] +T=4dfaf66c +1=config.h +[task_status.c] +T=4e1abbad +1=incs_loader.h +2=renge\renge.h +3=hal.h +4=pm.h +5=accero.h +6=adc.h +7=i2c_mcu.h +8=led.h +[led_cam.c] +T=4dfae24c +1=incs.h +2=led.h +[led_pow.c] +T=4dfae637 +1=incs.h +2=led.h +[hal.c] +T=4e1d5591 +1=incs_loader.h +[incs_loader.h] +T=4e156766 +1=sim\simOnWin.h +2=jhl_defs.h +3=user_define.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=vreg_ctr.h +8=vreg_twl.h +9=loader.h +10=i2c_mcu.h +11=WDT.h +[jhl_defs.h] +T=4df868b8 +1=config.h +[config.h] +T=4e16b88c +[user_define.h] +T=4e169edd +[bsr_system.h] +T=4df868b8 +[renge\renge.h] +T=4df868b6 +1=renge\renge_defs.h +2=renge\renge_task_immediate.h +[renge\renge_defs.h] +T=4dfae85a +[renge\renge_task_immediate.h] +T=4df868b6 +1=renge\renge_defs.h +[vreg_ctr.h] +T=4e1c100c +1=config.h +[vreg_twl.h] +T=4df868b8 +[loader.h] +T=4df868b8 +[i2c_mcu.h] +T=4df868b8 +[WDT.h] +T=4df868b8 +[fsl_user.h] +T=4dfea7e9 +[i2c_ctr.h] +T=4df868b9 +[pm.h] +T=4dfef02d +[rtc.h] +T=4df868b9 +[reboot.h] +T=4df868b8 +[magic.h] +T=4df868b8 +[incs.h] +T=4e15675d +1=sim\simOnWin.h +2=jhl_defs.h +3=user_define.h +4=hal.h +5=bsr_system.h +6=renge\renge.h +7=loader.h +8=vreg_ctr.h +9=vreg_twl.h +10=i2c_mcu.h +11=i2c_twl.h +12=rtc.h +13=accero.h +14=pm.h +15=sw.h +16=adc.h +17=WDT.h +[i2c_twl.h] +T=4df868b8 +[accero.h] +T=4df868b8 +1=jhl_defs.h +2=pedometer.h +[pedometer.h] +T=4e1a3cda +[sw.h] +T=4df868b8 +1=config.h +[adc.h] +T=4df868b8 +1=jhl_defs.h +[led.h] +T=4e169c84 +[batt_params.h] +T=4df868b9 +1=jhl_defs.h +[pool.h] +T=4df868b8 +1=pedometer.h +[i2c_twl_defs.h] +T=4df868b8 +[voltable.h] +T=4df868b8 +[renge\renge_task_intval.h] +T=4df868b6 +1=renge\renge_defs.h +[self_flash.h] +T=4df868b8 +[pedo_lpf_coeff.h] +T=4df868b9 +[..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\fsl.h] +T=49a3bd4e +[..\..\..\..\Program Files (x86)\NEC Electronics Tools\CC78K0R\W2.13\inc78k0r\math.h] +T=45f12258 +[sim\simOnWin.h] +T=4e0014e7 +1=sim\sfrAlias.h +[sim\sfrAlias.h] +T=4e169edd +1=config.h +[hal.h] +T=4e16a2b4 diff --git a/tags/SDK3.0(2.00)/ベースからの変更.xls b/tags/SDK3.0(2.00)/ベースからの変更.xls new file mode 100644 index 0000000000000000000000000000000000000000..5212dac6485080dca2bfd246e855585895ff82af GIT binary patch literal 26624 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 literal 0 HcmV?d00001