aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2011-07-04 01:23:24 +0200
committerNicolas Schodet2011-07-04 01:27:42 +0200
commitc331530002825a86f12151266a9772167a3a49ce (patch)
tree9a4bb16c6a87e30629da039e82cbf026dc361009
parent0cb650f1cf6f446bbb0186300a198b5936f49bb4 (diff)
parentb0472321014e8fcb110f4cecad734bb6a7e27ae0 (diff)
Merge branch 'jch-import' into jch-mergejch-merge
Conflicts: AT91SAM7S256/Source/BtTest.inc AT91SAM7S256/Source/Functions.inl AT91SAM7S256/Source/Ui.txt AT91SAM7S256/Source/c_cmd.c AT91SAM7S256/Source/c_input.c AT91SAM7S256/Source/c_output.c AT91SAM7S256/Source/c_ui.c AT91SAM7S256/Source/c_ui.h AT91SAM7S256/Source/d_loader.h AT91SAM7S256/Source/d_lowspeed.r AT91SAM7S256/Source/d_output.c AT91SAM7S256/Source/d_output.h
-rw-r--r--AT91SAM7S256/Resource/MENUES/IconNos.txt8
-rw-r--r--AT91SAM7S256/Resource/MENUES/Icons.bmpbin9086 -> 9278 bytes
-rw-r--r--AT91SAM7S256/Resource/MENUES/Mainmenu.txt16
-rw-r--r--AT91SAM7S256/Resource/MENUES/Submenu04.txt18
-rw-r--r--AT91SAM7S256/Resource/TEXT/Ui.txt10
-rw-r--r--AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.h2
-rw-r--r--AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.r79bin1149147 -> 1203693 bytes
-rw-r--r--AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.h9
-rw-r--r--AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.r79bin0 -> 1153133 bytes
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep3990
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewd1139
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp1193
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/at91SAM7S256_Remap.xcl4
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat32
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt16
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni15
-rw-r--r--AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt36
-rw-r--r--AT91SAM7S256/SAM7S256/gcc/Makefile2
-rw-r--r--AT91SAM7S256/Source/BtTest.inc16
-rw-r--r--AT91SAM7S256/Source/Functions.inl72
-rw-r--r--AT91SAM7S256/Source/Ui.txt17
-rw-r--r--AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt125
-rw-r--r--AT91SAM7S256/Source/c_cmd.c2437
-rw-r--r--AT91SAM7S256/Source/c_cmd.h72
-rw-r--r--AT91SAM7S256/Source/c_cmd.iom61
-rw-r--r--AT91SAM7S256/Source/c_cmd_alternate.c108
-rw-r--r--AT91SAM7S256/Source/c_cmd_bytecodes.h79
-rw-r--r--AT91SAM7S256/Source/c_cmd_drawing.inc1724
-rw-r--r--AT91SAM7S256/Source/c_comm.c187
-rw-r--r--AT91SAM7S256/Source/c_comm.iom79
-rw-r--r--AT91SAM7S256/Source/c_display.c235
-rw-r--r--AT91SAM7S256/Source/c_display.iom72
-rw-r--r--AT91SAM7S256/Source/c_input.c56
-rw-r--r--AT91SAM7S256/Source/c_loader.c245
-rw-r--r--AT91SAM7S256/Source/c_loader.h3
-rw-r--r--AT91SAM7S256/Source/c_loader.iom25
-rw-r--r--AT91SAM7S256/Source/c_lowspeed.c2
-rw-r--r--AT91SAM7S256/Source/c_lowspeed.iom15
-rw-r--r--AT91SAM7S256/Source/c_output.c2
-rw-r--r--AT91SAM7S256/Source/c_output.iom3
-rw-r--r--AT91SAM7S256/Source/c_ui.c69
-rw-r--r--AT91SAM7S256/Source/c_ui.h12
-rw-r--r--AT91SAM7S256/Source/c_ui.iom6
-rw-r--r--AT91SAM7S256/Source/d_bt.c8
-rw-r--r--AT91SAM7S256/Source/d_bt.h4
-rw-r--r--AT91SAM7S256/Source/d_bt.r26
-rw-r--r--AT91SAM7S256/Source/d_button.r31
-rw-r--r--AT91SAM7S256/Source/d_display.c4
-rw-r--r--AT91SAM7S256/Source/d_display.h2
-rw-r--r--AT91SAM7S256/Source/d_display.r4
-rw-r--r--AT91SAM7S256/Source/d_display2.r388
-rw-r--r--AT91SAM7S256/Source/d_hispeed.c24
-rw-r--r--AT91SAM7S256/Source/d_hispeed.h2
-rw-r--r--AT91SAM7S256/Source/d_hispeed.r13
-rw-r--r--AT91SAM7S256/Source/d_loader.c109
-rw-r--r--AT91SAM7S256/Source/d_loader.h16
-rw-r--r--AT91SAM7S256/Source/d_lowspeed.c4
-rw-r--r--AT91SAM7S256/Source/d_lowspeed.h2
-rw-r--r--AT91SAM7S256/Source/d_lowspeed.r23
-rw-r--r--AT91SAM7S256/Source/d_output.c156
-rw-r--r--AT91SAM7S256/Source/d_output.h3
-rw-r--r--AT91SAM7S256/Source/modules.h3
62 files changed, 10484 insertions, 2550 deletions
diff --git a/AT91SAM7S256/Resource/MENUES/IconNos.txt b/AT91SAM7S256/Resource/MENUES/IconNos.txt
index 50d12bf..0937da3 100644
--- a/AT91SAM7S256/Resource/MENUES/IconNos.txt
+++ b/AT91SAM7S256/Resource/MENUES/IconNos.txt
@@ -15,9 +15,9 @@ Index Current file New file Comments
0C UltrasonicCm (SensorUltrasonicCm)
0D TempC (SensorTempC)
0E TempF (SensorTempF)
-0F IicTempC
-10 IicTempF
-11 Color
+0F
+10
+11
12 Port1 Ports
13 Port2
14 Port3
@@ -94,3 +94,5 @@ Index Current file New file Comments
5B Invisibel (Invisible)
5C BTOn
5D BTOff
+5E
+5F \ No newline at end of file
diff --git a/AT91SAM7S256/Resource/MENUES/Icons.bmp b/AT91SAM7S256/Resource/MENUES/Icons.bmp
index c844c7b..795170d 100644
--- a/AT91SAM7S256/Resource/MENUES/Icons.bmp
+++ b/AT91SAM7S256/Resource/MENUES/Icons.bmp
Binary files differ
diff --git a/AT91SAM7S256/Resource/MENUES/Mainmenu.txt b/AT91SAM7S256/Resource/MENUES/Mainmenu.txt
index 33028ea..19394ee 100644
--- a/AT91SAM7S256/Resource/MENUES/Mainmenu.txt
+++ b/AT91SAM7S256/Resource/MENUES/Mainmenu.txt
@@ -8,13 +8,13 @@ Turn_off? Turn_off?
1 1
-00000011 00000021 00000031 00000041 00000051 00000061 00000071
-3B 3C 3D 3E 51 3F 40
-My_Files NXT_Program NXT_Datalog View Bluetooth Settings Try_Me
-01040000 01040000 01840000 01040000 01040000 01040000 01040000
-0 0 A E 0 0 0
-0 0 0 0 0 0 0
-1 2 3 4 7 5 6
-1 1 1 1 2 1 1
+00000011 00000021 00000031 00000041 00000051 00000061
+3B 3C 3E 51 3F 40
+My_Files NXT_Program View Bluetooth Settings Try_Me
+01040000 01040000 01040000 01040000 01040000 01040000
+0 0 0 0 0 0
+0 0 0 0 0 0
+1 2 4 7 5 6
+1 1 1 2 1 1
diff --git a/AT91SAM7S256/Resource/MENUES/Submenu04.txt b/AT91SAM7S256/Resource/MENUES/Submenu04.txt
index 0f86f7c..917be20 100644
--- a/AT91SAM7S256/Resource/MENUES/Submenu04.txt
+++ b/AT91SAM7S256/Resource/MENUES/Submenu04.txt
@@ -1,14 +1,14 @@
-00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000009 0000000A 0000000B 0000000C
-02 03 04 05 0F 10 09 08 07 0B 0C 11
-Sound_dB Sound_dBA Reflected_light Ambient_light Temperature_`C Temperature_`F Motor_rotations Motor_degrees Touch Ultrasonic_inch Ultrasonic_cm Color
-10000021 10000021 10000021 10000021 10000121 10000021 00000020 00000020 10000021 10000021 10000021 10000021
-E E E E E E E E E E E E
-2 3 4 5 B C 8 7 6 9 A D
-0 0 0 0 0 0 0 0 0 0 0 0
-1 1 1 1 1 1 1 1 1 1 1 1
+00000001 00000002 00000003 00000004 00000005 00000006 00000007 00000008 00000009 0000000A 0000000B 0000000C 0000000D
+02 03 04 05 06 0D 0E 0A 09 08 07 0B 0C
+Sound_dB Sound_dBA Reflected_light Ambient_light Light_Sensor* Temperature_`C* Temperature_`F* Rotation* Motor_rotations Motor_degrees Touch Ultrasonic_inch Ultrasonic_cm
+10000121 10000021 10000021 10000021 10000021 10000021 10000021 10000021 00000020 00000020 10000021 10000021 10000021
+E E E E E E E E E E E E E
+2 3 4 5 6 D E A 9 8 7 B C
+0 0 0 0 0 0 0 0 0 0 0 0 0
+1 1 1 1 1 1 1 1 1 1 1 1 1
-00000011 00000021 00000031 00000041 00000017 00000027 00000037 00000018 00000028 00000038
+00000011 00000021 00000031 00000041 00000019 00000029 00000039 0000001A 0000002A 0000003A
12 13 14 15 16 17 18 16 17 18
Port_1 Port_2 Port_3 Port_4 Port_A Port_B Port_C Port_A Port_B Port_C
00000020 00000020 00000020 00000020 00000020 00000020 00000020 00000020 00000020 00000020
diff --git a/AT91SAM7S256/Resource/TEXT/Ui.txt b/AT91SAM7S256/Resource/TEXT/Ui.txt
index b0ab7ea..98769e6 100644
--- a/AT91SAM7S256/Resource/TEXT/Ui.txt
+++ b/AT91SAM7S256/Resource/TEXT/Ui.txt
@@ -17,9 +17,6 @@ Memory full!
File saved
File exists
overwrite!
-Saved as
-File exist
-overwrite!
File deleted
Files
deleted
@@ -29,11 +26,6 @@ Done
File error!
Deleting all
%s files!
-Press Clear to
-stop DataLogging
-Port occupied!
-H:MM:SS:00
-HH:MM:SS
Sound
Software
NXT
@@ -56,6 +48,4 @@ BT store is
full error!
BT unknown
addr. error!
-Memory is
-full!
Never
diff --git a/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.h b/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.h
index 008dce6..25c78b9 100644
--- a/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.h
+++ b/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.h
@@ -1,5 +1,5 @@
/* Customer-specific DLib configuration. */
-/* Copyright (C) 2003 IAR Systems. All rights reserved. */
+/* Copyright (C) 2003-2005 IAR Systems. All rights reserved. */
#ifndef _DLIB_CONFIG_H
#define _DLIB_CONFIG_H
diff --git a/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.r79 b/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.r79
index 8403996..556c330 100644
--- a/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.r79
+++ b/AT91SAM7S256/SAM7S256/Lib/dl4tptinl8n.r79
Binary files differ
diff --git a/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.h b/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.h
new file mode 100644
index 0000000..25c78b9
--- /dev/null
+++ b/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.h
@@ -0,0 +1,9 @@
+/* Customer-specific DLib configuration. */
+/* Copyright (C) 2003-2005 IAR Systems. All rights reserved. */
+
+#ifndef _DLIB_CONFIG_H
+#define _DLIB_CONFIG_H
+
+/* No changes to the defaults. */
+
+#endif /* _DLIB_CONFIG_H */
diff --git a/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.r79 b/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.r79
new file mode 100644
index 0000000..87742c6
--- /dev/null
+++ b/AT91SAM7S256/SAM7S256/Lib/dl4tptnnl8n.r79
Binary files differ
diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep
index 6f4e5e9..a658c5b 100644
--- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep
+++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep
@@ -1,302 +1,455 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
- <fileVersion>1</fileVersion>
+ <fileVersion>2</fileVersion>
+ <fileChecksum>2103580747</fileChecksum>
<configuration>
- <name>Bin Output</name>
+ <name>Benchmark</name>
+ <outputs>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_sound.r79</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_usb.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_display.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_12.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_cmd.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_display.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_9.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\yvals.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_output.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_loader.pbi</file>
+ <file>$TOOLKIT_DIR$\inc\time.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\m_sched.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_button.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_timer.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_loader.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_3.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
+ <file>$TOOLKIT_DIR$\inc\xtls.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_loader.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\Ui.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_input.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_15.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_loader.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
+ <file>$PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_comm.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_sound.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\Cstartup.r79</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd</file>
+ <file>$PROJ_DIR$\..\..\Source\Info.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
+ <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
+ <file>$TOOLKIT_DIR$\inc\ctype.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_bt.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_14.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_display.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
+ <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_sound.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\modules.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_input.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_10.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_button.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\Wait.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_bt.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_ui.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Port.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_output.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_button.r79</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_7.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\m_sched.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_output.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Cursor.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
+ <file>$TOOLKIT_DIR$\inc\stdio.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_timer.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_button.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_2.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_output.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_hispeed.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
+ <file>$TOOLKIT_DIR$\inc\string.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_13.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_ui.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\stdbool.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file>$PROJ_DIR$\..\..\Source\Ok.txt</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.c</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_11.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Step.txt</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_6.txt</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\Icons.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_8.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Connections.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_comm.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_ioctrl.pbi</file>
+ <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_input.r79</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_input.r79</file>
+ <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Devices.txt</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_5.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Fail.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_4.txt</file>
+ <file>$PROJ_DIR$\..\Lib\dl4tptinl8n.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.c</file>
+ <file>$PROJ_DIR$\..\..\Source\Functions.inl</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.c</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.c</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_sound.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_usb.r79</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\c_cmd.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_display.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_drawing.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_16.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
+ <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
+ <file>$PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
+ </outputs>
<file>
- <name>[ROOT_NODE]</name>
+ <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
<outputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\Bin Output\List\LMS_ARM.map</file>
- <file>$PROJ_DIR$\Bin Output\Exe\LMS_ARM.d79</file>
- <file>$PROJ_DIR$\Bin Output\Exe\LMS_ARM.a79</file>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.d79</file>
+ <name>ICCARM</name>
+ <file> 189</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 8</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 20 84 197 99 27 19 90 53 22 124 50 38 10 74 82 109 17 188 159 131 153 122 195 123 65 192</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 197 99 27 19 90 53 22 124 50 38 10 74 82 109 17 188 131 153 122 195 123 65 192</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\Bin Output\Exe\LMS_ARM.d79</name>
+ <name>[ROOT_NODE]</name>
<outputs>
<tool>
<name>XLINK</name>
- <file>$PROJ_DIR$\Bin Output\List\LMS_ARM.map</file>
- <file>$PROJ_DIR$\Bin Output\Exe\LMS_ARM.a79</file>
+ <file> 55</file>
</tool>
</outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd</name>
<inputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\at91SAM7S256_Remap.xcl</file>
- <file>$PROJ_DIR$\Bin Output\Obj\Cstartup.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\Cstartup_SAM7.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_button.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_cmd.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_comm.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_display.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_input.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_ioctrl.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_led.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_loader.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_lowspeed.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_output.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_sound.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\c_ui.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_bt.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_button.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_display.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_hispeed.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_input.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_ioctrl.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_led.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_loader.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_lowspeed.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_output.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_sound.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_timer.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\d_usb.r79</file>
- <file>$PROJ_DIR$\Bin Output\Obj\m_sched.r79</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
+ <name>BILINK</name>
+ <file> 28 111 8 58 5 46 148 36 15 96 83 126 70 32 73 116 85 150 24 155 118 60 110 4 102</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_led.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_led.r79</file>
+ <file> 146</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 58</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file> 20 84 50 19 147 90 197 124 104 114 16 44 123 17 188 159 131 153 122 195 67 98 40 43 65 91 194 149 25 76</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 50 19 147 90 197 124 104 114 16 44 123 17 188 131 153 122 195 67 98 40 43 65 91 194 149 25 76</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_ui.r79</file>
- </tool>
- </outputs>
- <inputs>
- <tool>
- <name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
- <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Startup.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Functions.inc</file>
- <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
- <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
- <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu03.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu10.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu11.rms</file>
+ <file> 41</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 24</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 20 84 59 75 141 29 101 123 17 188 159 131 153 122 195 67 98 40 43 65 91 194 149 25 76</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 59 75 141 29 101 123 17 188 131 153 122 195 67 98 40 43 65 91 194 149 25 76</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_display.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_lowspeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_display.r79</file>
+ <file> 196</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 155</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file> 20 59 75 141 127 119</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 127 119</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_input.r79</file>
+ <file> 103</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 118</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file> 20 59 75 141 9 57</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 9 57</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_ioctrl.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_sound.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_ioctrl.r79</file>
+ <file> 3</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 60</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file> 20 59 75 141 134 190</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 134 190</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_loader.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_timer.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_loader.r79</file>
+ <file> 34</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 110</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file> 20 59 75 141 82 81</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 82 81</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_lowspeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_lowspeed.r79</file>
+ <file> 187</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 4</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file> 20 59 75 141 114 79</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 114 79</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
+ <name>$PROJ_DIR$\..\..\Source\m_sched.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_output.r79</file>
+ <file> 26</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 102</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file> 20 84 59 75 141 132 104 80 27 107 22 31 51 1 72 95 10 74 197 139 30</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 59 75 141 132 104 80 27 107 22 31 51 1 72 95 10 74 197 139 30</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_sound.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_sound.r79</file>
+ <file> 97</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 111</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file> 20 84 107 22 11</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 107 22 11</file>
</tool>
</inputs>
</file>
@@ -305,13 +458,13 @@
<outputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\..\Object\Cstartup.r79</file>
+ <file> 61</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file> 77</file>
</tool>
</inputs>
</file>
@@ -320,13 +473,21 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.r79</file>
+ <file> 52</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 28</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file> 138</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 138</file>
</tool>
</inputs>
</file>
@@ -335,438 +496,781 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_bt.r79</file>
+ <file> 89</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 70</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file> 20 84 59 75 141 44 2 123 17 188 159 131 153 122 195</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 59 75 141 44 2 123 17 188 131 153 122 195</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_usb.r79</file>
+ <file> 87</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 32</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file> 20 59 75 141 11 186</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 11 186</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_button.r79</file>
+ <file> 191</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 73</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file> 20 59 75 141 35 129</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 123 17 188 131 153 122 195 35 129</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_display.r79</file>
+ <file> 120</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 116</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file> 20 59 75 141 16 121</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 16 121</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_hispeed.r79</file>
+ <file> 151</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 85</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file> 20 59 75 141 80 27 78 113</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 59 75 141 80 27 78 113</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_input.r79</file>
+ <file> 23</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 150</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file> 123 17 188 159 131 153 122 195 20 59 75 141 49 7</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 123 17 188 131 153 122 195 20 59 75 141 49 7</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_button.r79</file>
+ <file> 12</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 5</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file> 123 17 188 159 131 153 122 195 20 84 124 1 35</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 123 17 188 131 153 122 195 20 84 124 1 35</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_ioctrl.r79</file>
+ <file> 152</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 46</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file> 20 84 80 27 78 99</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 80 27 78 99</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_loader.r79</file>
+ <file> 56</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 148</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file> 20 84 147 139 49</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 147 139 49</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_lowspeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_loader.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_lowspeed.r79</file>
+ <file> 48</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 36</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file> 20 84 19 147 29 31</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 19 147 29 31</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_lowspeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_output.r79</file>
+ <file> 142</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 15</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file> 20 84 38 27 72 127</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 20 84 38 27 72 127</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_sound.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_sound.r79</file>
+ <file> 21</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 96</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file> 109 17 188 159 131 153 122 195 128 20 84 99 95 9 124</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 109 17 188 131 153 122 195 128 20 84 99 95 9 124</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_timer.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_sound.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_timer.r79</file>
+ <file> 177</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 83</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file> 65 17 188 159 131 153 122 195 123 20 84 53 19 51 134</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 65 17 188 131 153 122 195 123 20 84 53 19 51 134</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_led.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_led.r79</file>
+ <file> 92</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 126</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file> 109 17 188 159 131 153 122 195 123 67 98 40 43 65 91 194 149 25 76 20 84 90 30 59 75 141 124 19 22 53 27 99 147 197 50 38 105 93 14 137 106 108 94 130 88 157 63 143 133 117 37 158 156 140 100 144 13 86 136 6 125 71 47 193 18 154 145 42 54 66 64 68 33 69 39 166 112 45 115</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 109 17 188 131 153 122 195 123 67 98 40 43 65 91 194 149 25 76 20 84 90 30 59 75 141 124 19 22 53 27 99 147 197 50 38 105 93 14 137 106 108 94 130 88 157 63 143 133 117 37 158 156 140 100 144 13 86 136 6 125 71 47 193 18 154 145 42 54 66 64 68 33 69 39 166 112 45 115</file>
</tool>
</inputs>
</file>
+ <forcedrebuild>
+ <name>[MULTI_TOOL]</name>
+ <tool>XLINK</tool>
+ </forcedrebuild>
+ <forcedrebuild>
+ <name>[REBUILD_ALL]</name>
+ </forcedrebuild>
+ </configuration>
+ <configuration>
+ <name>Bin Output</name>
+ <outputs>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_12.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_9.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\yvals.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
+ <file>$TOOLKIT_DIR$\inc\time.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_3.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
+ <file>$TOOLKIT_DIR$\inc\xtls.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Ui.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_15.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Info.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
+ <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
+ <file>$TOOLKIT_DIR$\inc\ctype.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_14.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
+ <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
+ <file>$PROJ_DIR$\..\..\Source\modules.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_10.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Wait.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
+ <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Port.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_7.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Cursor.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
+ <file>$TOOLKIT_DIR$\inc\stdio.h</file>
+ <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_2.txt</file>
+ <file>$PROJ_DIR$\..\Object\d_hispeed.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file>$TOOLKIT_DIR$\inc\limits.h</file>
+ <file>$PROJ_DIR$\..\Object\d_display.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_display.s</file>
+ <file>$PROJ_DIR$\..\Object\d_display.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_input.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_usb.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_hispeed.s</file>
+ <file>$PROJ_DIR$\..\Object\c_input.s</file>
+ <file>$PROJ_DIR$\..\Object\c_output.s</file>
+ <file>$PROJ_DIR$\..\Object\d_usb.s</file>
+ <file>$PROJ_DIR$\..\Object\c_cmd.pbi</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.s</file>
+ <file>$PROJ_DIR$\..\Object\m_sched.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_loader.s</file>
+ <file>$PROJ_DIR$\..\Object\d_button.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_cmd.s</file>
+ <file>$PROJ_DIR$\..\Object\c_loader.s</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
+ <file>$PROJ_DIR$\at91SAM7S256_Remap.xcl</file>
+ <file>$PROJ_DIR$\..\Object\c_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_led.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_timer.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu03.rms</file>
+ <file>$PROJ_DIR$\..\Object\d_bt.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_button.s</file>
+ <file>$PROJ_DIR$\..\Object\c_led.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_input.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file>$PROJ_DIR$\..\Object\d_ioctrl.s</file>
+ <file>$PROJ_DIR$\..\Object\d_hispeed.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_output.s</file>
+ <file>$PROJ_DIR$\..\Object\c_sound.s</file>
+ <file>$PROJ_DIR$\..\Object\c_lowspeed.s</file>
+ <file>$TOOLKIT_DIR$\inc\ymath.h</file>
+ <file>$PROJ_DIR$\..\Object\c_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_comm.s</file>
+ <file>$TOOLKIT_DIR$\inc\math.h</file>
+ <file>$PROJ_DIR$\..\Object\c_display.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound_adpcm.r</file>
+ <file>$PROJ_DIR$\..\Object\d_lowspeed.s</file>
+ <file>$PROJ_DIR$\..\Object\c_cmd.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_sound.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_sound.s</file>
+ <file>$PROJ_DIR$\..\Object\d_output.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_display.s</file>
+ <file>$PROJ_DIR$\..\Object\c_sound.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_loader.r79</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.d79</file>
+ <file>$PROJ_DIR$\..\Object\c_button.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_loader.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_output.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.map</file>
+ <file>$PROJ_DIR$\..\Object\m_sched.s</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.c</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_ioctrl.r79</file>
+ <file>$PROJ_DIR$\..\Object\m_sched.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_timer.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_sound.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_comm.r79</file>
+ <file>$PROJ_DIR$\..\Lib\dl4tptinl8n.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_display.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_ui.s</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.pbd</file>
+ <file>$PROJ_DIR$\..\Object\c_comm.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_timer.s</file>
+ <file>$PROJ_DIR$\..\Object\c_input.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_loader.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_ioctrl.s</file>
+ <file>$PROJ_DIR$\..\Object\c_button.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_button.s</file>
+ <file>$PROJ_DIR$\..\Object\c_ioctrl.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_input.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.a79</file>
+ <file>$PROJ_DIR$\..\Object\c_output.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_sound.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_loader.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_bt.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_output.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_bt.s</file>
+ <file>$PROJ_DIR$\..\Object\d_usb.r79</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup.r79</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
+ <file>$TOOLKIT_DIR$\inc\string.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_13.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\stdbool.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file>$PROJ_DIR$\..\..\Source\Ok.txt</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.c</file>
+ <file>$PROJ_DIR$\..\Object\d_input.s</file>
+ <file>$PROJ_DIR$\..\Object\c_ui.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_ui.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_button.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_11.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Step.txt</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_6.txt</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Icons.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_8.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Connections.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
+ <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Devices.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_5.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Fail.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_4.txt</file>
+ <file>$PROJ_DIR$\..\Lib\dl4tptinl8n.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.c</file>
+ <file>$PROJ_DIR$\..\..\Source\Functions.inl</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.c</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_drawing.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_16.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
+ <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
+ </outputs>
<file>
- <name>$PROJ_DIR$\..\..\Source\m_sched.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\m_sched.r79</file>
+ <file> 127</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 94</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file> 14 57 239 66 17 13 60 35 15 175 33 24 38 49 195 6 48 56 74 11 233 206 181 201 173 238 174 41 122 119 84 235</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 239 66 17 13 60 35 15 175 33 24 38 49 195 6 48 56 74 11 233 181 201 173 238 174 41 122 119 84 235</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
+ <name>[ROOT_NODE]</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 134 139 164</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_cmd.r79</file>
+ <file> 104</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
+ <file> 14 38 49 195 113 163</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
+ <name>$PROJ_DIR$\..\Object\d_display.s</name>
<outputs>
<tool>
- <name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_comm.r79</file>
+ <name>AARM</name>
+ <file> 87</file>
</tool>
</outputs>
- <inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_hispeed.s</name>
+ <outputs>
<tool>
- <name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <name>AARM</name>
+ <file> 80</file>
</tool>
- </inputs>
+ </outputs>
</file>
- <forcedrebuild>
- <name>[MULTI_TOOL]</name>
- <tool>XLINK</tool>
- </forcedrebuild>
- <forcedrebuild>
- <name>[REBUILD_ALL]</name>
- </forcedrebuild>
- </configuration>
- <configuration>
- <name>Flash Debug</name>
<file>
- <name>[ROOT_NODE]</name>
+ <name>$PROJ_DIR$\..\Object\c_input.s</name>
<outputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.map</file>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.sim</file>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.d79</file>
+ <name>AARM</name>
+ <file> 161</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_output.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 165</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_usb.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 171</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\Cstartup_SAM7.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 106</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_loader.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 156</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_cmd.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 127</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_loader.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 133</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_button.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 189</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_ioctrl.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 143</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_output.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 130</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_sound.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 166</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_lowspeed.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 103</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_comm.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 148</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_lowspeed.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 105</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_sound.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 147</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_display.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 123</file>
</tool>
</outputs>
</file>
@@ -775,303 +1279,307 @@
<outputs>
<tool>
<name>XLINK</name>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.map</file>
- <file>$PROJ_DIR$\..\Object\LMS_ARM.sim</file>
+ <file> 139 164</file>
</tool>
</outputs>
<inputs>
<tool>
<name>XLINK</name>
- <file>$PROJ_DIR$\at91SAM7S256_Remap.xcl</file>
- <file>$PROJ_DIR$\..\Object\Cstartup.r79</file>
- <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.r79</file>
- <file>$PROJ_DIR$\..\Object\c_button.r79</file>
- <file>$PROJ_DIR$\..\Object\c_cmd.r79</file>
- <file>$PROJ_DIR$\..\Object\c_comm.r79</file>
- <file>$PROJ_DIR$\..\Object\c_display.r79</file>
- <file>$PROJ_DIR$\..\Object\c_input.r79</file>
- <file>$PROJ_DIR$\..\Object\c_ioctrl.r79</file>
- <file>$PROJ_DIR$\..\Object\c_loader.r79</file>
- <file>$PROJ_DIR$\..\Object\c_lowspeed.r79</file>
- <file>$PROJ_DIR$\..\Object\c_output.r79</file>
- <file>$PROJ_DIR$\..\Object\c_sound.r79</file>
- <file>$PROJ_DIR$\..\Object\c_ui.r79</file>
- <file>$PROJ_DIR$\..\Object\d_bt.r79</file>
- <file>$PROJ_DIR$\..\Object\d_button.r79</file>
- <file>$PROJ_DIR$\..\Object\d_display.r79</file>
- <file>$PROJ_DIR$\..\Object\d_hispeed.r79</file>
- <file>$PROJ_DIR$\..\Object\d_input.r79</file>
- <file>$PROJ_DIR$\..\Object\d_ioctrl.r79</file>
- <file>$PROJ_DIR$\..\Object\d_loader.r79</file>
- <file>$PROJ_DIR$\..\Object\d_lowspeed.r79</file>
- <file>$PROJ_DIR$\..\Object\d_output.r79</file>
- <file>$PROJ_DIR$\..\Object\d_sound.r79</file>
- <file>$PROJ_DIR$\..\Object\d_timer.r79</file>
- <file>$PROJ_DIR$\..\Object\d_usb.r79</file>
- <file>$PROJ_DIR$\..\Object\m_sched.r79</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
+ <file> 102 172 106 158 127 148 123 161 160 133 103 165 166 188 109 189 87 80 88 143 156 105 130 147 145 171 96 149</file>
</tool>
</inputs>
</file>
<file>
+ <name>$PROJ_DIR$\..\Object\m_sched.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 96</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
<name>$PROJ_DIR$\..\..\Source\c_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_led.r79</file>
+ <file> 111</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file> 14 57 101 138 113</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
+ <name>$PROJ_DIR$\..\Object\c_ui.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 188</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\LMS_ARM.pbd</name>
+ <inputs>
+ <tool>
+ <name>BILINK</name>
+ <file> 142 135 94 153 150 155 146 136 120 169 132 187 168 98 85 115 112 162 167 124 137 128 107 89 144</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_timer.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 145</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_ioctrl.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 160</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\c_button.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 158</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Object\d_bt.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 109</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_ui.r79</file>
- </tool>
- </outputs>
- <inputs>
- <tool>
- <name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
- <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Step.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Cursor.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Incomming.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Port.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Ok.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_1.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_2.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_3.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_4.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_5.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_6.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_7.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_8.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_9.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_10.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_11.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_12.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_13.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_14.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_15.txt</file>
- <file>$PROJ_DIR$\..\..\Source\RCXintro_16.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Ui.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu03.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Submenu10.rms</file>
- <file>$PROJ_DIR$\..\..\Source\Functions.inl</file>
- <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
- <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
- <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
+ <file> 148</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 153</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 33 13 199 60 239 175 69 77 10 29 174 11 233 206 181 201 173 238 43 65 26 28 41 61 237 200 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 33 13 199 60 239 175 69 77 10 29 174 11 233 181 201 173 238 43 65 26 28 41 61 237 200 16 50</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_display.c</name>
+ <name>$PROJ_DIR$\..\Object\d_input.s</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 88</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_display.r79</file>
+ <file> 156</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 167</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file> 14 57 38 49 195 18 68 174 11 233 206 181 201 173 238 43 65 26 28 41 61 237 200 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 195 18 68 174 11 233 181 201 173 238 43 65 26 28 41 61 237 200 16 50</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_lowspeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_input.r79</file>
+ <file> 105</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 124</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file> 14 38 49 195 177 81</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 177 81</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_ioctrl.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_ioctrl.r79</file>
+ <file> 130</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 137</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file> 14 38 49 195 5 37</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 5 37</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_loader.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_sound.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_loader.r79</file>
+ <file> 147</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 128</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file> 14 38 49 195 184 234 125</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 184 234 125</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_lowspeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_timer.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_lowspeed.r79</file>
+ <file> 145</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 107</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file> 14 38 49 195 56 55</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 56 55</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_output.r79</file>
+ <file> 171</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 89</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\stdbool.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file> 14 38 49 195 77 53</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 77 53</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_sound.c</name>
+ <name>$PROJ_DIR$\..\..\Source\m_sched.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_sound.r79</file>
+ <file> 96</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 144</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file> 14 57 38 49 195 182 69 54 17 72 15 20 34 1 47 64 6 48 239 193 19</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 195 182 69 54 17 72 15 20 34 1 47 64 6 48 239 193 19</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 158</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 135</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 72 15 7</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 72 15 7</file>
</tool>
</inputs>
</file>
@@ -1080,13 +1588,13 @@
<outputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\..\Object\Cstartup.r79</file>
+ <file> 172</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file> 51</file>
</tool>
</inputs>
</file>
@@ -1095,13 +1603,21 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.r79</file>
+ <file> 106</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 142</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file> 192</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 192</file>
</tool>
</inputs>
</file>
@@ -1110,411 +1626,812 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_bt.r79</file>
+ <file> 109</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 168</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file> 14 57 38 49 195 29 2 174 11 233 206 181 201 173 238</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 195 29 2 174 11 233 181 201 173 238</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_usb.r79</file>
+ <file> 189</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 98</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file> 14 38 49 195 7 232</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 7 232</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_button.r79</file>
+ <file> 87</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 85</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file> 14 38 49 195 22 179</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 22 179</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_display.r79</file>
+ <file> 80</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 115</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file> 14 38 49 195 10 83</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 10 83</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_hispeed.r79</file>
+ <file> 88</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 112</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file> 14 38 49 195 54 17 52 76</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 195 54 17 52 76</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_input.r79</file>
+ <file> 143</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 162</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file> 174 11 233 206 181 201 173 238 14 38 49 195 32 4</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 174 11 233 181 201 173 238 14 38 49 195 32 4</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_button.r79</file>
+ <file> 123</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 150</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file> 174 11 233 206 181 201 173 238 14 57 175 1 22</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 174 11 233 181 201 173 238 14 57 175 1 22</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_ioctrl.r79</file>
+ <file> 161</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 155</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file> 14 57 54 17 52 66 13 174 11 233 206 181 201 173 238</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 54 17 52 66 13 174 11 233 181 201 173 238</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_loader.r79</file>
+ <file> 160</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 146</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file> 14 57 199 193 32</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 199 193 32</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_lowspeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_loader.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 133</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 136</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 13 199 18 20 174 11 233 206 181 201 173 238</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 13 199 18 20 174 11 233 181 201 173 238</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_lowspeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_lowspeed.r79</file>
+ <file> 103</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 120</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file> 14 57 24 17 47 177</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 24 17 47 177</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_output.r79</file>
+ <file> 165</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 169</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file> 74 11 233 206 181 201 173 238 178 14 57 66 64 5 175</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 233 181 201 173 238 178 14 57 66 64 5 175</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_sound.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_sound.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_sound.r79</file>
+ <file> 166</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 132</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file> 41 11 233 206 181 201 173 238 174 14 57 35 13 34 184</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 41 11 233 181 201 173 238 174 14 57 35 13 34 184</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_timer.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_timer.r79</file>
+ <file> 188</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 187</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file> 74 11 233 206 181 201 173 238 174 43 65 26 28 41 61 237 200 16 50 14 57 60 19 38 49 195 175 13 15 35 17 66 199 239 33 24 70 62 9 191 71 73 63 180 59 204 39 196 183 79 23 205 203 194 67 197 8 58 190 3 176 46 31 236 12 202 198 27 36 42 40 108 44 21 45 25 213 75 30 78</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 233 181 201 173 238 174 43 65 26 28 41 61 237 200 16 50 14 57 60 19 38 49 195 175 13 15 35 17 66 199 239 33 24 70 62 9 191 71 73 63 180 59 204 39 196 183 79 23 205 203 194 67 197 8 58 190 3 176 46 31 236 12 202 198 27 36 42 40 108 44 21 45 25 213 75 30 78</file>
</tool>
</inputs>
</file>
+ </configuration>
+ <configuration>
+ <name>Flash Debug</name>
+ <outputs>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_12.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_9.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\yvals.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
+ <file>$TOOLKIT_DIR$\inc\time.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_3.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
+ <file>$TOOLKIT_DIR$\inc\xtls.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Ui.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_15.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Info.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
+ <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
+ <file>$TOOLKIT_DIR$\inc\ctype.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_14.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
+ <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
+ <file>$PROJ_DIR$\..\..\Source\modules.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_10.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Wait.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
+ <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Port.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_7.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Cursor.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
+ <file>$TOOLKIT_DIR$\inc\stdio.h</file>
+ <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_2.txt</file>
+ <file>$PROJ_DIR$\..\Object\d_hispeed.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file>$TOOLKIT_DIR$\inc\limits.h</file>
+ <file>$PROJ_DIR$\..\Object\d_display.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_display.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_input.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_usb.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_cmd.pbi</file>
+ <file>$PROJ_DIR$\..\Object\m_sched.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_button.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
+ <file>$PROJ_DIR$\at91SAM7S256_Remap.xcl</file>
+ <file>$PROJ_DIR$\..\Object\c_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_led.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_lowspeed.r79</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_timer.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu03.rms</file>
+ <file>$PROJ_DIR$\..\Object\d_bt.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_led.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_input.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file>$PROJ_DIR$\..\Object\d_hispeed.pbi</file>
+ <file>$TOOLKIT_DIR$\inc\ymath.h</file>
+ <file>$PROJ_DIR$\..\Object\c_lowspeed.pbi</file>
+ <file>$TOOLKIT_DIR$\inc\math.h</file>
+ <file>$PROJ_DIR$\..\Object\c_display.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound_adpcm.r</file>
+ <file>$PROJ_DIR$\..\Object\c_cmd.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_sound.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_output.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_sound.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_loader.r79</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.d79</file>
+ <file>$PROJ_DIR$\..\Object\c_button.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_loader.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_output.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.map</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.c</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup_SAM7.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_ioctrl.r79</file>
+ <file>$PROJ_DIR$\..\Object\m_sched.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_timer.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_sound.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_comm.r79</file>
+ <file>$PROJ_DIR$\..\Lib\dl4tptinl8n.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_display.pbi</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.pbd</file>
+ <file>$PROJ_DIR$\..\Object\c_comm.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_input.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_loader.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_button.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_ioctrl.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_input.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file>$PROJ_DIR$\..\Object\c_output.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_sound.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_loader.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_bt.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.c</file>
+ <file>$PROJ_DIR$\..\Object\c_output.pbi</file>
+ <file>$PROJ_DIR$\..\Object\d_usb.r79</file>
+ <file>$PROJ_DIR$\..\Object\Cstartup.r79</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
+ <file>$TOOLKIT_DIR$\inc\string.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_13.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\stdbool.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file>$PROJ_DIR$\..\..\Source\Ok.txt</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.c</file>
+ <file>$PROJ_DIR$\..\Object\c_ui.pbi</file>
+ <file>$PROJ_DIR$\..\Object\c_ui.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_button.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_net.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_hispeed.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_hispeed.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.c</file>
+ <file>$PROJ_DIR$\..\Object\c_net.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_net.c</file>
+ <file>$PROJ_DIR$\..\Object\c_avrcomm.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_hispeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.r</file>
+ <file>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\Object\d_motor.r79</file>
+ <file>$PROJ_DIR$\..\Object\d_net.r79</file>
+ <file>$PROJ_DIR$\..\Include\Board.h</file>
+ <file>$PROJ_DIR$\..\Object\c_motor.r79</file>
+ <file>$PROJ_DIR$\..\..\include\AT91SAM7S64_inc.h</file>
+ <file>$PROJ_DIR$\..\Object\c_bt.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_usb.r79</file>
+ <file>$PROJ_DIR$\..\..\include\AT91SAM7S64.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.c</file>
+ <file>$PROJ_DIR$\SrcIAR\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Object\LMS_ARM.sim</file>
+ <file>$PROJ_DIR$\..\..\Source\c_bt.c</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
+ <file>$PROJ_DIR$\..\..\Source\main.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_net.h</file>
+ <file>$PROJ_DIR$\..\Object\d_avrcomm.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\d_net.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_avrcomm.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_avrcomm.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_usb.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_net.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_bt.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_usb.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_avrcomm.c</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S64.h</file>
+ <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_avrcomm.h</file>
+ <file>$PROJ_DIR$\..\Include\lib_AT91SAM7S64.h</file>
+ <file>$PROJ_DIR$\Flash_Debug\Obj\main.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_avrcomm.c</file>
+ <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79</file>
+ <file>$PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
+ <file>$PROJ_DIR$\SrcIAR\Board.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.iom</file>
+ <file>$PROJ_DIR$\..\src\main.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_usb.c</file>
+ <file>$PROJ_DIR$\..\Object\c_hispeed.r79</file>
+ <file>$PROJ_DIR$\..\Object\main.r79</file>
+ <file>$PROJ_DIR$\..\Object\c_sensor.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\c_bt.iom</file>
+ <file>$PROJ_DIR$\..\Object\d_sensor.r79</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_11.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Step.txt</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_6.txt</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Icons.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_8.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Connections.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
+ <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Devices.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_5.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Fail.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_4.txt</file>
+ <file>$PROJ_DIR$\..\Lib\dl4tptinl8n.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.c</file>
+ <file>$PROJ_DIR$\..\..\Source\Functions.inl</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.c</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_drawing.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_16.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
+ <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
+ </outputs>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 111</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 89</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 272 66 17 13 60 35 15 151 33 24 38 49 228 6 48 56 74 11 266 239 157 234 149 271 150 41 107 105 84 268</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 272 66 17 13 60 35 15 151 33 24 38 49 228 6 48 56 74 11 266 157 234 149 271 150 41 107 105 84 268</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>[ROOT_NODE]</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 116 121 185</file>
+ </tool>
+ </outputs>
+ </file>
<file>
<name>$PROJ_DIR$\..\..\Source\d_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_led.r79</file>
+ <file> 95</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file> 14 38 49 228 103 140</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\m_sched.c</name>
+ <name>$PROJ_DIR$\..\Object\LMS_ARM.d79</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 121 185</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 93 148 97 136 111 129 108 138 137 115 94 141 142 163 100 164 86 80 87 124 135 96 113 128 126 147 90 130</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\m_sched.r79</file>
+ <file> 101</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file> 14 57 92 120 103</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
+ <name>$PROJ_DIR$\..\Object\LMS_ARM.pbd</name>
+ <inputs>
+ <tool>
+ <name>BILINK</name>
+ <file> 123 117 89 133 131 134 127 118 106 146 114 162 144 91 85 104 102 139 143 109 119 112 98 88 125</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_motor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_cmd.r79</file>
+ <file> 175</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
- <file>$TOOLKIT_DIR$\inc\stdio.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd_drawing.inc</file>
+ <file> 14 38 49 187 209 212</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\src\main.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\Flash_Debug\Obj\main.r79</file>
+ <file> 129</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 133</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\SrcIAR\Board.h</file>
- <file>$PROJ_DIR$\..\..\include\AT91SAM7S64.h</file>
- <file>$PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h</file>
+ <file> 14 57 33 13 232 60 272 151 69 77 10 29 150 11 266 239 157 234 149 271 43 65 26 28 41 61 270 233 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 33 13 232 60 272 151 69 77 10 29 150 11 266 157 234 149 271 43 65 26 28 41 61 270 233 16 50</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_avrcomm.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_net.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 176</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 187 197 192</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_motor.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 178</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 196 189 209</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_net.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 169</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 190 197</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_hispeed.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 218</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 167 166 10</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 202</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 210 182 208</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_sensor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_avrcomm.r79</file>
+ <file> 220</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_avrcomm.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_avrcomm.h</file>
+ <file> 14 57 215 211 214</file>
</tool>
</inputs>
</file>
@@ -1523,126 +2440,103 @@
<outputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79</file>
+ <file> 207</file>
</tool>
</outputs>
<inputs>
<tool>
<name>AARM</name>
- <file>$PROJ_DIR$\..\..\include\AT91SAM7S64_inc.h</file>
+ <file> 179</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\main.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_bt.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\main.r79</file>
+ <file> 180</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Include\Board.h</file>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S64.h</file>
- <file>$PROJ_DIR$\..\Include\lib_AT91SAM7S64.h</file>
+ <file> 14 57 221 198 29 272</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_hispeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\main.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_hispeed.r79</file>
+ <file> 219</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_hispeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
+ <file> 177 201 204</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_net.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_avrcomm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_net.r79</file>
+ <file> 191</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_net.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_net.r</file>
+ <file> 14 38 49 187 193 194</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_avrcomm.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_avrcomm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_avrcomm.r79</file>
+ <file> 171</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_avrcomm.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_avrcomm.r</file>
+ <file> 14 203 193</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_sensor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79</file>
+ <file> 222</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\SrcIAR\Board.h</file>
- <file>$PROJ_DIR$\..\..\include\AT91SAM7S64.h</file>
- <file>$PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h</file>
+ <file> 14 38 49 187 214 173</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_bt.c</name>
+ <name>$PROJ_DIR$\..\src\main.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_bt.r79</file>
+ <file> 205</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_bt.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_bt.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
+ <file> 210 182 208</file>
</tool>
</inputs>
</file>
@@ -1651,221 +2545,373 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_usb.r79</file>
+ <file> 181</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_usb.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
+ <file> 14 57 199 195 77</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_net.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_net.r79</file>
+ <file> 135</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 143</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_net.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_net.h</file>
+ <file> 14 57 38 49 228 18 68 150 11 266 239 157 234 149 271 43 65 26 28 41 61 270 233 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 228 18 68 150 11 266 157 234 149 271 43 65 26 28 41 61 270 233 16 50</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_motor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_lowspeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_motor.r79</file>
+ <file> 96</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 109</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_motor.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_motor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
+ <file> 14 38 49 228 153 81</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 153 81</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\Flash_Debug\Exe\Basic.d79</name>
+ <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 113</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 119</file>
+ </tool>
+ </outputs>
<inputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\at91SAM7S64_NoRemap.xcl</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\main.r79</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
+ <name>ICCARM</name>
+ <file> 14 38 49 228 5 37</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 5 37</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_sensor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_sound.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_sensor.r79</file>
+ <file> 128</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 112</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sensor.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sensor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
+ <file> 14 38 49 228 160 267 110</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 160 267 110</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_motor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_timer.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_motor.r79</file>
+ <file> 126</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 98</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.r</file>
+ <file> 14 38 49 228 56 55</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 56 55</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_sensor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\d_sensor.r79</file>
+ <file> 147</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 88</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.r</file>
+ <file> 14 38 49 228 77 53</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 77 53</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\Flash_Debug\Exe\LMS_ARM.d79</name>
+ <name>$PROJ_DIR$\..\..\Source\m_sched.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 90</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 125</file>
+ </tool>
+ </outputs>
<inputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\at91SAM7S64_NoRemap.xcl</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79</file>
- <file>$PROJ_DIR$\Flash_Debug\Obj\main.r79</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
+ <name>ICCARM</name>
+ <file> 14 57 38 49 228 158 69 54 17 72 15 20 34 1 47 64 6 48 272 226 19</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 228 158 69 54 17 72 15 20 34 1 47 64 6 48 272 226 19</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Object\c_comm.r79</file>
+ <file> 136</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 117</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$TOOLKIT_DIR$\inc\string.h</file>
- <file>$TOOLKIT_DIR$\inc\yvals.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
- <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
- <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
- <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
- <file>$TOOLKIT_DIR$\inc\ctype.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
- <file>$TOOLKIT_DIR$\inc\xtls.h</file>
- <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
- <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
- <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
- <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
- <file>$TOOLKIT_DIR$\inc\time.h</file>
- <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file> 14 57 72 15 7</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 72 15 7</file>
</tool>
</inputs>
</file>
- </configuration>
- <configuration>
- <name>RAM_Debug</name>
<file>
- <name>[ROOT_NODE]</name>
+ <name>$PROJ_DIR$\..\Include\Cstartup.s79</name>
<outputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\RAM_Debug\List\LMS_ARM.map</file>
- <file>$PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79</file>
+ <name>AARM</name>
+ <file> 148</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>AARM</name>
+ <file> 51</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\Include\sam7s256.c</name>
+ <name>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\sam7s256.r79</file>
+ <file> 97</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 123</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 225</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 225</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_led.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_bt.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 100</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 144</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 38 49 228 29 2 150 11 266 239 157 234 149 271</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 228 29 2 150 11 266 157 234 149 271</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 164</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 91</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 228 7 265</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 7 265</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 86</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 85</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 228 22 155</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 22 155</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 80</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 104</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 228 10 83</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 10 83</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_led.r79</file>
+ <file> 87</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 102</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file> 14 38 49 228 54 17 52 76</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 228 54 17 52 76</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 124</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 139</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 150 11 266 239 157 234 149 271 14 38 49 228 32 4</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 150 11 266 157 234 149 271 14 38 49 228 32 4</file>
</tool>
</inputs>
</file>
@@ -1874,17 +2920,44 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_display.r79</file>
+ <file> 108</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 131</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file> 150 11 266 239 157 234 149 271 14 57 151 1 22</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 150 11 266 157 234 149 271 14 57 151 1 22</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 138</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 134</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 54 17 52 66 13 150 11 266 239 157 234 149 271</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 54 17 52 66 13 150 11 266 157 234 149 271</file>
</tool>
</inputs>
</file>
@@ -1893,17 +2966,21 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79</file>
+ <file> 137</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 127</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file> 14 57 232 226 32</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 232 226 32</file>
</tool>
</inputs>
</file>
@@ -1912,16 +2989,21 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_loader.r79</file>
+ <file> 115</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 118</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file> 14 57 13 232 18 20 150 11 266 239 157 234 149 271</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 13 232 18 20 150 11 266 157 234 149 271</file>
</tool>
</inputs>
</file>
@@ -1930,17 +3012,44 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79</file>
+ <file> 94</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 106</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file> 14 57 24 17 47 153</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 24 17 47 153</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 141</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 146</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 74 11 266 239 157 234 149 271 154 14 57 66 64 5 151</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 266 157 234 149 271 154 14 57 66 64 5 151</file>
</tool>
</inputs>
</file>
@@ -1949,188 +3058,505 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_sound.r79</file>
+ <file> 142</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 114</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file> 41 11 266 239 157 234 149 271 150 14 57 35 13 34 160</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 41 11 266 157 234 149 271 150 14 57 35 13 34 160</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\Include\Cstartup.s79</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
<outputs>
<tool>
- <name>AARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79</file>
+ <name>ICCARM</name>
+ <file> 163</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 162</file>
</tool>
</outputs>
<inputs>
<tool>
- <name>AARM</name>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S64_inc.h</file>
+ <name>ICCARM</name>
+ <file> 74 11 266 239 157 234 149 271 150 43 65 26 28 41 61 270 233 16 50 14 57 60 19 38 49 228 151 13 15 35 17 66 232 272 33 24 70 62 9 224 71 73 63 156 59 237 39 229 159 79 23 238 236 227 67 230 8 58 223 3 152 46 31 269 12 235 231 27 36 42 40 99 44 21 45 25 246 75 30 78</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 266 157 234 149 271 150 43 65 26 28 41 61 270 233 16 50 14 57 60 19 38 49 228 151 13 15 35 17 66 232 272 33 24 70 62 9 71 73 63 156 59 237 39 229 12 235 231 27 36 42 40 99 44 21 45 25 246 75 30 78</file>
</tool>
</inputs>
</file>
+ </configuration>
+ <configuration>
+ <name>RAM_Debug</name>
+ <outputs>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_12.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_9.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Font.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\yvals.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Status.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
+ <file>$TOOLKIT_DIR$\inc\time.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu05.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_3.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu07.rms</file>
+ <file>$TOOLKIT_DIR$\inc\xtls.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Ui.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xmtx.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_15.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Mainmenu.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.r</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Info.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu02.rms</file>
+ <file>$TOOLKIT_DIR$\inc\stdlib.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu01.rms</file>
+ <file>$TOOLKIT_DIR$\inc\ctype.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu04.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu06.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_14.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
+ <file>$TOOLKIT_DIR$\inc\wchar.h</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256_inc.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
+ <file>$PROJ_DIR$\..\..\Source\modules.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_10.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Wait.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.iom</file>
+ <file>$TOOLKIT_DIR$\inc\xlocaleuse.h</file>
+ <file>$PROJ_DIR$\..\..\Source\LowBattery.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Port.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.h</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_7.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Display.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Cursor.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Running.txt</file>
+ <file>$TOOLKIT_DIR$\inc\stdio.h</file>
+ <file>$PROJ_DIR$\..\..\Source\BtTest.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Test2.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_2.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file>$TOOLKIT_DIR$\inc\limits.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\Submenu03.rms</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
+ <file>$TOOLKIT_DIR$\inc\ymath.h</file>
+ <file>$TOOLKIT_DIR$\inc\math.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound_adpcm.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_led.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.c</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Threads.h</file>
+ <file>$TOOLKIT_DIR$\inc\string.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_13.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
+ <file>$TOOLKIT_DIR$\inc\stdbool.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file>$PROJ_DIR$\..\..\Source\Ok.txt</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Product.h</file>
+ <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_1.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_comm.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.r</file>
+ <file>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.c</file>
+ <file>$PROJ_DIR$\SrcIAR\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
+ <file>$PROJ_DIR$\..\..\Source\main.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_motor.iom</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_motor.r</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sensor.iom</file>
+ <file>$PROJ_DIR$\..\src\main.c</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_display.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_output.pbi</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_11.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Step.txt</file>
+ <file>$PROJ_DIR$\..\Include\AT91SAM7S256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_6.txt</file>
+ <file>$PROJ_DIR$\..\Include\ioat91sam7s256.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Icons.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_8.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Connections.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.iom</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_loader.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_hispeed.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_motor.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_sound.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_bt.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_motor.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_timer.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_loader.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_output.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\main.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_usb.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_input.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_sound.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_comm.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_button.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_comm.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_bt.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_display.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_sound.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_output.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\m_sched.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_led.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_sound.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_timer.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_button.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_ui.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_loader.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_input.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_loader.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_display.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_usb.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_output.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_cmd.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_cmd.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\sam7s256.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_input.pbi</file>
+ <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.h</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_led.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_ui.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_button.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_input.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_display.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_button.r79</file>
+ <file>$PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79</file>
+ <file>$TOOLKIT_DIR$\inc\xtinfo.h</file>
+ <file>$TOOLKIT_DIR$\inc\xencoding_limits.h</file>
+ <file>$PROJ_DIR$\..\..\Source\Devices.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_5.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\Fail.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_4.txt</file>
+ <file>$PROJ_DIR$\..\..\Source\d_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_timer.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_usb.c</file>
+ <file>$PROJ_DIR$\..\..\Source\Functions.inl</file>
+ <file>$PROJ_DIR$\..\..\Source\m_sched.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_button.c</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup.s79</file>
+ <file>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_bt.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_hispeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_display.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_input.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ioctrl.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_loader.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_lowspeed.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_output.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_sound.c</file>
+ <file>$PROJ_DIR$\..\..\Source\c_ui.c</file>
+ <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file>$TOOLKIT_DIR$\inc\DLib_Defaults.h</file>
+ <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd_drawing.inc</file>
+ <file>$PROJ_DIR$\..\..\Source\RCXintro_16.txt</file>
+ <file>$TOOLKIT_DIR$\inc\xlocale_c.h</file>
+ <file>$TOOLKIT_DIR$\inc\ysizet.h</file>
+ <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
+ </outputs>
<file>
- <name>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79</file>
+ <file> 174</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 175</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\Include\Board.h</file>
- <file>$PROJ_DIR$\..\Include\AT91SAM7S64.h</file>
- <file>$PROJ_DIR$\..\Include\lib_AT91SAM7S64.h</file>
+ <file> 14 57 233 66 17 13 60 35 15 96 33 24 38 49 130 6 48 56 74 11 227 181 102 196 94 232 95 41 88 87 83 229</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 233 66 17 13 60 35 15 96 33 24 38 49 130 6 48 56 74 11 227 102 196 94 232 95 41 88 87 83 229</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_bt.c</name>
+ <name>[ROOT_NODE]</name>
+ <outputs>
+ <tool>
+ <name>XLINK</name>
+ <file> 170</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_bt.r79</file>
+ <file> 162</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.r</file>
+ <file> 14 38 49 112 86 92</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_led.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_usb.r79</file>
+ <file> 182</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.r</file>
+ <file> 14 57 84 90 86</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_motor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_button.r79</file>
+ <file> 143</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.r</file>
+ <file> 14 38 49 112 116 118</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
+ <name>$PROJ_DIR$\..\Include\sam7s256.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 179</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_display.r79</file>
+ <file> 152</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 154</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_display.r</file>
+ <file> 14 57 33 13 134 60 233 96 69 77 10 29 95 11 227 181 102 196 94 232 43 65 26 28 41 61 231 195 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 33 13 134 60 233 96 69 77 10 29 95 11 227 102 196 94 232 43 65 26 28 41 61 231 195 16 50</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_motor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79</file>
+ <file> 138</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.r</file>
+ <file> 14 57 115 114 116</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
+ <name>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_button.r79</file>
+ <file> 148</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_sensor.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 139</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.iom</file>
- <file>$PROJ_DIR$\..\..\Source\d_button.h</file>
+ <file> 14 57 121 117 120</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
+ <name>$PROJ_DIR$\SrcIAR\Cstartup.s79</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 185</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\main.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 147</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_sensor.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79</file>
+ <file> 194</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_ioctrl.r</file>
+ <file> 14 38 49 112 120 108</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\src\main.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 147</file>
+ </tool>
+ </outputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd</name>
+ <inputs>
+ <tool>
+ <name>BILINK</name>
+ <file> 191 186 175 154 188 180 190 136 178 124 158 184 155 153 171 137 150 142 145 176 173 163 144 149 189</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_loader.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 167</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 145</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 38 49 130 18 68 95 11 227 181 102 196 94 232 43 65 26 28 41 61 231 195 16 50</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 130 18 68 95 11 227 102 196 94 232 43 65 26 28 41 61 231 195 16 50</file>
</tool>
</inputs>
</file>
@@ -2139,18 +3565,44 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.r79</file>
+ <file> 183</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 176</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_lowspeed.r</file>
+ <file> 14 38 49 130 98 80</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 98 80</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\d_output.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 146</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 173</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 130 5 37</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 5 37</file>
</tool>
</inputs>
</file>
@@ -2159,18 +3611,21 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_sound.r79</file>
+ <file> 151</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 163</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sound.r</file>
+ <file> 14 38 49 130 105 228 89</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 105 228 89</file>
</tool>
</inputs>
</file>
@@ -2179,38 +3634,44 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_timer.r79</file>
+ <file> 164</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 144</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.r</file>
+ <file> 14 38 49 130 56 55</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 56 55</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_led.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_usb.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_led.r79</file>
+ <file> 172</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 149</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_led.r</file>
+ <file> 14 38 49 130 77 53</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 77 53</file>
</tool>
</inputs>
</file>
@@ -2219,227 +3680,404 @@
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\m_sched.r79</file>
+ <file> 160</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 189</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.c</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sensor.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_button.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_loader.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sound.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_display.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_lowspeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_motor.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_ioctrl.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.h</file>
+ <file> 14 57 38 49 130 103 69 54 17 72 15 20 34 1 47 64 6 48 233 128 19</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 130 103 69 54 17 72 15 20 34 1 47 64 6 48 233 128 19</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_cmd.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_cmd.r79</file>
+ <file> 165</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 186</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_led.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_cmd.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_timer.h</file>
+ <file> 14 57 72 15 7</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 72 15 7</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\src\main.c</name>
+ <name>$PROJ_DIR$\..\Include\Cstartup.s79</name>
+ <outputs>
+ <tool>
+ <name>AARM</name>
+ <file> 185</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>AARM</name>
+ <file> 51</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\Include\Cstartup_SAM7.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\main.r79</file>
+ <file> 148</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 191</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 127</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 127</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\SrcIAR\Cstartup.s79</name>
+ <name>$PROJ_DIR$\..\..\Source\d_bt.c</name>
<outputs>
<tool>
- <name>AARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79</file>
+ <name>ICCARM</name>
+ <file> 141</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 155</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 38 49 130 29 2 95 11 227 181 102 196 94 232</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 38 49 130 29 2 95 11 227 102 196 94 232</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\main.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_button.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\main.r79</file>
+ <file> 193</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 153</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 130 7 226</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 7 226</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\SrcIAR\Cstartup_SAM7.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79</file>
+ <file> 157</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 171</file>
</tool>
</outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 38 49 130 22 100</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 22 100</file>
+ </tool>
+ </inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_motor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_hispeed.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_motor.r79</file>
+ <file> 156</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 137</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_motor.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_motor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
+ <file> 14 38 49 130 10 82</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 10 82</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_sensor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_input.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79</file>
+ <file> 168</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 150</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_sensor.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_sensor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
+ <file> 14 38 49 130 54 17 52 76</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 38 49 130 54 17 52 76</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_motor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\d_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_motor.r79</file>
+ <file> 161</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 142</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_motor.r</file>
+ <file> 95 11 227 181 102 196 94 232 14 38 49 130 32 4</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 95 11 227 102 196 94 232 14 38 49 130 32 4</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\d_sensor.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_display.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79</file>
+ <file> 123</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 188</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\m_sched.h</file>
- <file>$PROJ_DIR$\..\Include\sam7s256.h</file>
- <file>$PROJ_DIR$\..\Include\ioat91sam7s64.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_sensor.r</file>
+ <file> 95 11 227 181 102 196 94 232 14 57 96 1 22</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 95 11 227 102 196 94 232 14 57 96 1 22</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79</name>
+ <name>$PROJ_DIR$\..\..\Source\c_input.c</name>
<outputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\RAM_Debug\List\LMS_ARM.map</file>
+ <name>ICCARM</name>
+ <file> 187</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 180</file>
</tool>
</outputs>
<inputs>
<tool>
- <name>XLINK</name>
- <file>$PROJ_DIR$\at91SAM7S64_16KRAM.xcl</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_button.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_cmd.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_comm.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_display.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_led.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_loader.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_motor.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_sound.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_bt.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_button.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_display.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_led.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_motor.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_sound.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_timer.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\d_usb.r79</file>
- <file>$PROJ_DIR$\RAM_Debug\Obj\m_sched.r79</file>
- <file>$TOOLKIT_DIR$\lib\dl4tptinl8n.r79</file>
+ <name>ICCARM</name>
+ <file> 14 57 54 17 52 66 13 95 11 227 181 102 196 94 232</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 54 17 52 66 13 95 11 227 102 196 94 232</file>
</tool>
</inputs>
</file>
<file>
- <name>$PROJ_DIR$\..\..\Source\c_comm.c</name>
+ <name>$PROJ_DIR$\..\..\Source\c_ioctrl.c</name>
<outputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\RAM_Debug\Obj\c_comm.r79</file>
+ <file> 135</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 190</file>
</tool>
</outputs>
<inputs>
<tool>
<name>ICCARM</name>
- <file>$PROJ_DIR$\..\..\Source\stdconst.h</file>
- <file>$PROJ_DIR$\..\..\Source\modules.h</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.iom</file>
- <file>$PROJ_DIR$\..\..\Source\c_comm.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_usb.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_hispeed.h</file>
- <file>$PROJ_DIR$\..\..\Source\d_bt.h</file>
+ <file> 14 57 134 128 32</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 134 128 32</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_loader.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 169</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 136</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 13 134 18 20 95 11 227 181 102 196 94 232</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 13 134 18 20 95 11 227 102 196 94 232</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_lowspeed.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 177</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 178</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 14 57 24 17 47 98</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 14 57 24 17 47 98</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_output.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 159</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 124</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 74 11 227 181 102 196 94 232 99 14 57 66 64 5 96</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 227 102 196 94 232 99 14 57 66 64 5 96</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_sound.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 140</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 158</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 41 11 227 181 102 196 94 232 95 14 57 35 13 34 105</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 41 11 227 102 196 94 232 95 14 57 35 13 34 105</file>
+ </tool>
+ </inputs>
+ </file>
+ <file>
+ <name>$PROJ_DIR$\..\..\Source\c_ui.c</name>
+ <outputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 166</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 184</file>
+ </tool>
+ </outputs>
+ <inputs>
+ <tool>
+ <name>ICCARM</name>
+ <file> 74 11 227 181 102 196 94 232 95 43 65 26 28 41 61 231 195 16 50 14 57 60 19 38 49 130 96 13 15 35 17 66 134 233 33 24 70 62 9 126 71 73 63 101 59 199 39 131 104 79 23 200 198 129 67 132 8 58 125 3 97 46 31 230 12 197 133 27 36 42 40 85 44 21 45 25 207 75 30 78</file>
+ </tool>
+ <tool>
+ <name>BICOMP</name>
+ <file> 74 11 227 102 196 94 232 95 43 65 26 28 41 61 231 195 16 50 14 57 60 19 38 49 130 96 13 15 35 17 66 134 233 33 24 70 62 9 126 71 73 63 101 59 199 39 131 104 79 23 200 198 129 67 132 8 58 125 3 97 46 31 230 12 197 133 27 36 42 40 85 44 21 45 25 207 75 30 78</file>
</tool>
</inputs>
</file>
diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewd b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewd
index edb35bb..51f3c07 100644
--- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewd
+++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewd
@@ -12,7 +12,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>12</version>
+ <version>13</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -80,22 +80,6 @@
<state>0</state>
</option>
<option>
- <name>OCDownloadFlashDownload</name>
- <state>0</state>
- </option>
- <option>
- <name>OCDownloadFlashOverride</name>
- <state>0</state>
- </option>
- <option>
- <name>OCDownloadFlashLoader</name>
- <state>$TOOLKIT_DIR$\config\flashloader\Atmel\FlashAT91SAM7Sx.d79</state>
- </option>
- <option>
- <name>OCDownloadFlashLoaderSlave</name>
- <state></state>
- </option>
- <option>
<name>OCProductVersion</name>
<state>4.10B</state>
</option>
@@ -108,19 +92,15 @@
<state>4.11B</state>
</option>
<option>
- <name>OCDownloadFlashLoaderArgs</name>
- <state></state>
- </option>
- <option>
- <name>OCDownloadFlashBaseAddrOverride</name>
+ <name>OCDownloadAttachToProgram</name>
<state>0</state>
</option>
<option>
- <name>OCDownloadFlashBaseAddr</name>
- <state></state>
+ <name>FlashLoaders</name>
+ <state>,,,,(default),</state>
</option>
<option>
- <name>OCDownloadAttachToProgram</name>
+ <name>UseFlashLoader</name>
<state>0</state>
</option>
</data>
@@ -220,7 +200,7 @@
<name>JLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>6</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -228,44 +208,146 @@
<state>30</state>
</option>
<option>
- <name>CCJLinkHWReset</name>
+ <name>CCJLinkDoLogfile</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkTRSTReset</name>
- <state>0</state>
+ <name>CCJLinkLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>32</state>
</option>
<option>
<name>CCDoJlinkMultiTarget</name>
<state>0</state>
</option>
<option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
<name>CCJLinkMultiTarget</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkDoLogfile</name>
+ <name>CCJLinkIRLength</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkLogFile</name>
- <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
</option>
<option>
- <name>CCJLinkHWResetDelay</name>
- <state></state>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkResetRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCJLinkResetInitSeq</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
</option>
<option>
- <name>CCJLinkSpeedRadio</name>
+ <name>CCRDICatchFIQ</name>
<state>0</state>
</option>
<option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
- <name>JLinkInitialSpeed</name>
- <state>32</state>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiResetRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiftdiBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiUpdateBreakpoints</name>
+ <state>main</state>
</option>
</data>
</settings>
@@ -273,7 +355,7 @@
<name>MACRAIGOR_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -336,6 +418,18 @@
<name>CCMacraigorHWResetDelay</name>
<state></state>
</option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
</data>
</settings>
<settings>
@@ -430,11 +524,15 @@
<loadFlag>1</loadFlag>
</plugin>
<plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
- <file>$EW_DIR$\common\plugins\Trace\Trace.ewplugin</file>
+ <file>$EW_DIR$\common\plugins\Stack\Stack.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@@ -446,9 +544,25 @@
<loadFlag>0</loadFlag>
</plugin>
<plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
</debuggerPlugins>
</configuration>
<configuration>
@@ -461,7 +575,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>12</version>
+ <version>13</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -529,22 +643,6 @@
<state>0</state>
</option>
<option>
- <name>OCDownloadFlashDownload</name>
- <state>1</state>
- </option>
- <option>
- <name>OCDownloadFlashOverride</name>
- <state>0</state>
- </option>
- <option>
- <name>OCDownloadFlashLoader</name>
- <state>$TOOLKIT_DIR$\config\flashloader\Atmel\FlashAT91SAM7Sxx.d79</state>
- </option>
- <option>
- <name>OCDownloadFlashLoaderSlave</name>
- <state></state>
- </option>
- <option>
<name>OCProductVersion</name>
<state>4.10B</state>
</option>
@@ -557,20 +655,16 @@
<state>4.20A</state>
</option>
<option>
- <name>OCDownloadFlashLoaderArgs</name>
- <state></state>
- </option>
- <option>
- <name>OCDownloadFlashBaseAddrOverride</name>
- <state>1</state>
+ <name>OCDownloadAttachToProgram</name>
+ <state>0</state>
</option>
<option>
- <name>OCDownloadFlashBaseAddr</name>
- <state>0x00100000</state>
+ <name>FlashLoaders</name>
+ <state>,,,0x00100000,(default),</state>
</option>
<option>
- <name>OCDownloadAttachToProgram</name>
- <state>0</state>
+ <name>UseFlashLoader</name>
+ <state>1</state>
</option>
</data>
</settings>
@@ -669,7 +763,7 @@
<name>JLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>6</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -677,44 +771,146 @@
<state>30</state>
</option>
<option>
- <name>CCJLinkHWReset</name>
+ <name>CCJLinkDoLogfile</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkTRSTReset</name>
- <state>0</state>
+ <name>CCJLinkLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>32</state>
</option>
<option>
<name>CCDoJlinkMultiTarget</name>
<state>0</state>
</option>
<option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
<name>CCJLinkMultiTarget</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkDoLogfile</name>
+ <name>CCJLinkIRLength</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkLogFile</name>
- <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
</option>
<option>
- <name>CCJLinkHWResetDelay</name>
- <state></state>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkResetRadio</name>
+ <state>2</state>
</option>
<option>
- <name>CCJLinkSpeedRadio</name>
+ <name>CCJLinkResetInitSeq</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
<state>0</state>
</option>
<option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
- <name>JLinkInitialSpeed</name>
- <state>32</state>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiResetRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiftdiBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiUpdateBreakpoints</name>
+ <state>main</state>
</option>
</data>
</settings>
@@ -722,7 +918,7 @@
<name>MACRAIGOR_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>2</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -785,6 +981,18 @@
<name>CCMacraigorHWResetDelay</name>
<state></state>
</option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
</data>
</settings>
<settings>
@@ -879,11 +1087,15 @@
<loadFlag>1</loadFlag>
</plugin>
<plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
- <file>$EW_DIR$\common\plugins\Trace\Trace.ewplugin</file>
+ <file>$EW_DIR$\common\plugins\Stack\Stack.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@@ -895,9 +1107,25 @@
<loadFlag>0</loadFlag>
</plugin>
<plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
</debuggerPlugins>
</configuration>
<configuration>
@@ -910,7 +1138,7 @@
<name>C-SPY</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>12</version>
+ <version>13</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -978,49 +1206,592 @@
<state>0</state>
</option>
<option>
- <name>OCDownloadFlashDownload</name>
+ <name>OCProductVersion</name>
+ <state>4.10B</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>JLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>4.41A</state>
+ </option>
+ <option>
+ <name>OCDownloadAttachToProgram</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FlashLoaders</name>
+ <state>,,,0x00100000,(default),</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
<state>1</state>
</option>
+ </data>
+ </settings>
+ <settings>
+ <name>ARMSIM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
<option>
- <name>OCDownloadFlashOverride</name>
+ <name>OCSimDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ANGEL_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CCAngelHeartbeat</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CAngelCommunication</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CAngelCommBaud</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CAngelCommPort</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ANGELTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoAngelLogfile</name>
<state>0</state>
</option>
<option>
- <name>OCDownloadFlashLoader</name>
- <state>$TOOLKIT_DIR$\config\flashloader\Atmel\FlashAT91SAM7Sxx.d79</state>
+ <name>AngelLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
</option>
<option>
- <name>OCDownloadFlashLoaderSlave</name>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>IARROM_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CRomLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRomLogFileEditB</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CRomCommunication</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRomCommPort</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRomCommBaud</name>
+ <version>0</version>
+ <state>7</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>JLINK_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>6</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>JLinkSpeed</name>
+ <state>30</state>
+ </option>
+ <option>
+ <name>CCJLinkDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
<state></state>
</option>
<option>
- <name>OCProductVersion</name>
- <state>4.10B</state>
+ <name>OCDriverInfo</name>
+ <state>1</state>
</option>
<option>
- <name>OCDynDriverList</name>
- <state>JLINK_ID</state>
+ <name>JLinkInitialSpeed</name>
+ <state>32</state>
</option>
<option>
- <name>OCLastSavedByProductVersion</name>
- <state>4.20A</state>
+ <name>CCDoJlinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkIRLength</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkResetRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCJLinkResetInitSeq</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
</option>
<option>
- <name>OCDownloadFlashLoaderArgs</name>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiResetRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiftdiBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>MACRAIGOR_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>2</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>jtag</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuSpeed</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>TCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>DoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>LogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>DoEmuMultiTarget</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>EmuMultiTarget</name>
+ <state>0@ARM7TDMI</state>
+ </option>
+ <option>
+ <name>EmuHWReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CEmuCommBaud</name>
+ <version>0</version>
+ <state>4</state>
+ </option>
+ <option>
+ <name>CEmuCommPort</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>jtago</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>UnusedAddr</name>
+ <state>0x00800000</state>
+ </option>
+ <option>
+ <name>CCMacraigorHWResetDelay</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>RDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>1</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CRDIDriverDll</name>
+ <state>Browse to your RDI driver</state>
+ </option>
+ <option>
+ <name>CRDILogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CRDILogFileEdit</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCRDIHWReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDIUseETM</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>THIRDPARTY_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>CThirdPartyDriverDll</name>
+ <state>Browse to your third-party driver</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CThirdPartyLogFileEditB</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <debuggerPlugins>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$EW_DIR$\common\plugins\Stack\Stack.ewplugin</file>
+ <loadFlag>1</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ </debuggerPlugins>
+ </configuration>
+ <configuration>
+ <name>Benchmark</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>C-SPY</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>13</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CInput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OCVariant</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacFile</name>
+ <state>$PROJ_DIR$\SAM7.mac</state>
+ </option>
+ <option>
+ <name>MemOverride</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MemFile</name>
+ <state>$PROJ_DIR$\ioat91sam7s256.ddf</state>
+ </option>
+ <option>
+ <name>RunToEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RunToName</name>
+ <state>main</state>
+ </option>
+ <option>
+ <name>CExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CExtraOptions</name>
<state></state>
</option>
<option>
- <name>OCDownloadFlashBaseAddrOverride</name>
+ <name>CFpuProcessor</name>
<state>1</state>
</option>
<option>
- <name>OCDownloadFlashBaseAddr</name>
- <state>0x00100000</state>
+ <name>OCDDFArgumentProducer</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDownloadSuppressDownload</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCDownloadVerifyAll</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OCProductVersion</name>
+ <state>4.10B</state>
+ </option>
+ <option>
+ <name>OCDynDriverList</name>
+ <state>JLINK_ID</state>
+ </option>
+ <option>
+ <name>OCLastSavedByProductVersion</name>
+ <state>4.41A</state>
</option>
<option>
<name>OCDownloadAttachToProgram</name>
<state>0</state>
</option>
+ <option>
+ <name>FlashLoaders</name>
+ <state>,,,0x00100000,(default),</state>
+ </option>
+ <option>
+ <name>UseFlashLoader</name>
+ <state>1</state>
+ </option>
</data>
</settings>
<settings>
@@ -1029,7 +1800,7 @@
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>OCSimDriverInfo</name>
<state>1</state>
@@ -1042,7 +1813,7 @@
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>CCAngelHeartbeat</name>
<state>1</state>
@@ -1085,7 +1856,7 @@
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>CRomLogFileCheck</name>
<state>0</state>
@@ -1118,52 +1889,154 @@
<name>JLINK_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>6</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>JLinkSpeed</name>
<state>30</state>
</option>
<option>
- <name>CCJLinkHWReset</name>
+ <name>CCJLinkDoLogfile</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkTRSTReset</name>
- <state>0</state>
+ <name>CCJLinkLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCJLinkHWResetDelay</name>
+ <state></state>
+ </option>
+ <option>
+ <name>OCDriverInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>JLinkInitialSpeed</name>
+ <state>32</state>
</option>
<option>
<name>CCDoJlinkMultiTarget</name>
<state>0</state>
</option>
<option>
+ <name>CCScanChainNonARMDevices</name>
+ <state>0</state>
+ </option>
+ <option>
<name>CCJLinkMultiTarget</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkDoLogfile</name>
+ <name>CCJLinkIRLength</name>
<state>0</state>
</option>
<option>
- <name>CCJLinkLogFile</name>
- <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ <name>CCJLinkCommRadio</name>
+ <state>0</state>
</option>
<option>
- <name>CCJLinkHWResetDelay</name>
- <state></state>
+ <name>CCJLinkTCPIP</name>
+ <state>aaa.bbb.ccc.ddd</state>
+ </option>
+ <option>
+ <name>CCJLinkResetRadio</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>CCJLinkResetInitSeq</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkSpeedRadioV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCUSBDevice</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchReset</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchUndef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchSWI</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchData</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchPrefetch</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchIRQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCRDICatchFIQ</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJLinkBreakpointRadio</name>
+ <state>0</state>
</option>
<option>
- <name>CCJLinkSpeedRadio</name>
+ <name>CCJLinkDoUpdateBreakpoints</name>
<state>0</state>
</option>
<option>
+ <name>CCJLinkUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>LMIFTDI_ID</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
<name>OCDriverInfo</name>
<state>1</state>
</option>
<option>
- <name>JLinkInitialSpeed</name>
- <state>32</state>
+ <name>LmiftdiSpeed</name>
+ <state>500</state>
+ </option>
+ <option>
+ <name>CCLmiftdiResetRadio</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoLogfile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiLogFile</name>
+ <state>$TOOLKIT_DIR$\cspycomm.log</state>
+ </option>
+ <option>
+ <name>CCLmiftdiBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLmiftdiUpdateBreakpoints</name>
+ <state>main</state>
</option>
</data>
</settings>
@@ -1171,9 +2044,9 @@
<name>MACRAIGOR_ID</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>1</version>
+ <version>2</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>jtag</name>
<version>0</version>
@@ -1234,6 +2107,18 @@
<name>CCMacraigorHWResetDelay</name>
<state></state>
</option>
+ <option>
+ <name>CCJTagBreakpointRadio</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagDoUpdateBreakpoints</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCJTagUpdateBreakpoints</name>
+ <state>main</state>
+ </option>
</data>
</settings>
<settings>
@@ -1242,7 +2127,7 @@
<data>
<version>1</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>CRDIDriverDll</name>
<state>Browse to your RDI driver</state>
@@ -1303,7 +2188,7 @@
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>CThirdPartyDriverDll</name>
<state>Browse to your third-party driver</state>
@@ -1328,11 +2213,15 @@
<loadFlag>1</loadFlag>
</plugin>
<plugin>
+ <file>$EW_DIR$\common\plugins\Orti\Orti.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$EW_DIR$\common\plugins\Profiling\Profiling.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
- <file>$EW_DIR$\common\plugins\Trace\Trace.ewplugin</file>
+ <file>$EW_DIR$\common\plugins\Stack\Stack.ewplugin</file>
<loadFlag>1</loadFlag>
</plugin>
<plugin>
@@ -1344,9 +2233,25 @@
<loadFlag>0</loadFlag>
</plugin>
<plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
+ <plugin>
<file>$TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin</file>
<loadFlag>0</loadFlag>
</plugin>
+ <plugin>
+ <file>$TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin</file>
+ <loadFlag>0</loadFlag>
+ </plugin>
</debuggerPlugins>
</configuration>
</project>
diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp
index 9106c9f..c90d273 100644
--- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp
+++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp
@@ -12,7 +12,7 @@
<name>General</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>8</version>
+ <version>9</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -33,7 +33,7 @@
</option>
<option>
<name>Variant</name>
- <version>2</version>
+ <version>5</version>
<state>0</state>
</option>
<option>
@@ -80,10 +80,6 @@
<state>1</state>
</option>
<option>
- <name>OGChipSelect</name>
- <state>$TOOLKIT_DIR$\config\chip\Atmel\AT91SAM7S64.i79</state>
- </option>
- <option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>1</state>
@@ -126,22 +122,20 @@
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>AT91SAM7S64 Atmel AT91SAM7S64</state>
+ </option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>11</version>
+ <version>14</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
- <name>CCIncludePaths</name>
- <state>$TOOLKIT_DIR$\INC\</state>
- <state>$PROJ_DIR$\srciar\</state>
- <state>$PROJ_DIR$\..\..\</state>
- </option>
- <option>
<name>CCDefines</name>
<state>ESS</state>
</option>
@@ -216,10 +210,6 @@
<state>1111111</state>
</option>
<option>
- <name>CCMakeLibraryModule</name>
- <state>0</state>
- </option>
- <option>
<name>CCObjUseModuleName</name>
<state>0</state>
</option>
@@ -329,13 +319,43 @@
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleTypeCmdlineProducer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\srciar\</state>
+ <state>$PROJ_DIR$\..\..\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>CCInlineThreshold</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>5</version>
+ <version>7</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -380,10 +400,6 @@
<state>1</state>
</option>
<option>
- <name>MakeLibrary</name>
- <state>0</state>
- </option>
- <option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
@@ -456,67 +472,50 @@
<state>0</state>
</option>
<option>
- <name>UndefAsm</name>
+ <name>AProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefFile</name>
+ <name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefLine</name>
- <state>1</state>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.r79</state>
</option>
<option>
- <name>UndefTime</name>
- <state>1</state>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
</option>
<option>
- <name>UndefDate</name>
- <state>1</state>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
</option>
<option>
- <name>UndefTid</name>
- <state>1</state>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
</option>
<option>
- <name>UndefVer</name>
- <state>1</state>
+ <name>AIgnoreStdInclude</name>
+ <state>0</state>
</option>
<option>
- <name>AIncludes</name>
+ <name>AStdIncludes</name>
<state>$TOOLKIT_DIR$\INC\</state>
- <state>$PROJ_DIR$\srciar\</state>
- <state>$PROJ_DIR$\..\..\include\</state>
</option>
<option>
- <name>AProcessor</name>
- <state>1</state>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\srciar\</state>
+ <state>$PROJ_DIR$\..\..\include\</state>
</option>
<option>
- <name>AExtraOptionsCheck</name>
+ <name>AExtraOptionsCheckV2</name>
<state>0</state>
</option>
<option>
- <name>AExtraOptions</name>
+ <name>AExtraOptionsV2</name>
<state></state>
</option>
- <option>
- <name>AFpuProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>UndefLittleEndian</name>
- <state>1</state>
- </option>
- <option>
- <name>AOutputFile</name>
- <state>$FILE_BNAME$.r79</state>
- </option>
- <option>
- <name>AMultibyteSupport</name>
- <state>0</state>
- </option>
</data>
</settings>
<settings>
@@ -544,7 +543,7 @@
<name>XLINK</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>17</version>
+ <version>18</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -557,13 +556,13 @@
</option>
<option>
<name>OutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>16</state>
</option>
<option>
<name>FormatVariant</name>
- <version>6</version>
- <state>15</state>
+ <version>8</version>
+ <state>17</state>
</option>
<option>
<name>SecondaryOutputFile</name>
@@ -743,12 +742,12 @@
</option>
<option>
<name>ExtraOutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>23</state>
</option>
<option>
<name>ExtraFormatVariant</name>
- <version>6</version>
+ <version>8</version>
<state>2</state>
</option>
<option>
@@ -791,6 +790,14 @@
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
</data>
</settings>
<settings>
@@ -830,7 +837,7 @@
<name>General</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>8</version>
+ <version>9</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -851,7 +858,7 @@
</option>
<option>
<name>Variant</name>
- <version>2</version>
+ <version>5</version>
<state>0</state>
</option>
<option>
@@ -898,10 +905,6 @@
<state>1</state>
</option>
<option>
- <name>OGChipSelect</name>
- <state>$PROJ_DIR$\AT91SAM7S256.i79</state>
- </option>
- <option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>3</state>
@@ -929,7 +932,7 @@
</option>
<option>
<name>OGLastSavedByProductVersion</name>
- <state>4.20A</state>
+ <state>4.41A</state>
</option>
<option>
<name>GeneralMisraRules</name>
@@ -944,21 +947,20 @@
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>AT91SAM7S256 Atmel AT91SAM7S256</state>
+ </option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>11</version>
+ <version>14</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
- <name>CCIncludePaths</name>
- <state>$PROJ_DIR$\..\..\</state>
- <state>$PROJ_DIR$\..\Include\</state>
- </option>
- <option>
<name>CCDefines</name>
<state>PROTOTYPE_PCB_4</state>
<state>NEW_MENU</state>
@@ -1034,10 +1036,6 @@
<state>1111111</state>
</option>
<option>
- <name>CCMakeLibraryModule</name>
- <state>0</state>
- </option>
- <option>
<name>CCObjUseModuleName</name>
<state>0</state>
</option>
@@ -1147,13 +1145,43 @@
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleTypeCmdlineProducer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\Include\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>CCInlineThreshold</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>5</version>
+ <version>7</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -1198,10 +1226,6 @@
<state>1</state>
</option>
<option>
- <name>MakeLibrary</name>
- <state>0</state>
- </option>
- <option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
@@ -1274,65 +1298,49 @@
<state>0</state>
</option>
<option>
- <name>UndefAsm</name>
+ <name>AProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefFile</name>
+ <name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefLine</name>
- <state>1</state>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.r79</state>
</option>
<option>
- <name>UndefTime</name>
- <state>1</state>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
</option>
<option>
- <name>UndefDate</name>
- <state>1</state>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
</option>
<option>
- <name>UndefTid</name>
- <state>1</state>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
</option>
<option>
- <name>UndefVer</name>
+ <name>AIgnoreStdInclude</name>
<state>1</state>
</option>
<option>
- <name>AIncludes</name>
- <state>$PROJ_DIR$\..\..\include\</state>
+ <name>AStdIncludes</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
</option>
<option>
- <name>AProcessor</name>
- <state>1</state>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\..\..\include\</state>
</option>
<option>
- <name>AExtraOptionsCheck</name>
+ <name>AExtraOptionsCheckV2</name>
<state>0</state>
</option>
<option>
- <name>AExtraOptions</name>
+ <name>AExtraOptionsV2</name>
<state></state>
</option>
- <option>
- <name>AFpuProcessor</name>
- <state>1</state>
- </option>
- <option>
- <name>UndefLittleEndian</name>
- <state>1</state>
- </option>
- <option>
- <name>AOutputFile</name>
- <state>$FILE_BNAME$.r79</state>
- </option>
- <option>
- <name>AMultibyteSupport</name>
- <state>0</state>
- </option>
</data>
</settings>
<settings>
@@ -1360,7 +1368,7 @@
<name>XLINK</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>17</version>
+ <version>18</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -1373,13 +1381,13 @@
</option>
<option>
<name>OutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>16</state>
</option>
<option>
<name>FormatVariant</name>
- <version>6</version>
- <state>15</state>
+ <version>8</version>
+ <state>17</state>
</option>
<option>
<name>SecondaryOutputFile</name>
@@ -1559,12 +1567,12 @@
</option>
<option>
<name>ExtraOutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>60</state>
</option>
<option>
<name>ExtraFormatVariant</name>
- <version>6</version>
+ <version>8</version>
<state>2</state>
</option>
<option>
@@ -1607,6 +1615,14 @@
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
</data>
</settings>
<settings>
@@ -1646,7 +1662,7 @@
<name>General</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>8</version>
+ <version>9</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -1667,7 +1683,7 @@
</option>
<option>
<name>Variant</name>
- <version>2</version>
+ <version>5</version>
<state>0</state>
</option>
<option>
@@ -1714,10 +1730,6 @@
<state>1</state>
</option>
<option>
- <name>OGChipSelect</name>
- <state>$PROJ_DIR$\AT91SAM7S256.i79</state>
- </option>
- <option>
<name>GRuntimeLibSelect</name>
<version>0</version>
<state>3</state>
@@ -1745,7 +1757,7 @@
</option>
<option>
<name>OGLastSavedByProductVersion</name>
- <state>4.20A</state>
+ <state>4.42A</state>
</option>
<option>
<name>GeneralMisraRules</name>
@@ -1760,21 +1772,20 @@
<name>GeneralMisraVerbose</name>
<state>0</state>
</option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>AT91SAM7S256 Atmel AT91SAM7S256</state>
+ </option>
</data>
</settings>
<settings>
<name>ICCARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>11</version>
+ <version>14</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
- <name>CCIncludePaths</name>
- <state>$PROJ_DIR$\..\..\</state>
- <state>$PROJ_DIR$\..\Include\</state>
- </option>
- <option>
<name>CCDefines</name>
<state>PROTOTYPE_PCB_4</state>
<state>NEW_MENU</state>
@@ -1850,10 +1861,6 @@
<state>1111111</state>
</option>
<option>
- <name>CCMakeLibraryModule</name>
- <state>0</state>
- </option>
- <option>
<name>CCObjUseModuleName</name>
<state>0</state>
</option>
@@ -1915,7 +1922,7 @@
</option>
<option>
<name>CCCompilerRuntimeInfo</name>
- <state>1</state>
+ <state>0</state>
</option>
<option>
<name>IFpuProcessor</name>
@@ -1963,13 +1970,43 @@
<name>CompilerMisraOverride</name>
<state>0</state>
</option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleTypeCmdlineProducer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\Include\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>CCInlineThreshold</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
</data>
</settings>
<settings>
<name>AARM</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>5</version>
+ <version>7</version>
<wantNonLocal>1</wantNonLocal>
<debug>1</debug>
<option>
@@ -2014,10 +2051,6 @@
<state>1</state>
</option>
<option>
- <name>MakeLibrary</name>
- <state>0</state>
- </option>
- <option>
<name>AltRegisterNames</name>
<state>0</state>
</option>
@@ -2090,55 +2123,837 @@
<state>0</state>
</option>
<option>
- <name>UndefAsm</name>
+ <name>AProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefFile</name>
+ <name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
- <name>UndefLine</name>
+ <name>AOutputFile</name>
+ <state>$FILE_BNAME$.r79</state>
+ </option>
+ <option>
+ <name>AMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
<state>1</state>
</option>
<option>
- <name>UndefTime</name>
+ <name>AStdIncludes</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\..\..\include\</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>CUSTOM</name>
+ <archiveVersion>3</archiveVersion>
+ <data>
+ <extensions></extensions>
+ <cmdline></cmdline>
+ </data>
+ </settings>
+ <settings>
+ <name>BICOMP</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ <settings>
+ <name>BUILDACTION</name>
+ <archiveVersion>1</archiveVersion>
+ <data>
+ <prebuild></prebuild>
+ <postbuild></postbuild>
+ </data>
+ </settings>
+ <settings>
+ <name>XLINK</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>18</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>LMS_ARM.d79</state>
+ </option>
+ <option>
+ <name>OutputFormat</name>
+ <version>11</version>
+ <state>16</state>
+ </option>
+ <option>
+ <name>FormatVariant</name>
+ <version>8</version>
+ <state>17</state>
+ </option>
+ <option>
+ <name>SecondaryOutputFile</name>
+ <state>(None for the selected format)</state>
+ </option>
+ <option>
+ <name>XDefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AlwaysOutput</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OverlapWarnings</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>NoGlobalCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XList</name>
<state>1</state>
</option>
<option>
- <name>UndefDate</name>
+ <name>SegmentMap</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ListSymbols</name>
+ <state>2</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>XIncludes</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleStatus</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XclOverride</name>
<state>1</state>
</option>
<option>
- <name>UndefTid</name>
+ <name>XclFile</name>
+ <state>$PROJ_DIR$\at91SAM7S256_Remap.xcl</state>
+ </option>
+ <option>
+ <name>XclFileSlave</name>
+ <state></state>
+ </option>
+ <option>
+ <name>DoFill</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FillerByte</name>
+ <state>0xFF</state>
+ </option>
+ <option>
+ <name>DoCrc</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcSize</name>
+ <version>0</version>
<state>1</state>
</option>
<option>
- <name>UndefVer</name>
+ <name>CrcAlgo</name>
<state>1</state>
</option>
<option>
- <name>AIncludes</name>
- <state>$PROJ_DIR$\..\..\include\</state>
+ <name>CrcPoly</name>
+ <state>0x11021</state>
</option>
<option>
- <name>AProcessor</name>
+ <name>CrcCompl</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RangeCheckAlternatives</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressAllWarn</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>SuppressDiags</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsWarn</name>
+ <state></state>
+ </option>
+ <option>
+ <name>TreatAsErr</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ModuleLocalSym</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcBitOrder</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>IncludeSuppressed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OXLibIOConfig</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ModuleSummary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabel</name>
+ <state>__program_start</state>
+ </option>
+ <option>
+ <name>DebugInformation</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RuntimeControl</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IoEmulation</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XcRTLibraryFile</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AllowExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GenerateExtraOutput</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>XExtraOutOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ExtraOutputFile</name>
+ <state>LMS_ARM.a79</state>
+ </option>
+ <option>
+ <name>ExtraOutputFormat</name>
+ <version>11</version>
+ <state>57</state>
+ </option>
+ <option>
+ <name>ExtraFormatVariant</name>
+ <version>8</version>
+ <state>2</state>
+ </option>
+ <option>
+ <name>xcOverrideProgramEntryLabel</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>xcProgramEntryLabelSelect</name>
<state>1</state>
</option>
<option>
- <name>AExtraOptionsCheck</name>
+ <name>ListOutputFormat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>BufferedTermOutput</name>
<state>0</state>
</option>
<option>
- <name>AExtraOptions</name>
+ <name>OverlaySystemMap</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>RawBinaryFile</name>
<state></state>
</option>
<option>
- <name>AFpuProcessor</name>
+ <name>RawBinarySymbol</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinarySegment</name>
+ <state></state>
+ </option>
+ <option>
+ <name>RawBinaryAlign</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XLinkMisraHandler</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>XAR</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>0</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>1</debug>
+ <option>
+ <name>XARInputs</name>
+ <state></state>
+ </option>
+ <option>
+ <name>XAROverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>XAROutput</name>
+ <state>###Unitialized###</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>BILINK</name>
+ <archiveVersion>0</archiveVersion>
+ <data/>
+ </settings>
+ </configuration>
+ <configuration>
+ <name>Benchmark</name>
+ <toolchain>
+ <name>ARM</name>
+ </toolchain>
+ <debug>0</debug>
+ <settings>
+ <name>General</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>9</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>GProcessorMode</name>
<state>1</state>
</option>
<option>
- <name>UndefLittleEndian</name>
+ <name>ExePath</name>
+ <state>Benchmark\Exe</state>
+ </option>
+ <option>
+ <name>ObjPath</name>
+ <state>Benchmark\Obj</state>
+ </option>
+ <option>
+ <name>ListPath</name>
+ <state>Benchmark\List</state>
+ </option>
+ <option>
+ <name>Variant</name>
+ <version>5</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GEndianMode</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GInterwork</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GStackAlign</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input variant</name>
+ <version>1</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Input description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>Output variant</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>Output description</name>
+ <state>Full formatting.</state>
+ </option>
+ <option>
+ <name>GOutputBinary</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>FPU</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGCoreOrChip</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelect</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>GRuntimeLibSelectSlave</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>RTDescription</name>
+ <state>Use a customized C/C++ runtime library.</state>
+ </option>
+ <option>
+ <name>RTConfigPath</name>
+ <state>$PROJ_DIR$\..\Lib\dl4tptinl8n.h</state>
+ </option>
+ <option>
+ <name>RTLibraryPath</name>
+ <state>$PROJ_DIR$\..\Lib\dl4tptinl8n.r79</state>
+ </option>
+ <option>
+ <name>OGProductVersion</name>
+ <state>4.11A</state>
+ </option>
+ <option>
+ <name>OGLastSavedByProductVersion</name>
+ <state>4.41A</state>
+ </option>
+ <option>
+ <name>GeneralMisraRules</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>GeneralEnableMisra</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>GeneralMisraVerbose</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OGChipSelectEditMenu</name>
+ <state>AT91SAM7S256 Atmel AT91SAM7S256</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>ICCARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>14</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>CCDefines</name>
+ <state>PROTOTYPE_PCB_4</state>
+ <state>NEW_MENU</state>
+ <state>VM_BENCHMARK</state>
+ </option>
+ <option>
+ <name>CCPreprocFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocComments</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCPreprocLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMnemonics</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListCMessages</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssFile</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCListAssSource</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCEnableRemarks</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagSuppress</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagRemark</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagWarning</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDiagError</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeed</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptimization</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCAllowList</name>
+ <version>1</version>
+ <state>1111111</state>
+ </option>
+ <option>
+ <name>CCObjUseModuleName</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCObjModuleName</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCDebugInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessorMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IEndianMode</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IStackAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IInterwork</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IExtraOptionsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>IExtraOptions</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CCLangConformance</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCSignedPlainChar</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCRequirePrototypes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCMultibyteSupport</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCDiagWarnAreErr</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCCompilerRuntimeInfo</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>IFpuProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>OutputFile</name>
+ <state>$FILE_BNAME$.r79</state>
+ </option>
+ <option>
+ <name>CCLangSelect</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCLibConfigHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptSizeSpeedSlave</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CCOptimizationSlave</name>
+ <version>0</version>
+ <state>3</state>
+ </option>
+ <option>
+ <name>CCCodeFunctions</name>
+ <state>CODE</state>
+ </option>
+ <option>
+ <name>CCData</name>
+ <state>DATA</state>
+ </option>
+ <option>
+ <name>PreInclude</name>
+ <state></state>
+ </option>
+ <option>
+ <name>CompilerMisraRules</name>
+ <version>0</version>
+ <state>1000111110110101101110011100111111101110011011000101110111101101100111111111111100110011111001110111001111111111111111111111111</state>
+ </option>
+ <option>
+ <name>CompilerMisraOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleTypeOverride</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleType</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCModuleTypeCmdlineProducer</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCIncludePath2</name>
+ <state>$PROJ_DIR$\..\..\</state>
+ <state>$PROJ_DIR$\..\Include\</state>
+ </option>
+ <option>
+ <name>CCStdIncCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>CCStdIncludePath</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>CCInlineThreshold</name>
+ <version>0</version>
+ <state>1</state>
+ </option>
+ </data>
+ </settings>
+ <settings>
+ <name>AARM</name>
+ <archiveVersion>2</archiveVersion>
+ <data>
+ <version>7</version>
+ <wantNonLocal>1</wantNonLocal>
+ <debug>0</debug>
+ <option>
+ <name>AObjPrefix</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AEndian</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>ACaseSensitivity</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacroChars</name>
+ <version>0</version>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnEnable</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnWhat</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AWarnOne</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange1</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AWarnRange2</name>
+ <state></state>
+ </option>
+ <option>
+ <name>ADebug</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AltRegisterNames</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ADefines</name>
+ <state></state>
+ </option>
+ <option>
+ <name>AList</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AListHeader</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AListing</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>Includes</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacDefs</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MacExps</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>MacExec</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>OnlyAssed</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>MultiLine</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLengthCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>PageLength</name>
+ <state>80</state>
+ </option>
+ <option>
+ <name>TabSpacing</name>
+ <state>8</state>
+ </option>
+ <option>
+ <name>AXRef</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDefines</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefInternal</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AXRefDual</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AProcessor</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AFpuProcessor</name>
<state>1</state>
</option>
<option>
@@ -2149,6 +2964,34 @@
<name>AMultibyteSupport</name>
<state>0</state>
</option>
+ <option>
+ <name>ALimitErrorsCheck</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>ALimitErrorsEdit</name>
+ <state>100</state>
+ </option>
+ <option>
+ <name>AIgnoreStdInclude</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>AStdIncludes</name>
+ <state>$TOOLKIT_DIR$\INC\</state>
+ </option>
+ <option>
+ <name>AUserIncludes</name>
+ <state>$PROJ_DIR$\..\..\include\</state>
+ </option>
+ <option>
+ <name>AExtraOptionsCheckV2</name>
+ <state>0</state>
+ </option>
+ <option>
+ <name>AExtraOptionsV2</name>
+ <state></state>
+ </option>
</data>
</settings>
<settings>
@@ -2176,9 +3019,9 @@
<name>XLINK</name>
<archiveVersion>2</archiveVersion>
<data>
- <version>17</version>
+ <version>18</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>XOutOverride</name>
<state>0</state>
@@ -2189,13 +3032,13 @@
</option>
<option>
<name>OutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>16</state>
</option>
<option>
<name>FormatVariant</name>
- <version>6</version>
- <state>15</state>
+ <version>8</version>
+ <state>17</state>
</option>
<option>
<name>SecondaryOutputFile</name>
@@ -2367,20 +3210,20 @@
</option>
<option>
<name>XExtraOutOverride</name>
- <state>0</state>
+ <state>1</state>
</option>
<option>
<name>ExtraOutputFile</name>
- <state>LMS_ARM.a79</state>
+ <state>LMS_ARM_BENCH.a79</state>
</option>
<option>
<name>ExtraOutputFormat</name>
- <version>10</version>
+ <version>11</version>
<state>57</state>
</option>
<option>
<name>ExtraFormatVariant</name>
- <version>6</version>
+ <version>8</version>
<state>2</state>
</option>
<option>
@@ -2423,6 +3266,14 @@
<name>XLinkMisraHandler</name>
<state>0</state>
</option>
+ <option>
+ <name>CrcAlign</name>
+ <state>1</state>
+ </option>
+ <option>
+ <name>CrcInitialValue</name>
+ <state>0x0</state>
+ </option>
</data>
</settings>
<settings>
@@ -2431,7 +3282,7 @@
<data>
<version>0</version>
<wantNonLocal>1</wantNonLocal>
- <debug>1</debug>
+ <debug>0</debug>
<option>
<name>XARInputs</name>
<state></state>
diff --git a/AT91SAM7S256/SAM7S256/Tools/at91SAM7S256_Remap.xcl b/AT91SAM7S256/SAM7S256/Tools/at91SAM7S256_Remap.xcl
index ebc4205..bca7a2a 100644
--- a/AT91SAM7S256/SAM7S256/Tools/at91SAM7S256_Remap.xcl
+++ b/AT91SAM7S256/SAM7S256/Tools/at91SAM7S256_Remap.xcl
@@ -88,6 +88,7 @@
// Code segments may be placed anywhere.
//************************************************
-Z(CODE)CODE=ROMSTART-ROMEND
+-Z(CODE)RAMCODE=RAMSTART-RAMEND
//************************************************
// Various constants and initializers.
@@ -125,6 +126,9 @@
-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND
-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE=RAMSTART-RAMEND
+-D_HEAP_SIZE=1024
+-Z(DATA)HEAP+_HEAP_SIZE=RAMSTART-RAMEND
+
//*************************************************************************
// ELF/DWARF support.
//
diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat
new file mode 100644
index 0000000..84356a0
--- /dev/null
+++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat
@@ -0,0 +1,32 @@
+@REM This bat file has been generated by the IAR Embeddded Workbench
+@REM C-SPY interactive debugger,as an aid to preparing a command
+@REM line for running the cspybat command line utility with the
+@REM appropriate settings.
+@REM
+@REM After making some adjustments to this file, you can launch cspybat
+@REM by typing the name of this file followed by the name of the debug
+@REM file (usually an ubrof file). Note that this file is generated
+@REM every time a new debug session is initialized, so you may want to
+@REM move or rename the file before making changes.
+@REM
+@REM Note: some command line arguments cannot be properly generated
+@REM by this process. Specifically, the plugin which is responsible
+@REM for the Terminal I/O window (and other C runtime functionality)
+@REM comes in a special version for cspybat, and the name of that
+@REM plugin dll is not known when generating this file. It resides in
+@REM the $TOOLKIT_DIR$\bin folder and is usually called XXXbat.dll or
+@REM XXXlibsupportbat.dll, where XXX is the name of the corresponding
+@REM tool chain. Replace the '<libsupport_plugin>' parameter
+@REM below with the appropriate file name. Other plugins loaded by
+@REM C-SPY are usually not needed by, or will not work in, cspybat
+@REM but they are listed at the end of this file for reference.
+
+
+"C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\common\bin\cspybat" "C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\armproc.dll" "C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\armjlink.dll" %1 --plugin "C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\<libsupport_plugin>" --macro "D:\NXT\lms_nbcnxc_131\AT91SAM7S256\SAM7S256\Tools\SAM7.mac" --backend -B "--endian" "little" "--cpu" "ARM7TDMI" "--fpu" "None" "--proc_device_desc_file" "D:\NXT\lms_nbcnxc_131\AT91SAM7S256\SAM7S256\Tools\ioat91sam7s256.ddf" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32"
+
+
+@REM Loaded plugins:
+@REM armlibsupport.dll
+@REM C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\CodeCoverage\CodeCoverage.dll
+@REM C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\Profiling\Profiling.dll
+@REM C:\Program Files\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\stack\stack.dll
diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt
index 092fee7..b5d62e9 100644
--- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt
+++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt
@@ -8,21 +8,21 @@
- <Column0>152</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
+ <Column0>180</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
</Workspace>
<Disassembly>
<PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow></Disassembly>
- <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window></Windows></PreferedWindows></Debug-Log>
+ <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Debug-Log>
<Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ColumnWidth0>22</ColumnWidth0><ColumnWidth1>914</ColumnWidth1><ColumnWidth2>243</ColumnWidth2><ColumnWidth3>60</ColumnWidth3></Build>
- <QWatch><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></QWatch><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>4</Position><ScreenPosX>55</ScreenPosX><ScreenPosY>27</ScreenPosY><Windows/></PreferedWindows><Column0>127</Column0><Column1>225</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Register><Memory><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Breakpoints></Static>
+ <QWatch><Column0>100</Column0><Column1>100</Column1><Column2>100</Column2><Column3>100</Column3></QWatch><Watch><Format><struct_types/><watch_formats/></Format><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Register</Factory></Window><Window><Factory>Disassembly</Factory></Window><Window><Factory>QuickWatch</Factory></Window></Windows></PreferedWindows><Column0>185</Column0><Column1>225</Column1><Column2>100</Column2><Column3>100</Column3></Watch><Register><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Disassembly</Factory></Window><Window><Factory>Watch</Factory></Window><Window><Factory>QuickWatch</Factory></Window></Windows></PreferedWindows></Register><Memory><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Breakpoints><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows></Breakpoints><QuickWatch><PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Disassembly</Factory></Window></Windows></PreferedWindows><Column0>100</Column0><Column1>117</Column1><Column2>100</Column2><Column3>100</Column3></QuickWatch></Static>
<Windows>
- <Wnd1>
+ <Wnd3>
<Tabs>
<Tab>
<Identity>TabID-16470-5520</Identity>
@@ -30,24 +30,24 @@
<Factory>Workspace</Factory>
<Session>
- <NodeDict><ExpandedNode>LMS_ARM</ExpandedNode></NodeDict></Session>
+ <NodeDict><ExpandedNode>LMS_ARM</ExpandedNode><ExpandedNode>LMS_ARM/c_cmd.c</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
- <SelectedTab>0</SelectedTab></Wnd1><Wnd3><Tabs><Tab><Identity>TabID-17326-28629</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>0</States></Session></Tab><Tab><Identity>TabID-9192-28577</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab><Tab><Identity>TabID-2396-28705</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions/><TabId>1</TabId><Column0>127</Column0><Column1>225</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd3></Windows>
+ <SelectedTab>0</SelectedTab></Wnd3><Wnd5><Tabs><Tab><Identity>TabID-10897-9476</Identity><TabName>Quick Watch</TabName><Factory>QuickWatch</Factory><Session><Expression>VarsComm.HsModuleOutBuf.OutPtr</Expression></Session></Tab><Tab><Identity>TabID-8634-25037</Identity><TabName>Watch</TabName><Factory>Watch</Factory><Session><Expressions><Expression><Expression>VarsComm.HsModuleOutBuf.OutPtr</Expression></Expression><Expression><Expression>VarsComm.HsModuleOutBuf.InPtr</Expression></Expression><Expression><Expression>IOMapComm.HsOutBuf.InPtr</Expression></Expression><Expression><Expression>IOMapComm.HsOutBuf.OutPtr</Expression></Expression><Expression><Expression>IOMapComm.HsOutBuf.Buf</Expression></Expression><Expression><Expression>DV_ARRAY[DVIndex].Count</Expression></Expression><Expression><Expression>Tmp</Expression></Expression><Expression><Expression>VarsCmd.VMState</Expression></Expression><Expression><Expression>IOMapCmd.Tick</Expression></Expression><Expression><Expression>IOMapCmd.Awake</Expression></Expression></Expressions><TabId>0</TabId><Column0>185</Column0><Column1>225</Column1><Column2>100</Column2><Column3>100</Column3></Session></Tab></Tabs><SelectedTab>1</SelectedTab></Wnd5><Wnd8><Tabs><Tab><Identity>TabID-20931-28287</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd8></Windows>
<Editor>
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\lib_at91sam7s64.h</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>2564</SelStart><SelEnd>2564</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_display.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>591</SelStart><SelEnd>591</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_display.c</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>677</SelStart><SelEnd>677</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>594</SelStart><SelEnd>594</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>591</SelStart><SelEnd>591</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>618</SelStart><SelEnd>618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_sound.c</Filename><XPos>0</XPos><YPos>6</YPos><SelStart>515</SelStart><SelEnd>515</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>596</SelStart><SelEnd>596</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>587</SelStart><SelEnd>587</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.c</Filename><XPos>0</XPos><YPos>30</YPos><SelStart>665</SelStart><SelEnd>665</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_sound.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>493</SelStart><SelEnd>493</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.r</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>615</SelStart><SelEnd>615</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_button.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>619</SelStart><SelEnd>619</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\ioat91sam7s64.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\sam7s256.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>584</SelStart><SelEnd>584</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_ioctrl.r</Filename><XPos>0</XPos><YPos>67</YPos><SelStart>3821</SelStart><SelEnd>3821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\Include\Cstartup_SAM7.c</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>3336</SelStart><SelEnd>3336</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_output.iom</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1175</SelStart><SelEnd>1175</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\Include\Cstartup.s79</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>1017</SelStart><SelEnd>1017</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>700</SelStart><SelEnd>700</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.c</Filename><XPos>0</XPos><YPos>7</YPos><SelStart>3176</SelStart><SelEnd>3176</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.c</Filename><XPos>0</XPos><YPos>17</YPos><SelStart>679</SelStart><SelEnd>679</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_lowspeed.c</Filename><XPos>0</XPos><YPos>81</YPos><SelStart>1563</SelStart><SelEnd>1563</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_loader.iom</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\m_sched.h</Filename><XPos>0</XPos><YPos>88</YPos><SelStart>1152</SelStart><SelEnd>1152</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_comm.c</Filename><XPos>0</XPos><YPos>75</YPos><SelStart>2609</SelStart><SelEnd>2609</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_usb.c</Filename><XPos>0</XPos><YPos>680</YPos><SelStart>23517</SelStart><SelEnd>23517</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_button.c</Filename><XPos>0</XPos><YPos>50</YPos><SelStart>1152</SelStart><SelEnd>1152</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_display.c</Filename><XPos>0</XPos><YPos>477</YPos><SelStart>10510</SelStart><SelEnd>10510</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_ioctrl.c</Filename><XPos>0</XPos><YPos>34</YPos><SelStart>1025</SelStart><SelEnd>1025</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_ioctrl.c</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>782</SelStart><SelEnd>782</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\m_sched.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>1196</SelStart><SelEnd>1196</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_cmd.c</Filename><XPos>0</XPos><YPos>1117</YPos><SelStart>31574</SelStart><SelEnd>31574</SelEnd></Tab><ActiveTab>34</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_output.c</Filename><XPos>0</XPos><YPos>32</YPos><SelStart>1082</SelStart><SelEnd>1082</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_loader.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1602</SelStart><SelEnd>1602</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_output.h</Filename><XPos>0</XPos><YPos>34</YPos><SelStart>1628</SelStart><SelEnd>1628</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_hispeed.c</Filename><XPos>0</XPos><YPos>34</YPos><SelStart>794</SelStart><SelEnd>794</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_input.c</Filename><XPos>0</XPos><YPos>286</YPos><SelStart>13575</SelStart><SelEnd>13575</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_button.c</Filename><XPos>0</XPos><YPos>115</YPos><SelStart>3096</SelStart><SelEnd>3096</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_output.c</Filename><XPos>0</XPos><YPos>142</YPos><SelStart>6374</SelStart><SelEnd>6374</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.c</Filename><XPos>0</XPos><YPos>173</YPos><SelStart>6760</SelStart><SelEnd>6760</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_ui.c</Filename><XPos>0</XPos><YPos>1274</YPos><SelStart>32907</SelStart><SelEnd>32907</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\m_sched.c</Filename><XPos>1</XPos><YPos>64</YPos><SelStart>1246</SelStart><SelEnd>1246</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\SAM7S256\include\sam7s256.c</Filename><XPos>0</XPos><YPos>8</YPos><SelStart>479</SelStart><SelEnd>479</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_sound.c</Filename><XPos>0</XPos><YPos>289</YPos><SelStart>7992</SelStart><SelEnd>7992</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_ioctrl.c</Filename><XPos>0</XPos><YPos>58</YPos><SelStart>1417</SelStart><SelEnd>1417</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_lowspeed.c</Filename><XPos>0</XPos><YPos>219</YPos><SelStart>8907</SelStart><SelEnd>8907</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_output.c</Filename><XPos>0</XPos><YPos>57</YPos><SelStart>1539</SelStart><SelEnd>1539</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.c</Filename><XPos>0</XPos><YPos>1562</YPos><SelStart>47635</SelStart><SelEnd>47635</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.h</Filename><XPos>0</XPos><YPos>508</YPos><SelStart>15378</SelStart><SelEnd>15385</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_timer.c</Filename><XPos>0</XPos><YPos>27</YPos><SelStart>491</SelStart><SelEnd>491</SelEnd></Tab><ActiveTab>15</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
- <Top><Row0><Sizes><Toolbar-003ae3f0><key>iaridepm1</key></Toolbar-003ae3f0></Sizes></Row0><Row1><Sizes><Toolbar-02aa0a60><key>debuggergui1</key></Toolbar-02aa0a60></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>624</Bottom><Right>226</Right><x>-2</x><y>-2</y><xscreen>5</xscreen><yscreen>5</yscreen><sizeHorzCX>4882</sizeHorzCX><sizeHorzCY>7225</sizeHorzCY><sizeVertCX>222656</sizeVertCX><sizeVertCY>904624</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>624</Bottom><Right>245</Right><x>-2</x><y>-2</y><xscreen>159</xscreen><yscreen>140</yscreen><sizeHorzCX>155273</sizeHorzCX><sizeHorzCY>202312</sizeHorzCY><sizeVertCX>241210</sizeVertCX><sizeVertCY>904624</sizeVertCY></Rect></Wnd3></Sizes></Row0></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
+ <Top><Row0><Sizes><Toolbar-003ff468><key>iaridepm.enu1</key></Toolbar-003ff468></Sizes></Row0><Row1><Sizes><Toolbar-05d720b8><key>debuggergui.enu1</key></Toolbar-05d720b8></Sizes></Row1></Top><Left><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>594</Bottom><Right>271</Right><x>-2</x><y>-2</y><xscreen>6</xscreen><yscreen>5</yscreen><sizeHorzCX>4910</sizeHorzCX><sizeHorzCY>7541</sizeHorzCY><sizeVertCX>223404</sizeVertCX><sizeVertCY>898944</sizeVertCY></Rect></Wnd3></Sizes></Row0></Left><Right><Row0><Sizes><Wnd5><Rect><Top>-2</Top><Left>-2</Left><Bottom>594</Bottom><Right>291</Right><x>-2</x><y>-2</y><xscreen>176</xscreen><yscreen>155</yscreen><sizeHorzCX>144026</sizeHorzCX><sizeHorzCY>233786</sizeHorzCY><sizeVertCX>239771</sizeVertCX><sizeVertCY>898944</sizeVertCY></Rect></Wnd5></Sizes></Row0><Row1><Sizes><Wnd8><Rect><Top>-2</Top><Left>289</Left><Bottom>594</Bottom><Right>489</Right><x>289</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>163666</sizeHorzCX><sizeHorzCY>301659</sizeHorzCY><sizeVertCX>163666</sizeVertCX><sizeVertCY>898944</sizeVertCY></Rect></Wnd8></Sizes></Row1></Right><Bottom><Row0><Sizes/></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Project>
diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni
index 409b4b4..562a6be 100644
--- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni
+++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni
@@ -6,6 +6,18 @@ Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0
[DisAssemblyWindow]
NumStates=_ 1
State 1=_ 1
+[StackPlugin]
+Enabled=1
+OverflowWarningsEnabled=1
+WarningThreshold=90
+SpWarningsEnabled=1
+WarnHow=0
+UseTrigger=1
+TriggerName=main
+LimitSize=0
+ByteLimit=50
+[Profiling]
+Enabled=0
[Log file]
LoggingEnabled=_ 0
LogFile=_ ""
@@ -17,3 +29,6 @@ LogFile=_ ""
mode=0
[Breakpoints]
Count=0
+[TraceHelper]
+Enabled=0
+ShowSource=1
diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt
index 7183c3d..1778e79 100644
--- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt
+++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt
@@ -3,7 +3,7 @@
<Workspace>
<ConfigDictionary>
- <CurrentConfigs><Project>LMS_ARM/Flash Debug</Project></CurrentConfigs></ConfigDictionary>
+ <CurrentConfigs><Project>LMS_ARM/Bin Output</Project></CurrentConfigs></ConfigDictionary>
<Desktop>
<Static>
<Workspace>
@@ -11,9 +11,9 @@
- <Column0>150</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
+ <Column0>156</Column0><Column1>3</Column1><Column2>27</Column2><Column3>1307876</Column3></ColumnWidths>
</Workspace>
- <Build><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>917</ColumnWidth1><ColumnWidth2>244</ColumnWidth2><ColumnWidth3>61</ColumnWidth3></Build>
+ <Build><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Find-in-Files</Factory></Window><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>627</ColumnWidth1><ColumnWidth2>244</ColumnWidth2><ColumnWidth3>61</ColumnWidth3></Build>
<TerminalIO/>
<Profiling/>
<Watch>
@@ -22,33 +22,17 @@
<watch_formats/>
</Format>
<PreferedWindows><Position>4</Position><ScreenPosX>55</ScreenPosX><ScreenPosY>27</ScreenPosY><Windows/></PreferedWindows></Watch>
- <Debug-Log/>
+ <Debug-Log><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Find-in-Files</Factory></Window></Windows></PreferedWindows></Debug-Log>
<Disassembly>
<MixedMode>1</MixedMode><CodeCovEnabled>0</CodeCovEnabled><CodeCovShow>0</CodeCovShow><PreferedWindows><Position>4</Position><ScreenPosX>1424</ScreenPosX><ScreenPosY>44</ScreenPosY><Windows/></PreferedWindows></Disassembly>
- <Memory><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Find-in-Files><ColumnWidth0>440</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>754</ColumnWidth2></Find-in-Files></Static>
+ <Memory><ZoneNumber>0</ZoneNumber><FindDirection>1</FindDirection><FindAsHex>0</FindAsHex></Memory><Find-in-Files><PreferedWindows><Position>3</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows><Window><Factory>Build</Factory></Window><Window><Factory>Debug-Log</Factory></Window></Windows></PreferedWindows><ColumnWidth0>440</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>754</ColumnWidth2></Find-in-Files><CodeCoveragePlugin/></Static>
<Windows>
- <Wnd0>
- <Tabs>
- <Tab>
- <Identity>TabID-7290-5487</Identity>
- <TabName>Build</TabName>
- <Factory>Build</Factory>
- <Session/>
- </Tab>
- <Tab>
- <Identity>TabID-5721-5516</Identity>
- <TabName>Debug Log</TabName>
- <Factory>Debug-Log</Factory>
- <Session/>
- </Tab>
- <Tab><Identity>TabID-447-5816</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs>
-
- <SelectedTab>1</SelectedTab></Wnd0><Wnd1>
+ <Wnd2>
<Tabs>
<Tab>
<Identity>TabID-32446-5425</Identity>
@@ -56,24 +40,24 @@
<Factory>Workspace</Factory>
<Session>
- <NodeDict><ExpandedNode>LMS_ARM</ExpandedNode><ExpandedNode>LMS_ARM/c_led.c</ExpandedNode></NodeDict></Session>
+ <NodeDict><ExpandedNode>LMS_ARM</ExpandedNode><ExpandedNode>LMS_ARM/c_led.c</ExpandedNode><ExpandedNode>LMS_ARM/c_ui.c</ExpandedNode></NodeDict></Session>
</Tab>
</Tabs>
- <SelectedTab>0</SelectedTab></Wnd1></Windows>
+ <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-27191-10055</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-29560-16542</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-7715-30991</Identity><TabName>Breakpoints</TabName><Factory>Breakpoints</Factory></Tab><Tab><Identity>TabID-19698-32199</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
<Editor>
- <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\lib_at91sam7s64.h</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>2564</SelStart><SelEnd>2564</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_display.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>591</SelStart><SelEnd>591</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_display.c</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>677</SelStart><SelEnd>677</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>594</SelStart><SelEnd>594</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>591</SelStart><SelEnd>591</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_hispeed.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>618</SelStart><SelEnd>618</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_sound.c</Filename><XPos>0</XPos><YPos>6</YPos><SelStart>515</SelStart><SelEnd>515</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>596</SelStart><SelEnd>596</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>587</SelStart><SelEnd>587</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_sound.c</Filename><XPos>0</XPos><YPos>30</YPos><SelStart>665</SelStart><SelEnd>665</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_sound.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>493</SelStart><SelEnd>493</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.r</Filename><XPos>0</XPos><YPos>20</YPos><SelStart>615</SelStart><SelEnd>615</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_button.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>619</SelStart><SelEnd>619</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\ioat91sam7s64.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\include\sam7s256.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>584</SelStart><SelEnd>584</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_ioctrl.r</Filename><XPos>0</XPos><YPos>67</YPos><SelStart>3821</SelStart><SelEnd>3821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\Include\Cstartup_SAM7.c</Filename><XPos>0</XPos><YPos>51</YPos><SelStart>3336</SelStart><SelEnd>3336</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_output.iom</Filename><XPos>0</XPos><YPos>28</YPos><SelStart>1175</SelStart><SelEnd>1175</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\SAM7S256\Include\Cstartup.s79</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>1017</SelStart><SelEnd>1017</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.r</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>700</SelStart><SelEnd>700</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.c</Filename><XPos>0</XPos><YPos>7</YPos><SelStart>3176</SelStart><SelEnd>3176</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_timer.c</Filename><XPos>0</XPos><YPos>17</YPos><SelStart>679</SelStart><SelEnd>679</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_lowspeed.c</Filename><XPos>0</XPos><YPos>81</YPos><SelStart>1563</SelStart><SelEnd>1563</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_loader.iom</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_loader.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\m_sched.h</Filename><XPos>0</XPos><YPos>88</YPos><SelStart>1152</SelStart><SelEnd>1152</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_comm.c</Filename><XPos>0</XPos><YPos>75</YPos><SelStart>2609</SelStart><SelEnd>2609</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_usb.c</Filename><XPos>0</XPos><YPos>680</YPos><SelStart>23517</SelStart><SelEnd>23517</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_button.c</Filename><XPos>0</XPos><YPos>50</YPos><SelStart>1152</SelStart><SelEnd>1152</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_display.c</Filename><XPos>0</XPos><YPos>477</YPos><SelStart>10510</SelStart><SelEnd>10510</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_ioctrl.c</Filename><XPos>0</XPos><YPos>34</YPos><SelStart>1025</SelStart><SelEnd>1025</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\d_ioctrl.c</Filename><XPos>0</XPos><YPos>15</YPos><SelStart>782</SelStart><SelEnd>782</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\m_sched.c</Filename><XPos>0</XPos><YPos>44</YPos><SelStart>1196</SelStart><SelEnd>1196</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_cmd.c</Filename><XPos>0</XPos><YPos>1117</YPos><SelStart>31574</SelStart><SelEnd>31574</SelEnd></Tab><ActiveTab>34</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_output.c</Filename><XPos>0</XPos><YPos>32</YPos><SelStart>1082</SelStart><SelEnd>1082</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\Projects\LMS2006\Sys01\Main\Firmware\Source\c_loader.c</Filename><XPos>0</XPos><YPos>33</YPos><SelStart>1602</SelStart><SelEnd>1602</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
+ <Pane><Tab><Factory>TextEditor</Factory><Filename>D:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.c</Filename><XPos>0</XPos><YPos>240</YPos><SelStart>6949</SelStart><SelEnd>6961</SelEnd></Tab><ActiveTab>0</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
<Positions>
- <Top><Row0><Sizes><Toolbar-003ae3f0><key>iaridepm1</key></Toolbar-003ae3f0></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>526</Bottom><Right>241</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>237304</sizeVertCX><sizeVertCY>763005</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>122</Bottom><Right>1026</Right><x>-2</x><y>-2</y><xscreen>1028</xscreen><yscreen>124</yscreen><sizeHorzCX>1003906</sizeHorzCX><sizeHorzCY>179190</sizeHorzCY><sizeVertCX>0</sizeVertCX><sizeVertCY>0</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
+ <Top><Row0><Sizes><Toolbar-0089f618><key>iaridepm.enu1</key></Toolbar-0089f618></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>655</Bottom><Right>223</Right><x>-2</x><y>-2</y><xscreen>0</xscreen><yscreen>0</yscreen><sizeHorzCX>0</sizeHorzCX><sizeHorzCY>0</sizeHorzCY><sizeVertCX>157123</sizeVertCX><sizeVertCY>719606</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>214</Bottom><Right>1434</Right><x>-2</x><y>-2</y><xscreen>1436</xscreen><yscreen>216</yscreen><sizeHorzCX>1002793</sizeHorzCX><sizeHorzCY>236583</sizeHorzCY><sizeVertCX>139665</sizeVertCX><sizeVertCY>236583</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
</Desktop>
</Workspace>
diff --git a/AT91SAM7S256/SAM7S256/gcc/Makefile b/AT91SAM7S256/SAM7S256/gcc/Makefile
index 7ad3156..304cbe2 100644
--- a/AT91SAM7S256/SAM7S256/gcc/Makefile
+++ b/AT91SAM7S256/SAM7S256/gcc/Makefile
@@ -36,7 +36,7 @@ OPTIMIZE = -Os -fno-strict-aliasing \
-ffunction-sections -fdata-sections
WARNINGS = -Wall -W -Wundef -Wno-unused -Wno-format
THUMB_INTERWORK = -mthumb-interwork
-CFLAGS = -mcpu=$(MCU) $(THUMB) $(THUMB_INTERWORK) $(WARNINGS) $(OPTIMIZE)
+CFLAGS = -std=gnu99 -mcpu=$(MCU) $(THUMB) $(THUMB_INTERWORK) $(WARNINGS) $(OPTIMIZE)
ASFLAGS = -mcpu=$(MCU) $(THUMB) $(THUMB_INTERWORK)
CPPFLAGS = $(INCLUDES) $(DEFINES) -MMD
LDSCRIPT = nxt.ld
diff --git a/AT91SAM7S256/Source/BtTest.inc b/AT91SAM7S256/Source/BtTest.inc
index f879e20..fe2a7ae 100644
--- a/AT91SAM7S256/Source/BtTest.inc
+++ b/AT91SAM7S256/Source/BtTest.inc
@@ -22,16 +22,11 @@ void GetProtocolVersion(UBYTE *String)
if (Tmp < 100)
{
-#ifdef CUSTOM_FIRMWAREVERSION
- int pad = (sizeof (CUSTOM_FIRMWAREVERSION) - 1) > 7 ? 1 : 1 + 7 - (sizeof (CUSTOM_FIRMWAREVERSION) - 1);
- sprintf((char*)String,"FW %*u.%02ui-%.7s", pad, (FIRMWAREVERSION >> 8) & 0x00FF,Tmp & 0x00FF, CUSTOM_FIRMWAREVERSION);
-#else
- sprintf((char*)String,"FW %3u.%02u",(FIRMWAREVERSION >> 8) & 0x00FF,Tmp & 0x00FF);
-#endif
+ sprintf((char*)String,"FW NBC/NXC %2u.%02u",(FIRMWAREVERSION >> 8) & 0x00FF,Tmp & 0x00FF);
}
else
{
- sprintf((char*)String,"FW Hex %2X.%02X",(FIRMWAREVERSION >> 8) & 0x00FF,Tmp & 0x00FF);
+ sprintf((char*)String,"FW NBC/NXC %2X.%02X",(FIRMWAREVERSION >> 8) & 0x00FF,Tmp & 0x00FF);
}
}
@@ -104,6 +99,7 @@ enum TSTPRG
{
SYSTEM_INIT = 1,
SYSTEM_UNLOCK_INIT,
+#ifdef TESTPRG
SYSTEM_UNLOCK,
SYSTEM_PAGE,
TIMER_INIT,
@@ -151,9 +147,9 @@ enum TSTPRG
TSTPRG_MOTOR_INIT,
TSTPRG_MOTOR,
TSTPRG_SKIP_MOTOR,
-
- TSTPRG_SKIP,
- TSTPRG_WAIT
+#endif
+ TSTPRG_SKIP//,
+// TSTPRG_WAIT
};
const UBYTE TXT_EMPTY[] = " ";
diff --git a/AT91SAM7S256/Source/Functions.inl b/AT91SAM7S256/Source/Functions.inl
index 1424721..a547619 100644
--- a/AT91SAM7S256/Source/Functions.inl
+++ b/AT91SAM7S256/Source/Functions.inl
@@ -19,11 +19,15 @@
//******* cUiBtTest **********************************************************
const UBYTE NONVOLATILE_NAME[] = UI_NONVOLATILE; // Non volatile filename without extention
+#ifndef STRIPPED
const UBYTE DEFAULT_PROGRAM_NAME[] = UI_PROGRAM_DEFAULT; // On brick programming filename without extention
const UBYTE TEMP_PROGRAM_FILENAME[] = UI_PROGRAM_TEMP; // On brick programming tmp filename without extention
const UBYTE VM_PROGRAM_READER[] = UI_PROGRAM_READER; // On brick programming script reader filename without extention
+#endif
+#ifndef STRIPPED
const UBYTE TEMP_DATALOG_FILENAME[] = UI_DATALOG_TEMP; // On brick datalog tmp filename without extention
const UBYTE DEFAULT_DATALOG_NAME[] = UI_DATALOG_DEFAULT; // On brick datalog filename without extention
+#endif
const UBYTE DEFAULT_PIN_CODE[] = UI_PINCODE_DEFAULT; // Default blue tooth pin code
const UBYTE TXT_INVALID_SENSOR[] = "??????????????"; // Display invalid sensor data
@@ -226,6 +230,8 @@ UBYTE cUiReadLowspeed(UBYTE Port,UBYTE RxBytes,UWORD *Value)
void cUiUpdateSensor(SWORD Time)
{
+#ifndef STRIPPED
+
UBYTE Port;
UBYTE Sensor;
UBYTE Result;
@@ -368,6 +374,7 @@ void cUiUpdateSensor(SWORD Time)
VarsUi.SensorReset = FALSE;
}
+#endif
}
@@ -422,6 +429,7 @@ const UBYTE COLORNAME[COLORNAMES][10] =
void cUiPrintSensorInDisplayBuffer(UBYTE Port)
{
+#ifndef STRIPPED
UBYTE Sensor;
float Value;
SWORD Size;
@@ -451,6 +459,7 @@ void cUiPrintSensorInDisplayBuffer(UBYTE Port)
}
}
}
+#endif
}
@@ -1127,12 +1136,14 @@ UBYTE cUiVolume(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_EXIT
{
VarsUi.Counter = VarsUi.NVData.VolumeStep + 1;
+#ifndef STRIPPED
VarsUi.pTmp = (UBYTE*)Cursor;
for (VarsUi.Tmp = 0;(VarsUi.Tmp < SIZE_OF_CURSOR) && (VarsUi.Tmp < (UBYTE)SIZEOF_DATA(Cursor));VarsUi.Tmp++)
{
VarsUi.CursorTmp[VarsUi.Tmp] = *VarsUi.pTmp;
VarsUi.pTmp++;
}
+#endif
Action = MENU_DRAW;
}
break;
@@ -1175,9 +1186,11 @@ UBYTE cUiVolume(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_EXIT
sprintf((char*)VarsUi.DisplayBuffer,"%u",(UWORD)VarsUi.Counter - 1);
pMapDisplay->pTextLines[TEXTLINE_3] = VarsUi.DisplayBuffer;
+#ifndef STRIPPED
pMapDisplay->pBitmaps[BITMAP_1] = (BMPMAP*)VarsUi.CursorTmp;
VarsUi.CursorTmp[4] = 46;
VarsUi.CursorTmp[5] = 24;
+#endif
pMapDisplay->EraseMask |= (TEXTLINE_BIT(TEXTLINE_3) | TEXTLINE_BIT(TEXTLINE_4));
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= (TEXTLINE_BIT(TEXTLINE_3) | BITMAP_BIT(BITMAP_1));
@@ -1319,7 +1332,7 @@ UBYTE cUiGetUserString(UBYTE Type) // 0=Pincode, 1=filename
Tmp2 = 0;
}
}
- pMapDisplay->pFunc(DISPLAY_HORISONTAL_LINE,TRUE,42,47,57,0);
+ pMapDisplay->pFunc(DISPLAY_HORIZONTAL_LINE,TRUE,42,47,57,0);
pMapDisplay->pFunc(DISPLAY_VERTICAL_LINE,TRUE,42,47,0,63);
pMapDisplay->pFunc(DISPLAY_VERTICAL_LINE,TRUE,57,47,0,63);
@@ -1475,6 +1488,7 @@ void cUiDrawPortNo(UBYTE *Bitmap,UBYTE MenuIconNo,UBYTE PortNo)
UBYTE cUiDataLogging(UBYTE Action)
{
+#ifndef STRIPPED
SBYTE TmpBuffer[DATALOGBUFFERSIZE + 1];
switch (Action)
@@ -1482,7 +1496,7 @@ UBYTE cUiDataLogging(UBYTE Action)
case MENU_INIT : // Initialize all ports to empty
{
// Show select
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_VIEW_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_SMALL);
@@ -1498,7 +1512,7 @@ UBYTE cUiDataLogging(UBYTE Action)
case MENU_EXIT : // Initialize all ports to empty
{
// Show select
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_VIEW_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_SMALL);
@@ -1891,7 +1905,7 @@ UBYTE cUiDataLogging(UBYTE Action)
case 2 : // Display saved text
{
- if (!cUiFeedback((BMPMAP*)Info,TXT_FB_DL_FILE_SAVED_INFO,0xFF,DISPLAY_SHOW_FILENAME_TIME))
+ if (!cUiFeedback((BMPMAP*)Info,TXT_FB_FILE_SAVED_INFO,0xFF,DISPLAY_SHOW_FILENAME_TIME))
{
VarsUi.State++;
}
@@ -1953,7 +1967,7 @@ UBYTE cUiDataLogging(UBYTE Action)
case MENU_SELECT : // Save sensor
{
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_VIEW_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
@@ -2006,7 +2020,7 @@ UBYTE cUiDataLogging(UBYTE Action)
break;
}
-
+#endif
return (VarsUi.State);
}
@@ -2067,6 +2081,7 @@ void cUiRunning(UBYTE Action)
UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming
{
+#ifndef STRIPPED
switch (Action)
{
case MENU_INIT : // Show motor / sensor text
@@ -2268,7 +2283,7 @@ UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming
case 2 :
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_OBP_FILE_EXIST_FAIL,TXT_FB_OBP_OVERWRITE_FAIL,0))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_FILE_EXIST_FAIL,TXT_FB_OVERWRITE_FAIL,0))
{
VarsUi.State = 0;
}
@@ -2287,7 +2302,7 @@ UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming
case 4 : // Display saved text
{
- if (!cUiFeedback((BMPMAP*)Info,TXT_FB_OBP_FILE_SAVED_INFO,0,DISPLAY_SHOW_TIME))
+ if (!cUiFeedback((BMPMAP*)Info,TXT_FB_FILE_SAVED_INFO,0,DISPLAY_SHOW_TIME))
{
VarsUi.State++;
}
@@ -2330,7 +2345,7 @@ UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming
default : // Display saved text
{
- if (!cUiFeedback((BMPMAP*)Info,TXT_FB_OBP_FILE_SAVED_INFO,0,DISPLAY_SHOW_TIME))
+ if (!cUiFeedback((BMPMAP*)Info,TXT_FB_FILE_SAVED_INFO,0,DISPLAY_SHOW_TIME))
{
VarsUi.State = 0;
}
@@ -2454,6 +2469,7 @@ UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming
pMapDisplay->UpdateMask |= (SPECIAL_BIT(STEPLINE) | SPECIAL_BIT(TOPLINE));
}
+#endif
return (VarsUi.State);
}
@@ -2667,7 +2683,8 @@ UBYTE cUiFileRun(UBYTE Action) // Run selected file
default :
{
- pMapDisplay->pTextLines[FILERUN_TEXTLINE] = cUiGetString(TXT_FILERUN_FILE_ERROR);
+ sprintf((char*)VarsUi.DisplayText,(char*)cUiGetString(TXT_FILERUN_FILE_ERROR), pMapCmd->ProgStatus);
+ pMapDisplay->pTextLines[FILERUN_TEXTLINE] = VarsUi.DisplayText;
VarsUi.State = 99;
}
break;
@@ -2675,7 +2692,7 @@ UBYTE cUiFileRun(UBYTE Action) // Run selected file
}
}
break;
-
+#ifndef STRIPPED
case (FILETYPE_NXT * 10 + 0) :// Start Program file (*.prg)
{
VarsUi.TmpHandle = pMapLoader->pFunc(OPENREAD,VarsUi.SelectedFilename,NULL,&VarsUi.TmpLength);
@@ -2739,7 +2756,7 @@ UBYTE cUiFileRun(UBYTE Action) // Run selected file
}
}
break;
-
+#endif
case 99 : // Wait for display show time or user action
{
pMapDisplay->EraseMask = SCREEN_BIT(SCREEN_LARGE);
@@ -2840,15 +2857,17 @@ UBYTE cUiView(UBYTE Action) // MENU_INIT
{
case MENU_INIT : // Init
{
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_VIEW_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_SMALL);
+#ifndef STRIPPED
// Init ports
for (VarsUi.Tmp = 0;VarsUi.Tmp < DATALOGPORTS;VarsUi.Tmp++)
{
VarsUi.DatalogPort[VarsUi.Tmp] = MENU_SENSOR_EMPTY;
}
+#endif
}
break;
@@ -2861,8 +2880,9 @@ UBYTE cUiView(UBYTE Action) // MENU_INIT
if ((Action >= MENU_PORT_1) && (Action <= MENU_PORT_C))
{
VarsUi.SelectedPort = Action;
-
+#ifndef STRIPPED
VarsUi.DatalogPort[VarsUi.SelectedPort - MENU_PORT_1] = VarsUi.SelectedSensor;
+#endif
IOMapUi.Flags |= UI_BUSY;
pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_LARGE);
@@ -2897,7 +2917,7 @@ UBYTE cUiView(UBYTE Action) // MENU_INIT
VarsUi.Tmp = cUiReadButtons();
if (VarsUi.Tmp == BUTTON_EXIT)
{
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_VIEW_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask &= ~TEXTLINE_BIT(TEXTLINE_4);
@@ -2980,7 +3000,7 @@ UBYTE cUiBtOn(UBYTE Action)
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_TURNING_ON_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3038,7 +3058,7 @@ UBYTE cUiBtOn(UBYTE Action)
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_TURNING_OFF_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3277,7 +3297,7 @@ UBYTE cUiBtSearch(UBYTE Action) // Search for devices
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_SEARCHING_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
VarsUi.State = 0;
IOMapUi.State = EXIT_PRESSED;
@@ -3306,7 +3326,7 @@ UBYTE cUiBtDeviceList(UBYTE Action) // Show devices
cUiBTCommand(UI_BT_GET_DEVICES,VarsUi.DevicesKnown,&VarsUi.Devices,NULL);
if (VarsUi.Devices)
{
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_BTDEVICELIST_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
VarsUi.MenuIconTextSave = pMapDisplay->pMenuText;
@@ -3328,7 +3348,7 @@ UBYTE cUiBtDeviceList(UBYTE Action) // Show devices
cUiBTCommand(UI_BT_GET_DEVICES,VarsUi.DevicesKnown,&VarsUi.Devices,NULL);
if (VarsUi.Devices)
{
- pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_BTDEVICELIST_SELECT);
+ pMapDisplay->pTextLines[TEXTLINE_3] = cUiGetString(TXT_GENERIC_SELECT);
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3);
VarsUi.MenuIconTextSave = pMapDisplay->pMenuText;
@@ -3420,7 +3440,7 @@ UBYTE cUiBtDeviceList(UBYTE Action) // Show devices
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_REMOVE_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3562,7 +3582,7 @@ UBYTE cUiBtConnectList(UBYTE Action) // Show connections and maybe disconnec
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_DISCONNECT_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3793,7 +3813,7 @@ UBYTE cUiBtConnect(UBYTE Action) // Select connection no and insert device
default : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_CONNECTING_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3870,7 +3890,7 @@ UBYTE cUiBtConnect(UBYTE Action) // Select connection no and insert device
case 4 : // Display fail text
{
- if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_BT_SENDING_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
+ if (!cUiFeedback((BMPMAP*)Fail,TXT_FB_GENERIC_FAIL,0,DISPLAY_SHOW_ERROR_TIME))
{
Action = MENU_EXIT;
}
@@ -3965,12 +3985,14 @@ UBYTE cUiPowerOffTime(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_E
{
VarsUi.Counter = VarsUi.NVData.PowerdownCode + 1;
+#ifndef STRIPPED
VarsUi.pTmp = (UBYTE*)Cursor;
for (VarsUi.Tmp = 0;(VarsUi.Tmp < SIZE_OF_CURSOR) && (VarsUi.Tmp < (UBYTE)SIZEOF_DATA(Cursor));VarsUi.Tmp++)
{
VarsUi.CursorTmp[VarsUi.Tmp] = *VarsUi.pTmp;
VarsUi.pTmp++;
}
+#endif
Action = MENU_DRAW;
}
break;
@@ -4012,9 +4034,11 @@ UBYTE cUiPowerOffTime(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_E
}
pMapDisplay->pTextLines[TEXTLINE_3] = VarsUi.DisplayBuffer;
+#ifndef STRIPPED
pMapDisplay->pBitmaps[BITMAP_1] = (BMPMAP*)VarsUi.CursorTmp;
VarsUi.CursorTmp[4] = 46;
VarsUi.CursorTmp[5] = 24;
+#endif
pMapDisplay->EraseMask |= (TEXTLINE_BIT(TEXTLINE_3) | TEXTLINE_BIT(TEXTLINE_4));
pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3);
pMapDisplay->UpdateMask |= (TEXTLINE_BIT(TEXTLINE_3) | BITMAP_BIT(BITMAP_1));
diff --git a/AT91SAM7S256/Source/Ui.txt b/AT91SAM7S256/Source/Ui.txt
index 2cf47aa..5746a55 100644
--- a/AT91SAM7S256/Source/Ui.txt
+++ b/AT91SAM7S256/Source/Ui.txt
@@ -3,39 +3,30 @@ DEFINE_DATA(TXT, Ui) =
0x05,0x00, // Text Format
0x04,0x0D, // Text DataSize
0x01, // ItemsX
- 0x3D, // ItemsY
+ 0x32, // ItemsY
0x11, // ItemCharsX
0x01, // ItemCharsY
BEGIN_DATA
+ 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'C','o','n','n','e','c','t','i','n','g', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'L','i','n','e',' ','i','s',' ','b','u','s','y', 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'C','o','n','n','e','c','t','i','o','n','?', 0 , 0 , 0 , 0 , 0 , 0 ,
'S','e','n','d','i','n','g',' ','f','i','l','e', 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'T','u','r','n','i','n','g',' ','o','n', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'T','u','r','n','i','n','g',' ','o','f','f', 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'S','e','a','r','c','h','i','n','g', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'A','b','o','r','t','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','a','i','l','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'M','e','m','o','r','y',' ','f','u','l','l','!', 0 , 0 , 0 , 0 , 0 ,
'F','i','l','e',' ','s','a','v','e','d', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'F','i','l','e',' ','e','x','i','s','t','s', 0 , 0 , 0 , 0 , 0 , 0 ,
'o','v','e','r','w','r','i','t','e','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'S','a','v','e','d',' ','a','s', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','i','l','e',' ','e','x','i','s','t', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'o','v','e','r','w','r','i','t','e','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'F','i','l','e',' ','d','e','l','e','t','e','d', 0 , 0 , 0 , 0 , 0 ,
'F','i','l','e','s', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'd','e','l','e','t','e','d', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'R','u','n','n','i','n','g', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'A','b','o','r','t','e','d','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'D','o','n','e', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'F','i','l','e',' ','e','r','r','o','r','!', 0 , 0 , 0 , 0 , 0 , 0 ,
+ 'F','i','l','e',' ','e','r','r','o','r','!',' ','%','d', 0 , 0 , 0 ,
'D','e','l','e','t','i','n','g',' ','a','l','l', 0 , 0 , 0 , 0 , 0 ,
'%','s',' ','f','i','l','e','s','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'P','r','e','s','s',' ','C','l','e','a','r',' ','t','o', 0 , 0 , 0 ,
@@ -57,8 +48,6 @@ BEGIN_DATA
'4',' ','-',' ','U','l','t','r','a','s','o','n','i','c',' ',' ', 0 ,
'B','/','C',' ','-',' ','L','/','R',' ','m','o','t','o','r','s', 0 ,
'S','e','l','e','c','t', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'S','e','l','e','c','t', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
- 'S','e','l','e','c','t', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'B','T',' ','s','a','v','e',' ','d','a','t','a', 0 , 0 , 0 , 0 , 0 ,
'e','r','r','o','r','!', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ,
'B','T',' ','s','t','o','r','e',' ','i','s', 0 , 0 , 0 , 0 , 0 , 0 ,
diff --git a/AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt b/AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt
new file mode 100644
index 0000000..a317c79
--- /dev/null
+++ b/AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt
@@ -0,0 +1,125 @@
+#if WRITE_IOMAP_OFFSETS
+void cCmdWriteIOMapOffsetsFile()
+{
+ LOADER_STATUS LStatus;
+ UBYTE Handle;
+ ULONG BenchFileSize;
+ ULONG Length;
+ UBYTE Buffer[256];
+
+ //Remove old benchmark file, create a new one
+ strcpy((char *)Buffer, "offsets.txt");
+ pMapLoader->pFunc(DELETE, Buffer, NULL, NULL);
+ BenchFileSize = 2048;
+ LStatus = pMapLoader->pFunc(OPENWRITEDATA, Buffer, NULL, &BenchFileSize);
+
+ if (!LOADER_ERR(LStatus))
+ {
+ //Write Benchmark file
+ Handle = LOADER_HANDLE(LStatus);
+
+ //Header
+ sprintf((char *)Buffer, "%s Offsets\r\n", "Comm Module");
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "pFunc: %d\r\n", (ULONG)pMapComm->pFunc - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "pFunc2: %d\r\n", (ULONG)pMapComm->pFunc2 - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtDeviceTable: %d\r\n", (ULONG)pMapComm->BtDeviceTable - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtConnectTable: %d\r\n", (ULONG)pMapComm->BtConnectTable - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BrickData: %d\r\n", (ULONG)pMapComm->BrickData.Name - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtInBuf: %d\r\n", (ULONG)pMapComm->BtInBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtOutBuf: %d\r\n", (ULONG)pMapComm->BtOutBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsInBuf: %d\r\n", (ULONG)pMapComm->HsInBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsOutBuf: %d\r\n", (ULONG)pMapComm->HsOutBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "UsbInBuf: %d\r\n", (ULONG)pMapComm->UsbInBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "UsbOutBuf: %d\r\n", (ULONG)pMapComm->UsbOutBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "UsbPollBuf: %d\r\n", (ULONG)pMapComm->UsbPollBuf.Buf - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtDeviceCnt: %d\r\n", (ULONG)&(pMapComm->BtDeviceCnt) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtDeviceNameCnt: %d\r\n", (ULONG)&(pMapComm->BtDeviceNameCnt) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsFlags: %d\r\n", (ULONG)&(pMapComm->HsFlags) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsSpeed: %d\r\n", (ULONG)&(pMapComm->HsSpeed) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsState: %d\r\n", (ULONG)&(pMapComm->HsState) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "UsbState: %d\r\n", (ULONG)&(pMapComm->UsbState) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsMode: %d\r\n", (ULONG)&(pMapComm->HsMode) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtDataMode: %d\r\n", (ULONG)&(pMapComm->BtDataMode) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsDataMode: %d\r\n", (ULONG)&(pMapComm->HsDataMode) - (ULONG)pMapComm);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "HsDataMode = %d\r\n", pMapComm->HsDataMode);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+
+ sprintf((char *)Buffer, "BtDataMode = %d\r\n", pMapComm->BtDataMode);
+ Length = strlen((char *)Buffer);
+ LStatus = pMapLoader->pFunc(WRITE, &Handle, Buffer, &Length);
+/*
+
+ UBYTE Spare1;
+*/
+ //close file
+ LStatus = pMapLoader->pFunc(CLOSE, &Handle, NULL, NULL);
+ }
+}
+#endif
diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c
index 87b3e24..e834625 100644
--- a/AT91SAM7S256/Source/c_cmd.c
+++ b/AT91SAM7S256/Source/c_cmd.c
@@ -1,11 +1,11 @@
//
// Date init 14.12.2004
//
-// Revision date $Date: 24-06-09 8:53 $
+// Revision date $Date: 26-02-10 11:38 $
//
// Filename $Workfile:: c_cmd.c $
//
-// Version $Revision: 14 $
+// Version $Revision: 15 $
//
// Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_cmd. $
//
@@ -43,13 +43,14 @@
#include <string.h>
#include <stdlib.h>
#include <math.h> // for sqrt, abs, and trig stuff
+#include <limits.h>
+#include <float.h>
#define VMProfilingCode 0
static IOMAPCMD IOMapCmd;
static VARSCMD VarsCmd;
static HEADER **pHeaders;
-static ULONG gInstrsToExecute;
static SLONG gPCDelta;
#define NUM_INTERP_FUNCS 16
#define NUM_SHORT_INTERP_FUNCS 8
@@ -192,7 +193,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] =
cCmdWrapKeepAlive,
cCmdWrapIOMapRead,
cCmdWrapIOMapWrite,
- cCmdWrapColorSensorRead,
+ cCmdWrapColorSensorRead, // new in 2.0
cCmdWrapCommBTOnOff, // 35
cCmdWrapCommBTConnection,
cCmdWrapCommHSWrite,
@@ -205,8 +206,61 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] =
cCmdWrapDatalogWrite,
cCmdWrapDatalogGetTimes, //45
cCmdWrapSetSleepTimeout,
- cCmdWrapListFiles //47
-
+ cCmdWrapListFiles, //47
+ cCmdWrapUndefinedSysCall, // leave a gap so that I don't have to keep renumbering system calls
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 50
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 55
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 60
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 65
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 70
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall, // 75
+ cCmdWrapUndefinedSysCall,
+ cCmdWrapUndefinedSysCall,
+// enhanced NBC/NXC
+ cCmdWrapIOMapReadByID, // 78
+ cCmdWrapIOMapWriteByID,
+ cCmdWrapDisplayExecuteFunction, // 80
+ cCmdWrapCommExecuteFunction,
+ cCmdWrapLoaderExecuteFunction,
+ cCmdWrapFileFindFirst,
+ cCmdWrapFileFindNext,
+ cCmdWrapFileOpenWriteLinear, // 85
+ cCmdWrapFileOpenWriteNonLinear,
+ cCmdWrapFileOpenReadLinear,
+ cCmdWrapCommHSControl,
+ cCmdWrapCommLSWriteEx,
+ cCmdWrapFileSeek, // 90
+ cCmdWrapFileResize,
+ cCmdWrapDrawPictureArray,
+ cCmdWrapDrawPolygon,
+ cCmdWrapDrawEllipse,
+ cCmdWrapDrawFont, // 95
+ cCmdWrapMemoryManager,
+ cCmdWrapReadLastResponse,
+ cCmdWrapFileTell,
+ cCmdWrapRandomEx // 100 system call slots
+
// don't forget to update SYSCALL_COUNT in c_cmd.h
};
@@ -362,6 +416,107 @@ UBYTE cCmdBTGetDeviceType(UBYTE *pCOD)
return (Result);
}
+void cCmdSetVMState(VM_STATE newState)
+{
+ VarsCmd.VMState = newState;
+}
+
+UBYTE CMD_RESPONSE_LENGTH[256] =
+{
+ 3, // DCStartProgram (x00)
+ 3, // DCStopProgram (x01)
+ 3, // DCPlaySoundFile (x02)
+ 3, // DCPlayTone (x03)
+ 3, // DCSetOutputState (x04)
+ 3, // DCSetInputMode (x05)
+ 25, // DCGetOutputState (x06)
+ 16, // DCGetInputValues (x07)
+ 3, // DCResetInputScaledValue (x08)
+ 3, // DCMessageWrite (x09)
+ 3, // DCResetMotorPosition (x0a)
+ 5, // DCGetBatteryLevel (x0b)
+ 3, // DCStopSoundPlayback (x0c)
+ 7, // DCKeepAlive (x0d)
+ 4, // DCLSGetStatus (x0e)
+ 3, // DCLSWrite (x0f)
+ 20, // DCLSRead (x10)
+ 23, // DCGetCurrentProgramName (x11)
+ 0, // DCGetButtonState (not implemented) (x12)
+ 64, // DCMessageRead (x13)
+ 0, // DCRESERVED1 (x14)
+ 0, // DCRESERVED2 (x15)
+ 0, // DCRESERVED3 (x16)
+ 0, // DCRESERVED4 (x17)
+ 0, // DCRESERVED5 (x18)
+ 64, // DCDatalogRead (1.28+) (x19)
+ 3, // DCDatalogSetTimes (1.28+) (x1a)
+ 4, // DCBTGetContactCount (1.28+) (x1b)
+ 21, // DCBTGetContactName (1.28+) (x1c)
+ 4, // DCBTGetConnCount (1.28+) (x1d)
+ 21, // DCBTGetConnName (1.28+) (x1e)
+ 3, // DCSetProperty(1.28+) (x1f)
+ 7, // DCGetProperty (1.28+) (x20)
+ 3, // DCUpdateResetCount (1.28+) (x21)
+ 7, // RC_SET_VM_STATE (enhanced only) (x22)
+ 7, // RC_GET_VM_STATE (enhanced only) (x23)
+ 15, // RC_SET_BREAKPOINTS (enhanced only) (x24)
+ 15, // RC_GET_BREAKPOINTS (enhanced only) (x25)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x26-x2f)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x30-x3f)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x40-x4f)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x50-x5f)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x60-x6f)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (x70-x7f)
+ 8, // OPENREAD = 0x80,
+ 4, // OPENWRITE = 0x81,
+ 64, // READ = 0x82, (actually is a variable length response)
+ 6, // WRITE = 0x83,
+ 4, // CLOSE = 0x84,
+ 23, // DELETE = 0x85,
+ 28, // FINDFIRST = 0x86,
+ 28, // FINDNEXT = 0x87,
+ 7, // VERSIONS = 0x88,
+ 4, // OPENWRITELINEAR = 0x89,
+ 7, // OPENREADLINEAR = 0x8A, (not actually implemented)
+ 4, // OPENWRITEDATA = 0x8B,
+ 8, // OPENAPPENDDATA = 0x8C,
+ 4, // CROPDATAFILE = 0x8D, /* New cmd for datalogging */
+ 0, // XXXXXXXXXXXXXX = 0x8E,
+ 0, // XXXXXXXXXXXXXX = 0x8F,
+ 34, // FINDFIRSTMODULE = 0x90,
+ 34, // FINDNEXTMODULE = 0x91,
+ 4, // CLOSEMODHANDLE = 0x92,
+ 0, // XXXXXXXXXXXXXX = 0x93,
+ 64, // IOMAPREAD = 0x94, (actually is a variable length response)
+ 9, // IOMAPWRITE = 0x95,
+ 0, // XXXXXXXXXXXXXX = 0x96,
+ 7, // BOOTCMD = 0x97, (can only be executed via USB)
+ 3, // SETBRICKNAME = 0x98,
+ 0, // XXXXXXXXXXXXXX = 0x99,
+ 10, // BTGETADR = 0x9A,
+ 33, // DEVICEINFO = 0x9B,
+ 0, // XXXXXXXXXXXXXX = 0x9C,
+ 0, // XXXXXXXXXXXXXX = 0x9D,
+ 0, // XXXXXXXXXXXXXX = 0x9E,
+ 0, // XXXXXXXXXXXXXX = 0x9F,
+ 3, // DELETEUSERFLASH = 0xA0,
+ 5, // POLLCMDLEN = 0xA1,
+ 64, // POLLCMD = 0xA2,
+ 44, // RENAMEFILE = 0xA3,
+ 3, // BTFACTORYRESET = 0xA4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xA5-xAF)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xB0-xBf)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xC0-xCf)
+ 0, // RESIZEDATAFILE = 0xD0,
+ 0, // SEEKFROMSTART = 0xD1,
+ 0, // SEEKFROMCURRENT = 0xD2,
+ 0, // SEEKFROMEND = 0xD3
+ 0, // FILEPOSITION = 0xD4
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xD5-xDF)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xE0-xEF)
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // (xF0-xFF)
+};
+
//cCmdHandleRemoteCommands is the registered handler for "direct" command protocol packets
//It is only intended to be called via c_comm's main protocol handler
UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
@@ -472,23 +627,52 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
{
UBYTE Port = pInBuf[1];
//Don't do anything if illegal port specification is made
- if (Port >= NO_OF_OUTPUTS && Port != 0xFF)
+ // supported ports are 0, 1, 2 == A, B, C
+ // 3 == AB, 4 == AC, 5 == BC, 6 == ABC
+ if (Port > RC_OUT_ABC && Port < RC_PORTS_AB)
{
RCStatus = ERR_RC_ILLEGAL_VAL;
break;
}
//0xFF is protocol defined to mean "all ports".
- if (Port == 0xFF)
- {
- FirstPort = 0;
- LastPort = NO_OF_OUTPUTS - 1;
+ switch(Port) {
+ case RC_PORTS_ALL:
+ case RC_OUT_ABC:
+ case RC_PORTS_AC:
+ case RC_OUT_AC:
+ {
+ FirstPort = 0;
+ LastPort = NO_OF_OUTPUTS - 1;
+ }
+ break;
+ case RC_PORTS_BC:
+ case RC_OUT_BC:
+ {
+ // B&C
+ FirstPort = 1;
+ LastPort = NO_OF_OUTPUTS - 1;
+ }
+ break;
+ case RC_PORTS_AB:
+ case RC_OUT_AB:
+ {
+ // A&B
+ FirstPort = 0;
+ LastPort = 1;
+ }
+ break;
+ default:
+ {
+ FirstPort = LastPort = Port;
+ }
+ break;
}
- else
- FirstPort = LastPort = Port;
for (i = FirstPort; i <= LastPort; i++)
{
+ if (((Port == RC_PORTS_AC) || (Port == RC_OUT_AC)) && (i > FirstPort) && (i < LastPort))
+ continue;
OUTPUT * pOut = &(pMapOutPut->Outputs[i]);
pOut->Speed = pInBuf[2];
pOut->Mode = pInBuf[3];
@@ -603,7 +787,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
//Echo port
pOutBuf[ResponseLen] = i;
ResponseLen++;
-
+
INPUTSTRUCT * pIn = &(pMapInput->Inputs[i]);
//Set "Valid?" boolean
@@ -768,7 +952,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
break;
}
- RCStatus = cCmdLSWrite(i, Count, &(pInBuf[4]), pInBuf[3]);
+ RCStatus = cCmdLSWrite(i, Count, &(pInBuf[4]), pInBuf[3], 0);
}
break;
@@ -866,6 +1050,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
// pInBuf[1] = Remove? (bool)
case RC_DATALOG_READ:
{
+#ifndef STRIPPED
if (SendResponse == TRUE)
{
RCStatus = cCmdDatalogGetSize(&Count);
@@ -888,13 +1073,16 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
memset(&(pOutBuf[ResponseLen]), 0, Count);
ResponseLen += Count;
}
+#endif
}
break;
case RC_DATALOG_SET_TIMES:
{
+#ifndef STRIPPED
//SyncTime SLONG
memcpy((PSZ)&IOMapCmd.SyncTime, (PSZ)&(pInBuf[1]), 4);
IOMapCmd.SyncTick= dTimerReadNoPoll();
+#endif
}
break;
@@ -967,6 +1155,14 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
pMapUi->SleepTimeout= value / 60000;
}
break;
+ case RC_PROP_DEBUGGING: { // ulong debug info
+ ULONG value;
+ memcpy((PSZ)&value, (PSZ)&(pInBuf[2]), 4);
+ VarsCmd.Debugging = (UBYTE)((value>>24)&0xFF);
+ VarsCmd.PauseClump = (UBYTE)((value>>16)&0xFF);
+ VarsCmd.PausePC = (CODE_INDEX)(value&0xFFFF);
+ }
+ break;
default:
//Unknown property -- still inform client to not expect any response bytes
NXT_BREAK;
@@ -988,7 +1184,14 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
}
break;
case RC_PROP_SLEEP_TIMEOUT: {
- ULONG value= (pMapUi->SleepTimeout * 60 * 1000);
+ ULONG value= (pMapUi->SleepTimeout * 60000);
+ memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)&value, 4);
+ ResponseLen += 4;
+ }
+ break;
+ case RC_PROP_DEBUGGING: { // ulong debug info
+ ULONG value;
+ value = ((VarsCmd.Debugging<<24)|(VarsCmd.PauseClump<<16)|VarsCmd.PausePC);
memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)&value, 4);
ResponseLen += 4;
}
@@ -1015,6 +1218,87 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
pMapOutPut->Outputs[i].Flags |= UPDATE_RESET_COUNT;
}
break;
+ case RC_SET_VM_STATE:
+ {
+ // don't change the VM state if the state is currently idle or resetting
+ if (VarsCmd.VMState > VM_IDLE && VarsCmd.VMState < VM_RESET1)
+ {
+ cCmdSetVMState((VM_STATE)pInBuf[1]);
+ // setting the VM state turns on debugging
+ VarsCmd.Debugging = TRUE;
+ if (VarsCmd.VMState == VM_RESET1)
+ IOMapCmd.ProgStatus = PROG_ABORT;
+ }
+ // fall through to RC_GET_VM_STATE
+ }
+ case RC_GET_VM_STATE:
+ {
+ if (SendResponse == TRUE)
+ {
+ // output the vm state, current clump and its relative program counter (4 bytes)
+ pOutBuf[ResponseLen] = VarsCmd.VMState;
+ ResponseLen++;
+ pOutBuf[ResponseLen] = VarsCmd.RunQ.Head;
+ ResponseLen++;
+ CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[VarsCmd.RunQ.Head]);
+ CODE_INDEX pc = (CODE_INDEX)(pClumpRec->PC-pClumpRec->CodeStart);
+ memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)&(pc), 2);
+ ResponseLen += 2;
+ }
+ }
+ break;
+
+ case RC_SET_BREAKPOINTS:
+ {
+ CLUMP_ID Clump = (CLUMP_ID)pInBuf[1];
+ //Don't do anything if illegal clump specification is made
+ if (Clump >= VarsCmd.AllClumpsCount)
+ {
+ RCStatus = ERR_RC_ILLEGAL_VAL;
+ break;
+ }
+ // setting breakpoint information turns on debugging mode
+ VarsCmd.Debugging = TRUE;
+ CLUMP_BREAK_REC* pBreakpoints = VarsCmd.pAllClumps[Clump].Breakpoints;
+ // length varies from 6 bytes min to 18 bytes max
+ // clump byte, bpidx, bplocation (2 bytes), bp enabled, [...] terminal byte 0xFF
+ UBYTE idx = 2;
+ UBYTE bDone = FALSE;
+ while (!bDone) {
+ UBYTE bpIdx = (UBYTE)pInBuf[idx];
+ idx++;
+ memcpy((PSZ)(&(pBreakpoints[bpIdx].Location)), (PSZ)(&pInBuf[idx]), 2);
+ idx += 2;
+ pBreakpoints[bpIdx].Enabled = (UBYTE)pInBuf[idx];
+ idx++;
+ bDone = (((UBYTE)pInBuf[idx] == 0xFF) || (idx >= 18));
+ }
+ // fall through to RC_GET_BREAKPOINTS
+ }
+
+ case RC_GET_BREAKPOINTS:
+ {
+ if (SendResponse == TRUE)
+ {
+ // output the list of breakpoints for the specified clump ID
+ CLUMP_ID Clump = (CLUMP_ID)pInBuf[1];
+ //Don't do anything if illegal clump specification is made
+ if (Clump >= VarsCmd.AllClumpsCount)
+ {
+ RCStatus = ERR_RC_ILLEGAL_VAL;
+ break;
+ }
+ CLUMP_BREAK_REC* pBreakpoints = VarsCmd.pAllClumps[Clump].Breakpoints;
+ for(int j = 0; j < MAX_BREAKPOINTS; j++)
+ {
+ memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)&(pBreakpoints[j].Location), 2);
+ ResponseLen += 2;
+ pOutBuf[ResponseLen] = pBreakpoints[j].Enabled;
+ ResponseLen++;
+ }
+ }
+ }
+ break;
default:
{
//Unknown remote command -- still inform client to not expect any response bytes
@@ -1055,12 +1339,20 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen)
//If telegram doesn't check out, do nothing. No errors are ever returned for reply telegrams.
}
- break;
+ // fall through to the default case
+// break;
default:
{
//Unhandled reply telegram. Do nothing.
//!!! Could/should stash unhandled/all replies somewhere so a syscall could read them
+ VarsCmd.LastResponseLength = CMD_RESPONSE_LENGTH[pInBuf[0]];
+ memset((PSZ)VarsCmd.LastResponseBuffer, 0, 64);
+ UBYTE len = VarsCmd.LastResponseLength - 1;
+ if (*pLen < len)
+ len = *pLen;
+ if (VarsCmd.LastResponseLength > 1)
+ memcpy((PSZ)VarsCmd.LastResponseBuffer, (PSZ)(&pInBuf[0]), len);
}
break;
};
@@ -1147,7 +1439,7 @@ void cCmdInit(void* pHeader)
VarsCmd.DirtyComm = FALSE;
VarsCmd.DirtyDisplay = FALSE;
- VarsCmd.VMState = VM_IDLE;
+ cCmdSetVMState(VM_IDLE);
#if defined (ARM_NXT)
//Make sure Pool is long-aligned
@@ -1204,15 +1496,17 @@ void cCmdCtrl(void)
VarsCmd.CmdCtrlCount++;
#endif
//Abort current program if cancel button is pressed
- if (IOMapCmd.DeactivateFlag == TRUE || pMapButton->State[BTN1] & PRESSED_EV)
+ if (IOMapCmd.DeactivateFlag == TRUE ||
+ ((pMapButton->State[BTN1] & pMapUi->AbortFlag) &&
+ ((pMapButton->State[BTN4] & PRESSED_EV) != PRESSED_EV))) // JCH 2010-01-13 Make sure enter button is not also pressed
{
IOMapCmd.DeactivateFlag = FALSE;
//Clear pressed event so it doesn't get double-counted by UI
- pMapButton->State[BTN1] &= ~PRESSED_EV;
+ pMapButton->State[BTN1] &= ~(pMapUi->AbortFlag);
//Go to VM_RESET1 state and report abort
- VarsCmd.VMState = VM_RESET1;
+ cCmdSetVMState(VM_RESET1);
IOMapCmd.ProgStatus = PROG_ABORT;
break;
}
@@ -1235,12 +1529,15 @@ void cCmdCtrl(void)
#if VMProfilingCode
CmdCtrlClumpTime[clump] += dTimerReadHiRes() - ClumpEnterTime;
#endif
+ // automatically switch from RUN_SINGLE to RUN_PAUSE after a single step
+ if (VarsCmd.VMState == VM_RUN_SINGLE)
+ cCmdSetVMState(VM_RUN_PAUSE);
//If RunQ and RestQ are empty, program is done, or wacko
if (!cCmdIsClumpIDSane(VarsCmd.RunQ.Head)) {
Continue = FALSE;
if(!cCmdIsClumpIDSane(VarsCmd.RestQ.Head)) {
- VarsCmd.VMState = VM_RESET1;
+ cCmdSetVMState(VM_RESET1);
IOMapCmd.ProgStatus = PROG_OK;
}
}
@@ -1258,20 +1555,20 @@ void cCmdCtrl(void)
else if (IS_ERR(Status)) // mem error is handled in InterpFromClump if possible
{
Continue = FALSE;
- VarsCmd.VMState = VM_RESET1;
- IOMapCmd.ProgStatus = PROG_ERROR;
+ cCmdSetVMState(VM_RESET1);
+ IOMapCmd.ProgStatus = Status;
}
else if (Status == STOP_REQ)
{
Continue = FALSE;
- VarsCmd.VMState = VM_RESET1;
+ cCmdSetVMState(VM_RESET1);
IOMapCmd.ProgStatus = PROG_OK;
}
else if (Status == BREAKOUT_REQ)
{
Continue = FALSE;
}
- } while (Continue == TRUE);
+ } while (Continue == TRUE && VarsCmd.VMState == VM_RUN_FREE);
#if VMProfilingCode
FinishTime= dTimerReadHiRes();
if(NotFirstCall)
@@ -1300,19 +1597,15 @@ void cCmdCtrl(void)
//2. Proceed to VM_RESET1 (some unneeded work, yes, but preserves contract with UI
if (IS_ERR(Status))
{
- IOMapCmd.ProgStatus = PROG_ERROR;
- VarsCmd.VMState = VM_RESET1;
+ IOMapCmd.ProgStatus = Status;
+ cCmdSetVMState(VM_RESET1);
}
//Else start running program
else
{
- VarsCmd.VMState = VM_RUN_FREE;
+ cCmdSetVMState(VM_RUN_FREE);
IOMapCmd.ProgStatus = PROG_RUNNING;
VarsCmd.StartTick = IOMapCmd.Tick;
- if(VarsCmd.VMState == VM_RUN_FREE)
- gInstrsToExecute = 20;
- else
- gInstrsToExecute= 1;
#if VM_BENCHMARK
//Re-init benchmark
@@ -1375,7 +1668,7 @@ void cCmdCtrl(void)
//Artificially set CommStatReset to BTBUSY to force at least one SETCMDMODE call (see VM_RESET2 case)
VarsCmd.CommStatReset = (SWORD)BTBUSY;
- VarsCmd.VMState = VM_RESET2;
+ cCmdSetVMState(VM_RESET2);
while (IOMapCmd.Tick == dTimerRead()); // delay until scheduled time
}
break;
@@ -1401,12 +1694,18 @@ void cCmdCtrl(void)
VarsCmd.DirtyComm = FALSE;
//Go to VM_IDLE state
- VarsCmd.VMState = VM_IDLE;
+ cCmdSetVMState(VM_IDLE);
IOMapCmd.ProgStatus = PROG_IDLE;
}
while (IOMapCmd.Tick == dTimerRead()); // delay until scheduled time
}
break;
+
+ case VM_RUN_PAUSE:
+ {
+ while (IOMapCmd.Tick == dTimerRead()); // delay until scheduled time
+ }
+ break;
}//END state machine switch
//Set tick to new value for next time 'round
@@ -1510,7 +1809,7 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize,
//Must have at least one clump and count can't exceed the NOT_A_CLUMP sentinel
if (FileClumpCount == 0 || FileClumpCount >= NOT_A_CLUMP)
- return (ERR_FILE);
+ return (ERR_CLUMP_COUNT);
else
VarsCmd.AllClumpsCount = (CLUMP_ID)FileClumpCount;
@@ -1519,7 +1818,7 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize,
//Can't have a valid program with no code
if (VarsCmd.CodespaceCount == 0)
- return (ERR_FILE);
+ return (ERR_NO_CODE);
//
// Now, calculate offsets for each data segment in the file
@@ -1560,7 +1859,7 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize,
if (CurrOffset != (DataSize - VarsCmd.CodespaceCount * 2))
{
NXT_BREAK;
- return (ERR_FILE);
+ return (ERR_INSANE_OFFSET);
}
//
@@ -1597,7 +1896,7 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize,
if (VarsCmd.PoolSize > POOL_MAX_SIZE)
{
NXT_BREAK;
- return (ERR_FILE);
+ return (ERR_BAD_POOL_SIZE);
}
return (NO_ERR);
@@ -1695,7 +1994,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
//If Loader returned error or bad file pointer, bail out
if (LOADER_ERR(LStatus) != SUCCESS || pData == NULL || DataSize == 0)
- return (ERR_FILE);
+ return (ERR_LOADER_ERR);
//Deactivate current program and re-initialize memory pool
cCmdDeactivateProgram();
@@ -1726,7 +2025,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
|| (VarsCmd.DataspaceSize == 0) )
{
NXT_BREAK;
- return ERR_FILE;
+ return ERR_SPOTCHECK_FAIL;
}
//Initialize CLUMP_RECs as contiguous list in RAM
@@ -1741,6 +2040,15 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
//Initialize remaining CLUMP_REC fields
clumpPtr->PC = clumpPtr->CodeStart;
clumpPtr->Link = NOT_A_CLUMP;
+ clumpPtr->Priority = INSTR_MAX_COUNT;
+ clumpPtr->CalledClump = NOT_A_CLUMP;
+
+ CLUMP_BREAK_REC* pBreakpoints = clumpPtr->Breakpoints;
+ for (j = 0; j < MAX_BREAKPOINTS; j++)
+ {
+ pBreakpoints[j].Location = 0;
+ pBreakpoints[j].Enabled = FALSE;
+ }
//Activate any clumps with CurrFireCount of 0
clumpPtr->CurrFireCount = clumpPtr->InitFireCount;
@@ -1828,7 +2136,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
}
//Programs with no active clumps constitutes an activation error
if (VarsCmd.RunQ.Head == NOT_A_CLUMP)
- return (ERR_FILE);
+ return (ERR_NO_ACTIVE_CLUMP);
else
{
// now that we know which clumps are scalar and poly, refresh dispatch table to match head
@@ -1852,7 +2160,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
|| (DefaultsOffset + FileOffsets.DynamicDefaultsSize != FileOffsets.DSDefaultsSize))
{
NXT_BREAK;
- return (ERR_FILE);
+ return (ERR_DEFAULT_OFFSETS);
}
//Copy Dynamic defaults from file
@@ -1869,7 +2177,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
if ((UBYTE *)VarsCmd.MemMgr.pDopeVectorArray != VarsCmd.pDataspace + DV_ARRAY[0].Offset)
{
NXT_BREAK;
- return (ERR_FILE);
+ return (ERR_MEMMGR_FAIL);
}
//Initialize message queues
@@ -1884,6 +2192,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
}
}
+#ifndef STRIPPED
//Initialize datalog queue
VarsCmd.DatalogBuffer.ReadIndex = 0;
VarsCmd.DatalogBuffer.WriteIndex = 0;
@@ -1891,6 +2200,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
{
VarsCmd.DatalogBuffer.Datalogs[j] = NOT_A_DS_ID;
}
+#endif
// now that we've loaded program, prime memmgr dopevectors based upon number of handles in ds.
ULONG numHandles= DV_ARRAY[0].Count/2;
@@ -1905,6 +2215,14 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName)
gRequestSemData= 0;
// preload all calibration coefficients into mem
cCmdLoadCalibrationFiles();
+ // initialize the graphic globals
+ gpPassedImgVars = NULL;
+ memset(gpImgData,0,sizeof(gpImgData));
+ gPassedVarsCount = 0;
+ // configure debugging flags in VarsCmd
+ VarsCmd.Debugging = FALSE;
+ VarsCmd.PauseClump = NOT_A_CLUMP;
+ VarsCmd.PausePC = 0xFFFF;
return (Status);
}
@@ -1913,6 +2231,10 @@ void cCmdDeactivateProgram()
{
UBYTE i, tmp;
+ // reset the DS and DVA Offsets
+ IOMapCmd.OffsetDVA = 0xFFFF;
+ IOMapCmd.OffsetDS = 0xFFFF;
+
//Wipe away all references into the pool and clear all run-time data
VarsCmd.pCodespace = NULL;
VarsCmd.CodespaceCount = 0;
@@ -1951,12 +2273,18 @@ void cCmdDeactivateProgram()
tmp = i;
//Close file
if (*(VarsCmd.FileHandleTable[i]) != 0)
- pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL);
+ pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL); /*CLOSE*/
}
//Clear FileHandleTable
memset(VarsCmd.FileHandleTable, 0, sizeof(VarsCmd.FileHandleTable));
-
+
+ // reset AbortFlag to default value
+ pMapUi->AbortFlag = PRESSED_EV;
+
+ // reset Contrast to default value
+ pMapDisplay->Contrast = DISPLAY_CONTRAST_DEFAULT;
+
return;
}
@@ -2227,6 +2555,49 @@ NXT_STATUS cCmdAcquireMutex(MUTEX_Q * Mutex)
return (Status);
}
+UBYTE cCmdIsClumpOnAMutexWaitQ(CLUMP_ID Clump)
+{
+ //Make sure Clump's ID is valid
+ NXT_ASSERT(cCmdIsClumpIDSane(Clump));
+ DATA_ARG Arg1;
+ MUTEX_Q * Mutex;
+ for (Arg1=0; Arg1 < VarsCmd.DataspaceCount; Arg1++)
+ {
+ if (VarsCmd.pDataspaceTOC[Arg1].TypeCode == TC_MUTEX)
+ {
+ Mutex = cCmdDSPtr(Arg1, 0);
+ if (cCmdIsClumpOnQ(&(Mutex->WaitQ), Clump))
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+NXT_STATUS cCmdReleaseAllMutexes(CLUMP_ID Clump)
+{
+ //Make sure Clump's ID is valid
+ NXT_ASSERT(cCmdIsClumpIDSane(Clump));
+ DATA_ARG Arg1;
+ MUTEX_Q * Mutex;
+ UBYTE bFoundWaitingMutex = FALSE;
+ for (Arg1=0; Arg1 < VarsCmd.DataspaceCount; Arg1++)
+ {
+ if (VarsCmd.pDataspaceTOC[Arg1].TypeCode == TC_MUTEX)
+ {
+ Mutex = cCmdDSPtr(Arg1, 0);
+ // if this clump owns the Mutex then release it
+ if (Mutex->Owner == Clump)
+ cCmdReleaseMutex(Mutex);
+ // also make sure that this Clump is not waiting in this mutex's wait queue
+ if (!bFoundWaitingMutex && cCmdIsClumpOnQ(&(Mutex->WaitQ), Clump)) {
+ bFoundWaitingMutex = TRUE;
+ cCmdDeQClump(&(Mutex->WaitQ), Clump);
+ cCmdEnQClump(&(VarsCmd.RunQ), Clump);
+ }
+ }
+ }
+ return (NO_ERR);
+}
NXT_STATUS cCmdReleaseMutex(MUTEX_Q * Mutex)
{
@@ -2253,6 +2624,39 @@ NXT_STATUS cCmdReleaseMutex(MUTEX_Q * Mutex)
return (NO_ERR);
}
+NXT_STATUS cCmdStopClump(CLUMP_ID Clump)
+{
+ // first check whether this clump has called another clump
+ CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[Clump]);
+ if (pClumpRec->CalledClump != NOT_A_CLUMP) {
+ // in this situation we know that this clump
+ // is not on any queues of any kind (run, rest, or wait)
+ // so instead of trying to stop THIS clump we will
+ // try to stop the clump it called instead
+ cCmdStopClump(pClumpRec->CalledClump);
+ }
+ else
+ {
+ // release any mutexes owned by this clump
+ // and remove it from any wait queues that it might be on
+ cCmdReleaseAllMutexes(Clump);
+ if (cCmdIsClumpOnQ(&(VarsCmd.RunQ), Clump)) {
+ // remove the specified clump from the run queue if it is on it
+ cCmdDeQClump(&(VarsCmd.RunQ), Clump);
+ }
+ else if (cCmdIsClumpOnQ(&(VarsCmd.RestQ), Clump)) {
+ // if the specified clump happened to be sleeping then
+ // remove it from the rest queue
+ cCmdDeQClump(&(VarsCmd.RestQ), Clump);
+ }
+ // since we have stopped that clump we should reset its clump rec values.
+ pClumpRec->PC = pClumpRec->CodeStart;
+ pClumpRec->CurrFireCount = pClumpRec->InitFireCount;
+ pClumpRec->awakenTime = 0;
+ }
+ return (NO_ERR);
+}
+
// No instruction to do this yet, but put current clump to sleep until awakeTime occurs
NXT_STATUS cCmdSleepClump(ULONG time)
{
@@ -3133,6 +3537,7 @@ NXT_STATUS cCmdDatalogWrite(UBYTE * pData, UWORD Length)
{
NXT_STATUS Status = NO_ERR;
+#ifndef STRIPPED
if (pData == NULL)
return ERR_ARG;
@@ -3175,11 +3580,13 @@ NXT_STATUS cCmdDatalogWrite(UBYTE * pData, UWORD Length)
//Advance write index
VarsCmd.DatalogBuffer.WriteIndex = (VarsCmd.DatalogBuffer.WriteIndex + 1) % DATALOG_QUEUE_DEPTH;
+#endif
return Status;
}
NXT_STATUS cCmdDatalogGetSize(UWORD * Size)
{
+#ifndef STRIPPED
DV_INDEX ReadDVIndex;
if (Size == NULL)
@@ -3203,11 +3610,16 @@ NXT_STATUS cCmdDatalogGetSize(UWORD * Size)
*Size = 0;
return (STAT_MSG_EMPTY_MAILBOX);
}
+#else
+ *Size = 0;
+ return (NO_ERR);
+#endif
}
NXT_STATUS cCmdDatalogRead(UBYTE * pBuffer, UWORD Length, UBYTE Remove)
{
NXT_STATUS Status = NO_ERR;
+#ifndef STRIPPED
DV_INDEX ReadDVIndex;
if (pBuffer == NULL)
@@ -3248,7 +3660,7 @@ NXT_STATUS cCmdDatalogRead(UBYTE * pBuffer, UWORD Length, UBYTE Remove)
return (STAT_MSG_EMPTY_MAILBOX);
}
-
+#endif
return Status;
}
@@ -3391,13 +3803,14 @@ void cCmdSetByte(void * pVal, ULONG NewVal);
void cCmdSetWord(void * pVal, ULONG NewVal);
void cCmdSetLong(void * pVal, ULONG NewVal);
void cCmdSetError(void * pVal, ULONG NewVal);
+void cCmdSetFloat(void * pVal, ULONG NewVal);
typedef ULONG (*pGetOperand)(void *);
static pGetOperand GetProcArray[11]= {cCmdGetUByte, cCmdGetUByte, cCmdGetSByte, cCmdGetUWord, cCmdGetSWord, cCmdGetULong, cCmdGetSLong, cCmdGetError, cCmdGetError, cCmdGetError, cCmdGetFloat}; // dup UByte to line up
typedef void (*pSetOperand)(void *, ULONG);
-static pSetOperand SetProcArray[9]= {cCmdSetByte, cCmdSetByte, cCmdSetByte, cCmdSetWord, cCmdSetWord, cCmdSetLong, cCmdSetLong, cCmdSetError, cCmdSetError}; // dup UByte to line up
+static pSetOperand SetProcArray[11]= {cCmdSetByte, cCmdSetByte, cCmdSetByte, cCmdSetWord, cCmdSetWord, cCmdSetLong, cCmdSetLong, cCmdSetError, cCmdSetError, cCmdSetError, cCmdSetFloat}; // dup UByte to line up
void cCmdSetError(void * pVal, ULONG NewVal) {
NXT_BREAK;
@@ -3415,6 +3828,10 @@ void cCmdSetByte(void * pVal, ULONG NewVal) {
*(UBYTE*)pVal = (UBYTE)NewVal;
}
+void cCmdSetFloat(void * pVal, ULONG NewVal) {
+ *(float*)pVal = (float)NewVal;
+}
+
// only works on simple types, equivalent to resolve and get, but faster
ULONG cCmdGetScalarValFromDataArg(DATA_ARG DataArg, UWORD Offset)
{
@@ -3422,6 +3839,11 @@ ULONG cCmdGetScalarValFromDataArg(DATA_ARG DataArg, UWORD Offset)
return GetProcArray[dsTOCPtr->TypeCode](VarsCmd.pDataspace + dsTOCPtr->DSOffset + Offset);
}
+float cCmdGetFloatValFromDataArg(DATA_ARG DataArg, UWORD Offset)
+{
+ DS_TOC_ENTRY *dsTOCPtr= &VarsCmd.pDataspaceTOC[DataArg];
+ return (float)(*(float*)(VarsCmd.pDataspace + dsTOCPtr->DSOffset + Offset));
+}
ULONG cCmdGetError(void * pVal) {
NXT_BREAK;
@@ -3850,6 +4272,17 @@ UWORD cCmdGetDVIndex(DS_ELEMENT_ID DSElementID, UWORD Offset)
return DVIndex;
}
+UWORD cCmdArrayDimensions(DS_ELEMENT_ID DSElementID)
+{
+ NXT_ASSERT(cCmdIsDSElementIDSane(DSElementID));
+ UWORD result = 0;
+ while (cCmdDSType(DSElementID) == TC_ARRAY)
+ {
+ result++;
+ DSElementID = INC_ID(DSElementID);
+ }
+ return result;
+}
UWORD cCmdArrayCount(DS_ELEMENT_ID DSElementID, UWORD Offset)
{
@@ -4165,10 +4598,39 @@ NXT_STATUS cCmdInterpFromClump()
pInstr = pClumpRec->PC; // abs
lastClumpInstr= pClumpRec->CodeEnd; // abs
- i= gInstrsToExecute;
+ if(VarsCmd.VMState == VM_RUN_FREE)
+ i = pClumpRec->Priority;
+ else
+ i = 1;
nextMSTick= dTimerGetNextMSTickCnt();
do
{
+ // are we debugging and are free running and reach a breakpoint/autopause?
+ if (VarsCmd.Debugging && (VarsCmd.VMState == VM_RUN_FREE))
+ {
+ CLUMP_BREAK_REC* pBreakpoints = pClumpRec->Breakpoints;
+ for(int j = 0; j < MAX_BREAKPOINTS; j++)
+ {
+ if (pBreakpoints[j].Enabled &&
+ (pBreakpoints[j].Location == (CODE_INDEX)(pClumpRec->PC-pClumpRec->CodeStart)))
+ {
+ cCmdSetVMState(VM_RUN_PAUSE);
+ return BREAKOUT_REQ;
+ }
+ }
+ // auto pause at clump == pauseClump and relative PC = pausePC
+ if ((Clump == VarsCmd.PauseClump) &&
+ ((CODE_INDEX)(pClumpRec->PC-pClumpRec->CodeStart) == VarsCmd.PausePC))
+ {
+ // pause the VM
+ cCmdSetVMState(VM_RUN_PAUSE);
+ // and turn off the auto pause flags
+ VarsCmd.PauseClump = NOT_A_CLUMP;
+ VarsCmd.PausePC = 0xFFFF;
+ return BREAKOUT_REQ;
+ }
+ }
+
#if VMProfilingCode
ULONG instrStartTime;
instrStartTime= dTimerReadHiRes();
@@ -4299,12 +4761,16 @@ NXT_STATUS cCmdInterpUnop1(CODE_WORD * const pCode)
case OP_SUBRET:
{
NXT_ASSERT(cCmdIsDSElementIDSane(Arg1));
-
+ CLUMP_ID clump = *((CLUMP_ID *)cCmdDSScalarPtr(Arg1, 0));
+
//Take Subroutine off RunQ
//Add Subroutine's caller to RunQ
cCmdDeQClump(&(VarsCmd.RunQ), VarsCmd.RunQ.Head);
- cCmdEnQClump(&(VarsCmd.RunQ), *((CLUMP_ID *)cCmdDSScalarPtr(Arg1, 0)));
+ cCmdEnQClump(&(VarsCmd.RunQ), clump);
+ CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[clump]);
+ pClumpRec->CalledClump = NOT_A_CLUMP;
+
Status = CLUMP_DONE;
}
break;
@@ -4319,6 +4785,22 @@ NXT_STATUS cCmdInterpUnop1(CODE_WORD * const pCode)
}
break;
+ case OP_WAITI:
+ case OP_WAITV:
+ {
+ ULONG wait= 0;
+ if (opCode == OP_WAITV) {
+ wait = cCmdGetScalarValFromDataArg(Arg1, 0);
+ }
+ else
+ wait = Arg1;
+ if(wait == 0)
+ Status= ROTATE_QUEUE;
+ else
+ Status = cCmdSleepClump(wait + IOMapCmd.Tick); // put to sleep, to wake up wait ms in future
+ }
+ break;
+
case OP_GETTICK:
{
cCmdSetScalarValFromDataArg(Arg1, dTimerReadNoPoll());
@@ -4335,6 +4817,29 @@ NXT_STATUS cCmdInterpUnop1(CODE_WORD * const pCode)
}
break;
+ case OP_STOPCLUMPIMMED:
+ {
+ // Release any mutexes that the clump we are stopping owns
+ CLUMP_ID Clump = (CLUMP_ID)Arg1;
+ cCmdStopClump(Clump);
+ }
+ break;
+
+ case OP_STARTCLUMPIMMED:
+ {
+ CLUMP_ID Clump = (CLUMP_ID)Arg1;
+ // only enqueue the clump if it is not already on one of the queues
+ // otherwise this is a no-op
+ if (!cCmdIsClumpOnQ(&(VarsCmd.RunQ), Clump) &&
+ !cCmdIsClumpOnQ(&(VarsCmd.RestQ), Clump) &&
+ !cCmdIsClumpOnAMutexWaitQ(Clump))
+ {
+ cCmdEnQClump(&(VarsCmd.RunQ), Clump); //Enqueue the specified clump
+ Status = CLUMP_SUSPEND;
+ }
+ }
+ break;
+
default:
{
//Fatal error: Unrecognized instruction
@@ -4436,13 +4941,10 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
polyUn2Dispatch ++;
UWORD Count;
UWORD Offset;
- SLONG TmpSLong;
- ULONG TmpULong;
+// SLONG TmpSLong;
+// ULONG TmpULong;
ULONG ArgVal2;
float FltArgVal2;
- char Buffer[30];
- char FormatString[5];
- UBYTE CheckTrailingZeros = 0;
NXT_ASSERT(pCode != NULL);
@@ -4451,7 +4953,10 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
Arg1 = pCode[1];
Arg2 = pCode[2];
- if (opCode == OP_NEG || opCode == OP_NOT || opCode == OP_TST || opCode == OP_SQRT || opCode == OP_ABS)
+ if (opCode == OP_NEG || opCode == OP_NOT || opCode == OP_TST ||
+ opCode == OP_CMNT || opCode == OP_SQRT || opCode == OP_ABS || opCode == OP_SIGN ||
+ (opCode >= OP_ACOS && opCode <= OP_FRAC) ||
+ (opCode >= OP_ACOSD && opCode <= OP_SINHD))
{
return cCmdInterpPolyUnop2(*pCode, Arg1, 0, Arg2, 0);
}
@@ -4468,7 +4973,13 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
{
//!!! Should throw error if TypeCode1 is non-scalar
// Accepting non-scalar destinations could have unpredictable results!
- cCmdSetScalarValFromDataArg(Arg1, Arg2);
+ pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1);
+ if (TypeCode1 == TC_SLONG)
+ *(ULONG*)pArg1 = (SWORD)Arg2;
+ else if (TypeCode1 == TC_ULONG)
+ *(ULONG*)pArg1 = (UWORD)Arg2;
+ else if (TypeCode1 < TC_ULONG)
+ cCmdSetScalarValFromDataArg(Arg1, Arg2);
}
break;
@@ -4510,16 +5021,33 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
}
break;
+ case OP_PRIORITY:
+ {
+ // set the priority of the specified clump
+ CLUMP_ID clump;
+ if (Arg2 != NOT_A_DS_ID)
+ clump = (CLUMP_ID)Arg1;
+ else
+ clump = VarsCmd.RunQ.Head;
+ CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[clump]);
+ pClumpRec->Priority = (UBYTE)Arg2;
+ }
+ break;
+
case OP_SUBCALL:
{
NXT_ASSERT(cCmdIsClumpIDSane((CLUMP_ID)Arg1));
NXT_ASSERT(!cCmdIsClumpOnQ(&(VarsCmd.RunQ), (CLUMP_ID)Arg1));
NXT_ASSERT(cCmdIsDSElementIDSane(Arg2));
+
+ CLUMP_ID clump = VarsCmd.RunQ.Head;
+ CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[clump]);
+ pClumpRec->CalledClump = (CLUMP_ID)Arg1;
- *((CLUMP_ID *)(cCmdDSScalarPtr(Arg2, 0))) = VarsCmd.RunQ.Head;
+ *((CLUMP_ID *)(cCmdDSScalarPtr(Arg2, 0))) = clump;
- cCmdDeQClump(&(VarsCmd.RunQ), VarsCmd.RunQ.Head); //Take caller off RunQ
+ cCmdDeQClump(&(VarsCmd.RunQ), clump); //Take caller off RunQ
cCmdEnQClump(&(VarsCmd.RunQ), (CLUMP_ID)Arg1); //Add callee to RunQ
Status = CLUMP_SUSPEND;
@@ -4618,6 +5146,7 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
case OP_NUMTOSTRING:
{
+ char Buffer[36];
//Assert that the destination is a string (array of bytes)
NXT_ASSERT(cCmdDSType(Arg1) == TC_ARRAY);
NXT_ASSERT(cCmdDSType(INC_ID(Arg1)) == TC_UBYTE);
@@ -4628,65 +5157,40 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
if (TypeCode2 == TC_FLOAT)
{
- pArg2 = cCmdResolveDataArg(Arg2, 0, NULL);
- FltArgVal2 = cCmdGetValFlt(pArg2, TypeCode2);
- // is number too big for display? then format differently and don't bother with trailing zeros
- if ((FltArgVal2 > 9999999999999.99f)||(FltArgVal2 < -999999999999.99f)){ // these are the widest %.2f numbers that will fit on display
- strcpy (FormatString, "%.6g");
- }
- else{
- strcpy (FormatString, "%.2f");
- CheckTrailingZeros = 1;
+ FltArgVal2 = cCmdGetFloatValFromDataArg(Arg2, 0);
+ if ((FltArgVal2 > 99999999999.9999f)||(FltArgVal2 < -9999999999.9999f)){ // these are the widest %.4f numbers that will fit on display
+ Count = sprintf(Buffer, "%.6g", FltArgVal2);
}
- Count = sprintf(Buffer, FormatString, FltArgVal2);
+ else
+ Count = sprintf(Buffer, "%.4f", FltArgVal2);
Count++; //add room for null terminator
-
- if (CheckTrailingZeros){
- // Determine if the trailing digits are zeros. If so, drop them
- if (Buffer[Count-2] == 0x30) { // NOTE: 0x30 is ASCII 0
- if (Buffer[Count-3] == 0x30){
- strcpy (FormatString, "%.0f"); // the last two digits = 0, copy as integer
- Count = Count - 3; // don't need memory for decimal and 2 ascii characters
- }
- else {
- strcpy (FormatString, "%.1f"); // only the 2nd digit = 0 so drop it, but keep the tenths place
- Count = Count - 1; // don't need memory for 2nd ascii character
- }
- }
+ // remove trailing zeros
+ while (Buffer[Count-2] == 0x30) {
+ Buffer[Count-2] = 0x00;
+ Count--;
+ }
+ // if last character is now a period then delete it too
+ if (Buffer[Count-2] == '.') {
+ Buffer[Count-2] = 0x00;
+ Count--;
}
}
else
{
- ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, 0);
- //Calculate size of array
- if (ArgVal2 == 0)
- Count = 1;
- else {
- Count = 0;
- SLONG digits= 0;
- ULONG Tmp= 1;
- if (TypeCode2 == TC_SLONG || TypeCode2 == TC_SWORD || TypeCode2 == TC_SBYTE)
+ ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, 0);
+
+ // Calculate size of array
+ if (IS_SIGNED_TYPE(TypeCode2))
{
- TmpSLong = (SLONG)ArgVal2;
- //Add room for negative sign
- if (TmpSLong < 0) {
- Count++;
- TmpULong= -TmpSLong;
- }
- else
- TmpULong= ArgVal2;
+ Count = sprintf(Buffer, "%d", (SLONG)ArgVal2);
}
else
- TmpULong= ArgVal2;
-
- while (Tmp <= TmpULong && digits < 10) { // maxint is ten digits, max
- Tmp *= 10;
- digits++;
+ {
+ Count = sprintf(Buffer, "%u", ArgVal2);
}
- Count += digits;
- }
- //add room for NULL terminator
- Count++;
+
+ //add room for NULL terminator
+ Count++;
}
//Allocate array
@@ -4697,18 +5201,7 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode)
pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1);
//Populate array
- if (TypeCode2 == TC_FLOAT)
- {
- sprintf(pArg1, FormatString, FltArgVal2);
- }
- else if (TypeCode2 == TC_SLONG || TypeCode2 == TC_SWORD || TypeCode2 == TC_SBYTE)
- {
- sprintf(pArg1, "%d", (SLONG)ArgVal2);
- }
- else
- {
- sprintf(pArg1, "%u", ArgVal2);
- }
+ memcpy(pArg1, Buffer, Count);
}
break;
@@ -4800,6 +5293,8 @@ NXT_STATUS cCmdInterpPolyUnop2(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset
TypeCode1 = cCmdDSType(Arg1);
TypeCode2 = cCmdDSType(Arg2);
+ UBYTE opCode = OP_CODE(&Code);
+
//Simple case, scalar. Solve and return.
if (!IS_AGGREGATE_TYPE(TypeCode2))
{
@@ -4817,7 +5312,7 @@ NXT_STATUS cCmdInterpPolyUnop2(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset
else
{
ArgVal2= cCmdGetScalarValFromDataArg(Arg2, Offset2);
- if(OP_CODE(&Code) == OP_MOV)
+ if(opCode == OP_MOV)
ArgVal1= ArgVal2;
else
ArgVal1 = cCmdUnop2(Code, ArgVal2, TypeCode2);
@@ -4828,11 +5323,11 @@ NXT_STATUS cCmdInterpPolyUnop2(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset
//At least one of the args is an aggregate type
- if(TypeCode1 == TC_ARRAY && TypeCode2 == TC_ARRAY) {
+ if(TypeCode1 == TC_ARRAY && TypeCode2 == TC_ARRAY && opCode == OP_MOV) {
TYPE_CODE tc1, tc2;
tc1= cCmdDSType(INC_ID(Arg1));
tc2= cCmdDSType(INC_ID(Arg2));
- if(tc1 <= TC_LAST_INT_SCALAR && tc1 == tc2) {
+ if((tc1 <= TC_LAST_INT_SCALAR || tc1 == TC_FLOAT) && tc1 == tc2) {
void *pArg1, *pArg2;
ULONG Count = cCmdArrayCount(Arg2, Offset2);
Status = cCmdDSArrayAlloc(Arg1, Offset1, Count);
@@ -4943,6 +5438,10 @@ ULONG cCmdUnop2(CODE_WORD const Code, ULONG Operand, TYPE_CODE TypeCode)
return cCmdCompare(COMP_CODE((&Code)), Operand, 0, TypeCode, TypeCode);
else if(opCode == OP_ABS)
return abs(Operand);
+ else if (opCode == OP_CMNT)
+ return (~Operand);
+ else if (opCode == OP_SIGN)
+ return (((SLONG)Operand) < 0) ? -1 : ((Operand == 0) ? 0 : 1);
else
{
//Unrecognized instruction, NXT_BREAK for easy debugging (ERR_INSTR handled in caller)
@@ -4951,9 +5450,13 @@ ULONG cCmdUnop2(CODE_WORD const Code, ULONG Operand, TYPE_CODE TypeCode)
}
}
+#define DEG2RAD 0.017453F
+#define RAD2DEG 57.29578F
+
float cCmdUnop2Flt(CODE_WORD const Code, float Operand, TYPE_CODE TypeCode)
{
UBYTE opCode;
+ float ip, fp;
opCode = OP_CODE((&Code));
if(opCode == OP_MOV)
@@ -4968,9 +5471,10 @@ float cCmdUnop2Flt(CODE_WORD const Code, float Operand, TYPE_CODE TypeCode)
return cCmdCompareFlt(COMP_CODE((&Code)), Operand, 0, TypeCode, TypeCode);
else if(opCode == OP_ABS)
return fabsf(Operand);
+ else if (opCode == OP_SIGN)
+ return (Operand < 0) ? -1 : ((Operand == 0) ? 0 : 1);
else if(opCode == OP_SQRT)
return sqrtf(Operand);
-#if 0
else if(opCode == OP_SIN)
return sinf(Operand);
else if(opCode == OP_COS)
@@ -4983,7 +5487,50 @@ float cCmdUnop2Flt(CODE_WORD const Code, float Operand, TYPE_CODE TypeCode)
return acosf(Operand);
else if(opCode == OP_ATAN)
return atanf(Operand);
-#endif
+ else if(opCode == OP_CEIL)
+ return ceilf(Operand);
+ else if(opCode == OP_EXP)
+ return expf(Operand);
+ else if(opCode == OP_FLOOR)
+ return floorf(Operand);
+ else if(opCode == OP_LOG)
+ return logf(Operand);
+ else if(opCode == OP_LOG10)
+ return log10f(Operand);
+ else if (opCode == OP_TRUNC)
+ {
+ modff(Operand, &ip);
+ return ip;
+ }
+ else if (opCode == OP_FRAC)
+ {
+ fp = modff(Operand, &ip);
+ return fp;
+ }
+ else if(opCode == OP_SIND)
+ return sinf((float)Operand*DEG2RAD);
+ else if(opCode == OP_COSD)
+ return cosf((float)Operand*DEG2RAD);
+ else if(opCode == OP_TAND)
+ return tanf((float)Operand*DEG2RAD);
+ else if(opCode == OP_ASIND)
+ return (float)(asinf(Operand)*RAD2DEG);
+ else if(opCode == OP_ACOSD)
+ return (float)(acosf(Operand)*RAD2DEG);
+ else if(opCode == OP_ATAND)
+ return (float)(atanf(Operand)*RAD2DEG);
+ else if(opCode == OP_TANH)
+ return tanhf(Operand);
+ else if(opCode == OP_COSH)
+ return coshf(Operand);
+ else if(opCode == OP_SINH)
+ return sinhf(Operand);
+ else if(opCode == OP_TANHD)
+ return tanhf((float)Operand*DEG2RAD);
+ else if(opCode == OP_COSHD)
+ return coshf((float)Operand*DEG2RAD);
+ else if(opCode == OP_SINHD)
+ return sinhf((float)Operand*DEG2RAD);
else
{
//Unrecognized instruction, NXT_BREAK for easy debugging (ERR_INSTR handled in caller)
@@ -5027,7 +5574,7 @@ NXT_STATUS cCmdIOGetSet(ULONG opCode, DATA_ARG Arg1, DATA_ARG Arg2, DATA_ARG Arg
pArg2 = cCmdResolveIODataArg(Arg2, 0, &TypeCode2);
TypeCode1= cCmdDSType(Arg1);
pArg1= cCmdDSScalarPtr(Arg1, 0);
- if(TypeCode1 <= TC_SBYTE && TypeCode1 <= TC_SBYTE) // seems really common
+ if(TypeCode1 <= TC_SBYTE && TypeCode2 <= TC_SBYTE) // seems really common
*(UBYTE*)pArg1= *(UBYTE*)pArg2;
else
cCmdSetVal(pArg1, TypeCode1, cCmdGetVal(pArg2, TypeCode2));
@@ -5126,6 +5673,9 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode)
UBYTE CmpBool;
DV_INDEX DVIndex1, DVIndex2;
UWORD i;
+ void *pArg1 = NULL, *pArg2 = NULL;
+ UWORD Count;
+ TYPE_CODE TypeCode1;
polyBinopDispatch ++;
gPCDelta= 4;
@@ -5136,7 +5686,9 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode)
Arg2 = pCode[2];
Arg3 = pCode[3];
- if (opCode <= OP_XOR) // && ! OP_NEG, can't happen since it is unop
+ if ((opCode <= OP_XOR) ||
+ (opCode >= OP_LSL && opCode <= OP_ROTR) ||
+ (opCode == OP_ATAN2) || (opCode == OP_POW) || (opCode == OP_ATAN2D)) // && ! OP_NEG, can't happen since it is unop
Status= cCmdInterpPolyBinop(opCode, Arg1, 0, Arg2, 0, Arg3, 0);
else if(opCode >= OP_SETIN && opCode <= OP_GETOUT)
Status= cCmdIOGetSet(opCode, Arg1, Arg2, Arg3);
@@ -5205,16 +5757,19 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode)
NXT_ASSERT(cCmdDSType(Arg1) == TC_ARRAY);
+ // determine the type of the array destination arg
+ TYPE_CODE TypeCode = cCmdDSType(INC_ID(Arg1));
+
+ // How many elements do we want?
ArgVal3 = (Arg3 != NOT_A_DS_ID) ? cCmdGetScalarValFromDataArg(Arg3, 0) : 0;
Status = cCmdDSArrayAlloc(Arg1, 0, (UWORD)ArgVal3);
if (!IS_ERR(Status))
{
DVIndex1 = cCmdGetDVIndex(Arg1, 0);
- if(cCmdDSType(Arg2) <= TC_LAST_INT_SCALAR)
+ if(cCmdDSType(Arg2) <= TC_LAST_INT_SCALAR && TypeCode <= TC_LAST_INT_SCALAR)
{
ULONG val= cCmdGetScalarValFromDataArg(Arg2, 0);
- TYPE_CODE TypeCode= cCmdDSType(INC_ID(Arg1));
for (i = 0; i < ArgVal3; i++) // could init ptr and incr by offset GM???
{
//copy Arg2 into each element of Arg1
@@ -5228,6 +5783,79 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode)
}
break;
+ case OP_FMTNUM:
+ {
+ //Check that the destination is a string (array of bytes)
+ if (cCmdDSType(Arg1) != TC_ARRAY || cCmdDSType(INC_ID(Arg1)) != TC_UBYTE) {
+ Status = ERR_INSTR;
+ return (Status);
+ }
+
+ //Check that the format is a string (array of bytes)
+ if (cCmdDSType(Arg2) != TC_ARRAY || cCmdDSType(INC_ID(Arg2)) != TC_UBYTE) {
+ Status = ERR_INSTR;
+ return (Status);
+ }
+
+ pArg2 = cCmdResolveDataArg(Arg2, 0, NULL);
+ TYPE_CODE TypeCode3 = cCmdDSType(Arg3);
+
+ //Make sure we're trying to convert a scalar/float to a string
+ if (TypeCode3 == TC_VOID || (TypeCode3 > TC_LAST_INT_SCALAR && TypeCode3 != TC_FLOAT)) {
+ Status = ERR_INSTR;
+ return (Status);
+ }
+
+ char fmtBuf[256]; // arbitrary limit!!!
+ // handle floats separately from scalar types
+ if (TypeCode3 == TC_FLOAT) {
+ float FltArgVal3 = cCmdGetFloatValFromDataArg(Arg3, 0);
+ Count = sprintf(fmtBuf, pArg2, FltArgVal3);
+ }
+ else
+ {
+ ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, 0);
+ // Calculate size of array
+ if (IS_SIGNED_TYPE(TypeCode3))
+ {
+ Count = sprintf(fmtBuf, pArg2, (SLONG)ArgVal3);
+ }
+ else
+ {
+ Count = sprintf(fmtBuf, pArg2, ArgVal3);
+ }
+ }
+
+ //add room for NULL terminator
+ Count++;
+
+ //Allocate array
+ Status = cCmdDSArrayAlloc(Arg1, 0, Count);
+ if (IS_ERR(Status))
+ return Status;
+
+ pArg1 = cCmdResolveDataArg(Arg1, 0, NULL);
+
+ //Populate array
+ memcpy(pArg1, fmtBuf, Count);
+ }
+ break;
+
+ case OP_ADDROF:
+ {
+ pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1);
+ if (TypeCode1 == TC_ULONG) {
+ pArg2 = cCmdResolveDataArg(Arg2, 0, NULL);
+ if ((UBYTE)Arg3) // relative address requested
+ *(ULONG*)pArg1 = (ULONG)pArg2 - (ULONG)(IOMapCmd.MemoryPool);
+ else
+ *(ULONG*)pArg1 = (ULONG)pArg2;
+ }
+ else
+ Status = ERR_INSTR; // output argument MUST be an unsigned long type
+ }
+ break;
+
default:
{
//Fatal error: Unrecognized instruction
@@ -5470,6 +6098,70 @@ ULONG cCmdBinop(CODE_WORD const Code, ULONG LeftOp, ULONG RightOp, TYPE_CODE Lef
return cCmdCompare(COMP_CODE((&Code)), LeftOp, RightOp, LeftType, RightType);
}
+ case OP_LSL:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative shifts == shifting by zero
+ else
+ return LeftOp << RightOp;
+ }
+
+ case OP_LSR:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative shifts == shifting by zero
+ else
+ return LeftOp >> RightOp;
+ }
+
+ case OP_ASL:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative shifts == shifting by zero
+ else if (!IS_SIGNED_TYPE(LeftType))
+ return LeftOp << RightOp;
+ else
+ return LeftOp * (1 << RightOp);
+ }
+
+ case OP_ASR:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative shifts == shifting by zero
+ else if (!IS_SIGNED_TYPE(LeftType))
+ return LeftOp >> RightOp;
+ else
+ return ((SLONG)LeftOp) / (1 << RightOp);
+ }
+
+ case OP_ROTL:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative rotates == rotating by zero
+ else {
+ if (LeftType == TC_ULONG || LeftType == TC_SLONG)
+ return (LeftOp << RightOp) | (LeftOp >> (32 - RightOp));
+ else if (LeftType == TC_UWORD || LeftType == TC_SWORD)
+ return (((UWORD)LeftOp) << RightOp) | (((UWORD)LeftOp) >> (16 - RightOp));
+ else if (LeftType == TC_UBYTE || LeftType == TC_SBYTE)
+ return (((UBYTE)LeftOp) << RightOp) | (((UBYTE)LeftOp) >> (8 - RightOp));
+ }
+ }
+
+ case OP_ROTR:
+ {
+ if (((SLONG)RightOp) <= 0)
+ return LeftOp; // negative rotates == rotating by zero
+ else {
+ if (LeftType == TC_ULONG || LeftType == TC_SLONG)
+ return (LeftOp >> RightOp) | (LeftOp << (32 - RightOp));
+ else if (LeftType == TC_UWORD || LeftType == TC_SWORD)
+ return (((UWORD)LeftOp) >> RightOp) | (((UWORD)LeftOp) << (16 - RightOp));
+ else if (LeftType == TC_UBYTE || LeftType == TC_SBYTE)
+ return (((UBYTE)LeftOp) >> RightOp) | (((UBYTE)LeftOp) << (8 - RightOp));
+ }
+ }
+
default:
{
//Unrecognized instruction, NXT_BREAK for easy debugging (ERR_INSTR handled in caller)
@@ -5519,7 +6211,7 @@ float cCmdBinopFlt(CODE_WORD const Code, float LeftOp, float RightOp, TYPE_CODE
if (RightOp == 0)
return (LeftOp);
- return (SLONG)LeftOp % (SLONG)RightOp;
+ return fmodf(LeftOp, RightOp);
}
case OP_AND:
@@ -5542,6 +6234,26 @@ float cCmdBinopFlt(CODE_WORD const Code, float LeftOp, float RightOp, TYPE_CODE
return cCmdCompareFlt(COMP_CODE((&Code)), LeftOp, RightOp, LeftType, RightType);
}
+ case OP_ATAN2:
+ {
+ return atan2f(LeftOp, RightOp);
+ }
+
+ case OP_POW:
+ {
+ float intpart, fracpart;
+ fracpart = modff(RightOp, &intpart);
+ if (LeftOp < 0 && fracpart != 0)
+ return 0; // make the result zero if you try to raise a negative number to a fractional exponent
+ else
+ return powf(LeftOp, RightOp);
+ }
+
+ case OP_ATAN2D:
+ {
+ return (float)(atan2f(LeftOp, RightOp)*RAD2DEG);
+ }
+
default:
{
//Unrecognized instruction, NXT_BREAK for easy debugging (ERR_INSTR handled in caller)
@@ -5588,13 +6300,15 @@ NXT_STATUS cCmdInterpShortSubCall(CODE_WORD * const pCode)
return Status;
}
-ULONG moveSameInt= 0, moveDiffInt= 0, moveFloat= 0, moveArrInt= 0, moveOther= 0;
+ULONG moveSameInt= 0, moveDiffInt= 0, moveFloat= 0, moveIntFloat= 0, moveFloatInt= 0, moveArrInt= 0, moveOther= 0;
NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2)
{
NXT_STATUS Status;
DS_TOC_ENTRY *TOC1Ptr= &VarsCmd.pDataspaceTOC[Arg1],
*TOC2Ptr= &VarsCmd.pDataspaceTOC[Arg2];
TYPE_CODE tc1= TOC1Ptr->TypeCode, tc2= TOC2Ptr->TypeCode;
+ UBYTE ElemSize1 = cCmdSizeOf((TOC1Ptr+1)->TypeCode),
+ ElemSize2 = cCmdSizeOf((TOC2Ptr+1)->TypeCode);
void *pArg1, *pArg2;
if(tc1 <= TC_LAST_INT_SCALAR && tc2 <= TC_LAST_INT_SCALAR)
@@ -5628,10 +6342,46 @@ NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2)
*(float*)pArg1= *(float*)pArg2;
Status= NO_ERR;
}
- //!!! Optimized move for arrays of ints.
- else if ((tc1 == TC_ARRAY) && (tc2 == TC_ARRAY)
- && ((TOC1Ptr+1)->TypeCode <= TC_LAST_INT_SCALAR)
- && ((TOC1Ptr+1)->TypeCode == (TOC2Ptr+1)->TypeCode))
+ else if(tc1 == TC_FLOAT && tc2 <= TC_LAST_INT_SCALAR) { // int to float
+ moveIntFloat++;
+ pArg1= VarsCmd.pDataspace + TOC1Ptr->DSOffset;
+ pArg2= VarsCmd.pDataspace + TOC2Ptr->DSOffset;
+ if (tc2 == TC_SLONG)
+ *(float*)pArg1 = *(SLONG*)pArg2;
+ else if (tc2 == TC_ULONG)
+ *(float*)pArg1 = *(ULONG*)pArg2;
+ else if (tc2 == TC_SBYTE)
+ *(float*)pArg1 = *(SBYTE*)pArg2;
+ else if (tc2 == TC_UBYTE)
+ *(float*)pArg1 = *(UBYTE*)pArg2;
+ else if (tc2 == TC_UWORD)
+ *(float*)pArg1 = *(UWORD*)pArg2;
+ else
+ *(float*)pArg1= *(SWORD*)pArg2;
+ Status= NO_ERR;
+ }
+ else if(tc2 == TC_FLOAT && tc1 <= TC_LAST_INT_SCALAR) { // float to int
+ moveFloatInt++;
+ pArg1= VarsCmd.pDataspace + TOC1Ptr->DSOffset;
+ pArg2= VarsCmd.pDataspace + TOC2Ptr->DSOffset;
+ if (tc1 == TC_SLONG)
+ *(SLONG*)pArg1 = *(float*)pArg2;
+ else if (tc1 == TC_ULONG)
+ *(ULONG*)pArg1 = *(float*)pArg2;
+ else if (tc1 == TC_SBYTE)
+ *(SBYTE*)pArg1 = *(float*)pArg2;
+ else if (tc1 == TC_UBYTE)
+ *(UBYTE*)pArg1 = *(float*)pArg2;
+ else if (tc1 == TC_UWORD)
+ *(UWORD*)pArg1 = *(float*)pArg2;
+ else
+ *(SWORD*)pArg1 = *(float*)pArg2;
+ Status= NO_ERR;
+ }
+ //!!! Optimized move for arrays of ints and floats.
+ else if ((tc1 == TC_ARRAY) && (tc2 == TC_ARRAY) &&
+ (((TOC1Ptr+1)->TypeCode <= TC_LAST_INT_SCALAR && ElemSize1 == ElemSize2) ||
+ ((TOC1Ptr+1)->TypeCode == TC_FLOAT && (TOC2Ptr+1)->TypeCode == TC_FLOAT)))
{
ULONG Count;
moveArrInt++;
@@ -5697,6 +6447,23 @@ NXT_STATUS cCmdInterpShortRelease(CODE_WORD * const pCode)
}
+ULONG cCmdGetPortFromValue(ULONG val, ULONG i)
+{
+ ULONG result = NO_OF_OUTPUTS; // invalid NO-OP output
+ if (val < NO_OF_OUTPUTS)
+ result = val;
+ else
+ {
+ if (val <= RC_OUT_ABC)
+ {
+ result = i;
+ if ((val == RC_OUT_BC) || (val == RC_OUT_AC && i))
+ result++;
+ }
+ }
+ return result;
+}
+
//OP_SETOUT gets it's own interpreter function because it is relatively complex
// (called from cCmdInterpOther())
//This also serves as a convenient breakpoint stop for investigating output module behavior
@@ -5708,7 +6475,7 @@ NXT_STATUS cCmdExecuteSetOut(CODE_WORD * const pCode)
*pPort = NULL;
DS_ELEMENT_ID PortArg;
UWORD PortCount, InstrSize;
- ULONG Port, FieldTableIndex, i, j;
+ ULONG Port, FieldTableIndex, i, j, val = 0;
DV_INDEX DVIndex;
//Arg1 = InstrSize
@@ -5730,7 +6497,17 @@ NXT_STATUS cCmdExecuteSetOut(CODE_WORD * const pCode)
PortCount = cCmdArrayCount(PortArg, 0);
}
else
- PortCount = 1;
+ {
+ // arg may refer to multiple ports
+ // (0, 1, 2 are single ports;
+ val = cCmdGetScalarValFromDataArg(PortArg, 0);
+ if (val < NO_OF_OUTPUTS)
+ PortCount = 1;
+ else if (val < RC_OUT_ABC)
+ PortCount = 2;
+ else
+ PortCount = 3;
+ }
//For each port, process all the tuples
for (i = 0; i < PortCount; i++)
@@ -5742,7 +6519,7 @@ NXT_STATUS cCmdExecuteSetOut(CODE_WORD * const pCode)
}
else
{
- Port = cCmdGetScalarValFromDataArg(PortArg, 0);
+ Port = cCmdGetPortFromValue(val, i);
}
//If user specified a valid port, process the tuples. Else, this port is a no-op
@@ -5771,6 +6548,174 @@ NXT_STATUS cCmdExecuteSetOut(CODE_WORD * const pCode)
}
+void shell_sort_u1(UBYTE* A, UWORD size)
+{
+ UWORD i, j, increment;
+ UBYTE temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_s1(SBYTE* A, UWORD size)
+{
+ UWORD i, j, increment;
+ SBYTE temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_u2(UWORD* A, UWORD size)
+{
+ UWORD i, j, increment;
+ UWORD temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_s2(SWORD* A, UWORD size)
+{
+ UWORD i, j, increment;
+ SWORD temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_u4(ULONG* A, UWORD size)
+{
+ UWORD i, j, increment;
+ ULONG temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_s4(SLONG* A, UWORD size)
+{
+ UWORD i, j, increment;
+ SLONG temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
+void shell_sort_flt(float* A, UWORD size)
+{
+ UWORD i, j, increment;
+ float temp;
+ increment = size / 2;
+
+ while (increment > 0) {
+ for (i = increment; i < size; i++) {
+ j = i;
+ temp = A[i];
+ while ((j >= increment) && (A[j-increment] > temp)) {
+ A[j] = A[j - increment];
+ j = j - increment;
+ }
+ A[j] = temp;
+ }
+
+ if (increment == 2)
+ increment = 1;
+ else
+ increment = (UWORD)((float)increment / (float)2.2);
+ }
+}
+
NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
{
NXT_STATUS Status = NO_ERR;
@@ -5811,6 +6756,7 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
//Arg2 - Src
//Arg3 - Index
//Arg4 - New val / array of vals
+ UWORD SrcDims, NewValDims;
Arg1 = pCode[1];
Arg2 = pCode[2];
@@ -5824,7 +6770,8 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
//!!! Could avoid full data copy if we knew which portion to overwrite
if (Arg1 != Arg2)
{
- Status= cCmdMove(Arg1, Arg2);
+// Status= cCmdMove(Arg1, Arg2);
+ Status = cCmdInterpPolyUnop2(OP_MOV, Arg1, 0, Arg2, 0);
if (IS_ERR(Status))
return Status;
}
@@ -5848,13 +6795,17 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
if (ArgVal3 >= ArrayCount1)
return (NO_ERR);
- if (cCmdDSType(Arg4) != TC_ARRAY)
+ SrcDims = cCmdArrayDimensions(Arg2);
+ NewValDims = cCmdArrayDimensions(Arg4);
+ // if the new value argument has an array dimension that is 1 less than
+ // the array dimension of the source array then use MOV to copy data
+ if (NewValDims == (SrcDims-1))
{
Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg1), ARRAY_ELEM_OFFSET(DVIndex1, ArgVal3), Arg4, 0);
if (IS_ERR(Status))
return Status;
}
- else
+ else if (NewValDims == SrcDims)
{
DVIndex4 = cCmdGetDVIndex(Arg4, 0);
@@ -5871,6 +6822,12 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
return Status;
}
}
+ else
+ {
+ // any other situation is unsupported
+ NXT_BREAK;
+ return 0;
+ }
}
break;
@@ -6233,8 +7190,10 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
case OP_STRINGTONUM:
{
+ ULONG ArgVal1;
float ArgValF;
SLONG decimals= 0;
+ UBYTE exponent=FALSE;
UBYTE cont= TRUE;
// Arg1 - Dst number (output)
// Arg2 - Offset past match (output)
@@ -6242,10 +7201,6 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
// Arg4 - Offset
// Arg5 - Default (type/value)
- //!!! Currently, both outputs must have valid destinations.
- // It would be trivial to handle NOT_A_DS_ID to avoid dummy
- // allocations when outputs are unused.
-
Arg1 = pCode[1];
Arg2 = pCode[2];
Arg3 = pCode[3];
@@ -6271,39 +7226,402 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode)
}
//Read number from string
- if (sscanf(((PSZ)pArg3 + ArgVal4), "%f", &ArgValF) == 1)
+ // scan either to integer or float, depending on TypeCode1
+ int scanResult;
+ if (TypeCode1 == TC_FLOAT)
+ scanResult = sscanf(((PSZ)pArg3 + ArgVal4), "%f", &ArgValF);
+ else
+ scanResult = sscanf(((PSZ)pArg3 + ArgVal4), "%d", &ArgVal1);
+ // check the result
+ if (scanResult == 1)
{
- i = (UWORD)ArgVal4;
- //Scan until we see the number, consumes negative sign too
- while ((((UBYTE *)pArg3)[i] < '0') || (((UBYTE *)pArg3)[i] > '9'))
- i++;
-
- //Scan until we get past the number and no more than one decimal
- while (cont) {
- if ((((UBYTE *)pArg3)[i] >= '0') && (((UBYTE *)pArg3)[i] <= '9'))
- i++;
- else if(((UBYTE *)pArg3)[i] == '.' && !decimals) {
+ if (Arg2 != NOT_A_DS_ID)
+ {
+ i = (UWORD)ArgVal4;
+ //Scan until we see the number, consumes negative sign too
+ while ((((UBYTE *)pArg3)[i] < '0') || (((UBYTE *)pArg3)[i] > '9'))
i++;
- decimals++;
+
+ if (TypeCode1 == TC_FLOAT)
+ {
+ //Scan until we get past the number and no more than one decimal
+ // optionally there can also be a single "e" or "E" followed by
+ // one or more digits (but the decimal cannot come after this)
+ while (cont) {
+ UBYTE ch = ((UBYTE *)pArg3)[i];
+ if ((ch >= '0') && (ch <= '9'))
+ i++;
+ else if(ch == '.' && !decimals && !exponent) {
+ i++;
+ decimals++;
+ }
+ else if (((ch == 'E') || (ch == 'e')) && !exponent) {
+ i++;
+ exponent = TRUE;
+ }
+ else
+ cont= FALSE;
}
- else
- cont= FALSE;
+ }
+ else {
+ //Scan until we get past the number
+ while ((((UBYTE *)pArg3)[i] >= '0') && (((UBYTE *)pArg3)[i] <= '9'))
+ i++;
+ }
+ ArgVal2 = i;
}
- ArgVal2 = i;
}
else
{
//Number wasn't found in string, use defaults
ArgValF = ArgVal5;
+ ArgVal1 = ArgVal5;
ArgVal2 = 0;
}
//Set outputs
- cCmdSetValFlt(pArg1, TypeCode1, ArgValF);
- cCmdSetScalarValFromDataArg(Arg2, ArgVal2);
+ if (TypeCode1 == TC_FLOAT)
+ cCmdSetValFlt(pArg1, TypeCode1, ArgValF);
+ else
+ cCmdSetVal(pArg1, TypeCode1, ArgVal1);
+ if (Arg2 != NOT_A_DS_ID)
+ cCmdSetScalarValFromDataArg(Arg2, ArgVal2);
+ }
+ break;
+
+ case OP_ARROP:
+ {
+ //Arg1 - Command (immediate constant)
+ //Arg2 - Dst (scalar|array)
+ //Arg3 - Src (scalar array)
+ //Arg4 - Index
+ //Arg5 - Length
+
+ Arg1 = pCode[1];
+ Arg2 = pCode[2];
+ Arg3 = pCode[3];
+ Arg4 = pCode[4];
+ Arg5 = pCode[5];
+
+ // array operation
+ if (Arg1 == OPARR_SORT) {
+ // source must be an array of non-aggregate type
+ NXT_ASSERT(cCmdDSType(Arg2) == TC_ARRAY);
+ TypeCode2 = cCmdDSType(INC_ID(Arg2));
+ NXT_ASSERT(!IS_AGGREGATE_TYPE(TypeCode2));
+ }
+ else {
+ // destination must be a non-aggregate type
+ NXT_ASSERT(!IS_AGGREGATE_TYPE(cCmdDSType(Arg2)));
+ }
+ // source must be an array of non-aggregate type
+ NXT_ASSERT(cCmdDSType(Arg3) == TC_ARRAY);
+ TypeCode3 = cCmdDSType(INC_ID(Arg3));
+ NXT_ASSERT(!IS_AGGREGATE_TYPE(TypeCode3));
+
+ ArrayCount3 = cCmdArrayCount(Arg3, 0);
+
+ if (Arg4 != NOT_A_DS_ID)
+ ArgVal4 = cCmdGetScalarValFromDataArg(Arg4, 0);
+ else //Index input unwired
+ ArgVal4 = 0;
+
+ if (Arg5 != NOT_A_DS_ID)
+ ArgVal5 = cCmdGetScalarValFromDataArg(Arg5, 0);
+ else //Length input unwired, set to "rest"
+ ArgVal5 = 0xFFFF;
+
+ //Bounds check
+ if (ArgVal4 > ArrayCount3)
+ {
+ if (Arg1 == OPARR_SORT) {
+ //Illegal range - return empty subset
+ Status = cCmdDSArrayAlloc(Arg2, 0, 0);
+ return Status;
+ }
+ else {
+ //Illegal range - return zero
+ pArg2 = cCmdResolveDataArg(Arg2, 0, &TypeCode2);
+ cCmdSetVal(pArg2, TypeCode2, 0);
+ return NO_ERR;
+ }
+ }
+
+ //Set MinCount to "rest"
+ MinCount = (UWORD)(ArrayCount3 - ArgVal4);
+
+ // Copy "Length" if it is less than "rest"
+ if (ArgVal5 < (ULONG)MinCount)
+ MinCount = (UWORD)ArgVal5;
+
+ DV_INDEX DVIndex3 = cCmdGetDVIndex(Arg3, 0);
+
+ SLONG sval, svaltmp;
+ ULONG uval, uvaltmp;
+ float fval, fvaltmp;
+ float numElements = (float)MinCount;
+ //sum elements from src subset to dst
+ if ((Arg1 == OPARR_SUM) || (Arg1 == OPARR_MEAN) ||
+ (Arg1 == OPARR_SUMSQR) || (Arg1 == OPARR_STD))
+ {
+ pArg2 = cCmdResolveDataArg(Arg2, 0, &TypeCode2);
+ if (TypeCode3 == TC_FLOAT)
+ {
+ fval = 0;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ fvaltmp = cCmdGetValFlt(pArg3, TypeCode3);
+ if (Arg1 == OPARR_SUMSQR)
+ fvaltmp *= fvaltmp;
+ fval += fvaltmp;
+ }
+ if (Arg1 == OPARR_MEAN)
+ cCmdSetValFlt(pArg2, TypeCode2, fval/numElements);
+ else if (Arg1 != OPARR_STD)
+ cCmdSetValFlt(pArg2, TypeCode2, fval);
+ }
+ else if (IS_SIGNED_TYPE(TypeCode3) && (Arg1 != OPARR_SUMSQR))
+ {
+ sval = 0;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ svaltmp = (SLONG)cCmdGetVal(pArg3, TypeCode3);
+ sval += svaltmp;
+ }
+ if (Arg1 == OPARR_MEAN)
+ cCmdSetVal(pArg2, TypeCode2, (SLONG)(float)sval/numElements);
+ else if (Arg1 != OPARR_STD)
+ cCmdSetVal(pArg2, TypeCode2, sval);
+ }
+ else
+ {
+ uval = 0;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ if (IS_SIGNED_TYPE(TypeCode3))
+ {
+ // this can only be the SUMSQR operation (given the IF statement above)
+ svaltmp = cCmdGetVal(pArg3, TypeCode3);
+ uvaltmp = (ULONG)abs(svaltmp) * (ULONG)abs(svaltmp);
+ uval += uvaltmp;
+ }
+ else {
+ uvaltmp = cCmdGetVal(pArg3, TypeCode3);
+ if (Arg1 == OPARR_SUMSQR)
+ uvaltmp *= uvaltmp;
+ uval += uvaltmp;
+ }
+ }
+ if (Arg1 == OPARR_MEAN)
+ cCmdSetVal(pArg2, TypeCode2, (ULONG)(float)uval/numElements);
+ else if (Arg1 != OPARR_STD)
+ cCmdSetVal(pArg2, TypeCode2, uval);
+ }
+ // calculate standard deviation
+ if (Arg1 == OPARR_STD)
+ {
+ float avg, delta, sumSqr;
+ if (TypeCode3 == TC_FLOAT)
+ avg = fval/numElements;
+ else if (IS_SIGNED_TYPE(TypeCode3))
+ avg = (float)sval/numElements;
+ else
+ avg = (float)uval/numElements;
+ sumSqr = 0;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ if (TypeCode3 == TC_FLOAT)
+ delta = cCmdGetValFlt(pArg3, TypeCode3) - avg;
+ if (IS_SIGNED_TYPE(TypeCode3))
+ delta = (float)(SLONG)cCmdGetVal(pArg3, TypeCode3) - avg;
+ else // unsigned types
+ delta = (float)cCmdGetVal(pArg3, TypeCode3) - avg;
+ sumSqr += (delta*delta);
+ }
+ delta = sqrtf(sumSqr / (numElements - (float)1.0));
+ if (TypeCode3 == TC_FLOAT)
+ cCmdSetValFlt(pArg2, TypeCode2, delta);
+ else if (IS_SIGNED_TYPE(TypeCode3))
+ cCmdSetVal(pArg2, TypeCode2, (SLONG)delta);
+ else
+ cCmdSetVal(pArg2, TypeCode2, (ULONG)delta);
+ }
+ }
+ else if ((Arg1 == OPARR_MIN) || (Arg1 == OPARR_MAX))
+ {
+ pArg2 = cCmdResolveDataArg(Arg2, 0, &TypeCode2);
+ if (TypeCode3 == TC_FLOAT)
+ {
+ if (Arg1 == OPARR_MIN)
+ fval = FLT_MAX;
+ else
+ fval = -FLT_MAX;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ fvaltmp = cCmdGetValFlt(pArg3, TypeCode3);
+ if (((Arg1 == OPARR_MIN) && (fvaltmp < fval)) ||
+ ((Arg1 == OPARR_MAX) && (fvaltmp > fval)))
+ fval = fvaltmp;
+ }
+ cCmdSetValFlt(pArg2, TypeCode2, fval);
+ }
+ else if (IS_SIGNED_TYPE(TypeCode3))
+ {
+ if (Arg1 == OPARR_MIN)
+ sval = LONG_MAX;
+ else
+ sval = LONG_MIN;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ svaltmp = (SLONG)cCmdGetVal(pArg3, TypeCode3);
+ if (((Arg1 == OPARR_MIN) && (svaltmp < sval)) ||
+ ((Arg1 == OPARR_MAX) && (svaltmp > sval)))
+ sval = svaltmp;
+ }
+ cCmdSetVal(pArg2, TypeCode2, sval);
+ }
+ else
+ {
+ if (Arg1 == OPARR_MIN)
+ uval = ULONG_MAX;
+ else
+ uval = 0;
+ for (i = 0; i < MinCount; i++)
+ {
+ pArg3 = cCmdResolveDataArg(INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i), NULL);
+ uvaltmp = cCmdGetVal(pArg3, TypeCode3);
+ if (((Arg1 == OPARR_MIN) && (uvaltmp < uval)) ||
+ ((Arg1 == OPARR_MAX) && (uvaltmp > uval)))
+ uval = uvaltmp;
+ }
+ cCmdSetVal(pArg2, TypeCode2, uval);
+ }
+ }
+ else if (Arg1 == OPARR_SORT)
+ {
+ //Allocate Dst array
+ Status = cCmdDSArrayAlloc(Arg2, 0, MinCount);
+ if (IS_ERR(Status))
+ return Status;
+
+ DVIndex2 = cCmdGetDVIndex(Arg2, 0);
+
+ //Move src subset to dst
+ for (i = 0; i < MinCount; i++)
+ {
+ Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg2), ARRAY_ELEM_OFFSET(DVIndex2, i), INC_ID(Arg3), ARRAY_ELEM_OFFSET(DVIndex3, ArgVal4 + i));
+ if (IS_ERR(Status))
+ return Status;
+ }
+ // now dst is ready to be sorted
+ pArg2 = cCmdResolveDataArg(Arg2, 0, NULL);
+ Size = cCmdSizeOf(TypeCode2);
+ if (TypeCode2 == TC_SBYTE)
+ shell_sort_s1(pArg2, MinCount);
+ else if (TypeCode2 == TC_SWORD)
+ shell_sort_s2(pArg2, MinCount);
+ else if (TypeCode2 == TC_SLONG)
+ shell_sort_s4(pArg2, MinCount);
+ else if (TypeCode2 == TC_UBYTE)
+ shell_sort_u1(pArg2, MinCount);
+ else if (TypeCode2 == TC_UWORD)
+ shell_sort_u2(pArg2, MinCount);
+ else if (TypeCode2 == TC_ULONG)
+ shell_sort_u4(pArg2, MinCount);
+ else if (TypeCode2 == TC_FLOAT)
+ shell_sort_flt(pArg2, MinCount);
+ }
+ else
+ {
+ //Fatal error: Unrecognized instruction
+ NXT_BREAK;
+ Status = ERR_INSTR;
+ }
}
break;
+ case OP_MULDIV:
+ {
+ //Arg1 - Dst (scalar)
+ //Arg2 - SrcA (scalar)
+ //Arg3 - SrcB (scalar)
+ //Arg4 - SrcC (scalar)
+
+ Arg1 = pCode[1];
+ Arg2 = pCode[2];
+ Arg3 = pCode[3];
+ Arg4 = pCode[4];
+ ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, 0);
+ ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, 0);
+ ArgVal4 = cCmdGetScalarValFromDataArg(Arg4, 0);
+ ArgVal3 = (ULONG)(((long long)ArgVal2*(long long)ArgVal3)/(long long)ArgVal4);
+ pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1);
+ cCmdSetVal(pArg1, TypeCode1, ArgVal3);
+ }
+ break;
+
+/*
+ case OP_PRINTF:
+ {
+ // Arg1 - Instruction Size in bytes
+ // Arg2 - Dst
+ // Arg3 - Fmtstr
+ // Arg4-N - Srcs (max args = 8)
+ void *srcPtrs[8] = {NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+ void *pArg2 = NULL, *pArg3 = NULL;
+
+ Arg2 = pCode[2];
+ Arg3 = pCode[3];
+
+ //Make sure Dst arg is a string
+ NXT_ASSERT(cCmdDSType(Arg2) == TC_ARRAY);
+ NXT_ASSERT(cCmdDSType(INC_ID(Arg2)) == TC_UBYTE);
+
+ //Make sure Fmtstr arg is a string
+ NXT_ASSERT(cCmdDSType(Arg3) == TC_ARRAY);
+ NXT_ASSERT(cCmdDSType(INC_ID(Arg3)) == TC_UBYTE);
+
+ //Number of Srcs = total code words - 4 (account for opcode word, size, Dst, and Fmtstr)
+ //!!! Argument access like this is potentially unsafe.
+ //A function/macro which checks proper encoding would be better
+ SrcCount = (pCode[1] / 2) - 4;
+ if (SrcCount > 8) {
+ Status = ERR_INSTR;
+ return (Status);
+ }
+
+ // get pointers to Dst and FmtSt
+ pArg2 = cCmdResolveDataArg(Arg2, 0, &TypeCode2);
+ pArg3 = cCmdResolveDataArg(Arg3, 0, &TypeCode3);
+
+ // resolve src pointers for all our sources
+ for (i = 0; i < SrcCount; i++)
+ {
+ TmpDSID = pCode[4 + i];
+ TYPE_CODE tc = cCmdDSType(TmpDSID);
+ if ((tc == TC_ARRAY && cCmdDSType(INC_ID(TmpDSID)) != TC_UBYTE) ||
+ (tc == TC_VOID) || (tc > TC_LAST_INT_SCALAR && tc != TC_FLOAT))
+ {
+ // invalid source (only scalars, floats, and strings are supported)
+ Status = ERR_INSTR;
+ return (Status);
+ }
+ srcPtrs[i] = cCmdResolveDataArg(TmpDSID, 0, &TypeCode1);
+ }
+
+ //Calculate Dst array count
+ ArrayCount2 = sprintf(NULL, pArg3, srcPtrs[0], srcPtrs[1], srcPtrs[2],
+ srcPtrs[3], srcPtrs[4], srcPtrs[5],
+ srcPtrs[6], srcPtrs[7], srcPtrs[8]);
+ }
+ break;
+*/
default:
{
//Fatal error: Unrecognized instruction
@@ -6375,13 +7693,17 @@ UBYTE cCmdLSCalcBytesReady(UBYTE Port)
//If InPtr is actually behind OutPtr, circular buffer has wrapped. Account for wrappage...
if (Tmp < 0)
Tmp = (pInBuf->InPtr + (SIZE_OF_LSBUF - pInBuf->OutPtr));
+ else if ((Tmp == 0) &&
+ (pInBuf->BytesToRx == SIZE_OF_LSBUF) &&
+ (pMapLowSpeed->ChannelState[Port] == LOWSPEED_IDLE))
+ Tmp = SIZE_OF_LSBUF;
return (UBYTE)(Tmp);
}
//cCmdLSWrite
//Write BufLength bytes into specified port's lowspeed buffer and kick off comm process to device
-NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseLength)
+NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseLength, UBYTE NoRestartOnRead)
{
if (Port >= NO_OF_LOWSPEED_COM_CHANNEL)
{
@@ -6412,6 +7734,10 @@ NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseL
*pChState = LOWSPEED_INIT;
pMapLowSpeed->State |= (COM_CHANNEL_ONE_ACTIVE << Port);
+ if (NoRestartOnRead)
+ pMapLowSpeed->NoRestartOnRead |= (0x01 << Port);
+ else
+ pMapLowSpeed->NoRestartOnRead &= ~(0x01 << Port);
return (NO_ERR);
}
@@ -6459,9 +7785,10 @@ NXT_STATUS cCmdLSRead(UBYTE Port, UBYTE BufLength, UBYTE * pBuf)
pBuf += BytesToRead;
BytesToRead = BufLength - BytesToRead;
}
-
- memcpy(pBuf, pInBuf->Buf + pInBuf->OutPtr, BytesToRead);
- pInBuf->OutPtr += BytesToRead;
+ if (BytesToRead > 0) {
+ memcpy(pBuf, pInBuf->Buf + pInBuf->OutPtr, BytesToRead);
+ pInBuf->OutPtr += BytesToRead;
+ }
return (NO_ERR);
}
@@ -6471,13 +7798,7 @@ NXT_STATUS cCmdLSRead(UBYTE Port, UBYTE BufLength, UBYTE * pBuf)
//Wrappers for OP_SYSCALL
//
-//
-//cCmdWrapFileOpenRead
-//ArgV[0]: (Function return) Loader status, U16 return
-//ArgV[1]: File Handle, U8 return
-//ArgV[2]: Filename, CStr
-//ArgV[3]: Length, U32 return
-NXT_STATUS cCmdWrapFileOpenRead(UBYTE * ArgV[])
+NXT_STATUS cCmdWrapFileOpenReadHelper(UBYTE Cmd, UBYTE * ArgV[])
{
LOADER_STATUS LStatus;
DV_INDEX DVIndex;
@@ -6486,7 +7807,7 @@ NXT_STATUS cCmdWrapFileOpenRead(UBYTE * ArgV[])
DVIndex = *(DV_INDEX *)(ArgV[2]);
ArgV[2] = cCmdDVPtr(DVIndex);
- LStatus = pMapLoader->pFunc(OPENREAD, ArgV[2], NULL, (ULONG *)ArgV[3]);
+ LStatus = pMapLoader->pFunc(Cmd, ArgV[2], NULL, (ULONG *)ArgV[3]);
//Add entry into FileHandleTable
if (LOADER_ERR(LStatus) == SUCCESS)
@@ -6503,12 +7824,7 @@ NXT_STATUS cCmdWrapFileOpenRead(UBYTE * ArgV[])
return NO_ERR;
}
-//cCmdWrapFileOpenWrite
-//ArgV[0]: (Function return) Loader status, U16 return
-//ArgV[1]: File Handle, U8 return
-//ArgV[2]: Filename, CStr
-//ArgV[3]: Length, U32 return
-NXT_STATUS cCmdWrapFileOpenWrite(UBYTE * ArgV[])
+NXT_STATUS cCmdWrapFileOpenWriteHelper(UBYTE Cmd, UBYTE * ArgV[])
{
LOADER_STATUS LStatus;
DV_INDEX DVIndex;
@@ -6517,7 +7833,7 @@ NXT_STATUS cCmdWrapFileOpenWrite(UBYTE * ArgV[])
DVIndex = *(DV_INDEX *)(ArgV[2]);
ArgV[2] = cCmdDVPtr(DVIndex);
- LStatus = pMapLoader->pFunc(OPENWRITEDATA, ArgV[2], NULL, (ULONG *)ArgV[3]);
+ LStatus = pMapLoader->pFunc(Cmd, ArgV[2], NULL, (ULONG *)ArgV[3]);
//Add entry into FileHandleTable
if (LOADER_ERR(LStatus) == SUCCESS)
@@ -6534,6 +7850,27 @@ NXT_STATUS cCmdWrapFileOpenWrite(UBYTE * ArgV[])
return NO_ERR;
}
+//
+//cCmdWrapFileOpenRead
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 return
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Length, U32 return
+NXT_STATUS cCmdWrapFileOpenRead(UBYTE * ArgV[])
+{
+ return cCmdWrapFileOpenReadHelper(OPENREAD, ArgV);
+}
+
+//cCmdWrapFileOpenWrite
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 return
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Length, U32 return
+NXT_STATUS cCmdWrapFileOpenWrite(UBYTE * ArgV[])
+{
+ return cCmdWrapFileOpenWriteHelper(OPENWRITEDATA, ArgV);
+}
+
//cCmdWrapFileOpenAppend
//ArgV[0]: (Function return) Loader status, U16 return
//ArgV[1]: File Handle, U8 return
@@ -6541,28 +7878,7 @@ NXT_STATUS cCmdWrapFileOpenWrite(UBYTE * ArgV[])
//ArgV[3]: Length Remaining, U32 return
NXT_STATUS cCmdWrapFileOpenAppend(UBYTE * ArgV[])
{
- LOADER_STATUS LStatus;
- DV_INDEX DVIndex;
-
- //Resolve array argument
- DVIndex = *(DV_INDEX *)(ArgV[2]);
- ArgV[2] = cCmdDVPtr(DVIndex);
-
- LStatus = pMapLoader->pFunc(OPENAPPENDDATA, ArgV[2], NULL, (ULONG *)ArgV[3]);
-
- //Add entry into FileHandleTable
- if (LOADER_ERR(LStatus) == SUCCESS)
- {
- VarsCmd.FileHandleTable[LOADER_HANDLE(LStatus)][0] = 'w';
- strcpy((PSZ)(VarsCmd.FileHandleTable[LOADER_HANDLE(LStatus)] + 1), (PSZ)(ArgV[2]));
- }
-
- //Status code in high byte of LStatus
- *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
- //File handle in low byte of LStatus
- *(ArgV[1]) = LOADER_HANDLE(LStatus);
-
- return NO_ERR;
+ return cCmdWrapFileOpenWriteHelper(OPENAPPENDDATA, ArgV);
}
//cCmdWrapFileRead
@@ -6898,7 +8214,7 @@ NXT_STATUS cCmdWrapCommLSWrite(UBYTE * ArgV[])
pBuf = cCmdDVPtr(DVIndex);
BufLength = DV_ARRAY[DVIndex].Count;
- *pReturnVal = cCmdLSWrite(Port, (UBYTE)BufLength, pBuf, ResponseLength);
+ *pReturnVal = cCmdLSWrite(Port, (UBYTE)BufLength, pBuf, ResponseLength, 0);
return (NO_ERR);
}
@@ -7304,7 +8620,7 @@ NXT_STATUS cCmdWrapKeepAlive(UBYTE * ArgV[])
-#define MAX_IOM_BUFFER_SIZE 64
+#define MAX_IOM_BUFFER_SIZE 800
//
//cCmdWrapIOMapRead
//ArgV[0]: (return) Status byte, SBYTE
@@ -7527,6 +8843,7 @@ void cCmdWriteBenchmarkFile()
//
NXT_STATUS cCmdWrapDatalogWrite(UBYTE * ArgV[])
{
+#ifndef STRIPPED
NXT_STATUS Status = NO_ERR;
DV_INDEX DVIndex;
@@ -7542,6 +8859,9 @@ NXT_STATUS cCmdWrapDatalogWrite(UBYTE * ArgV[])
return Status;
else
return (NO_ERR);
+#else
+ return (NO_ERR);
+#endif
}
//
@@ -7551,8 +8871,10 @@ NXT_STATUS cCmdWrapDatalogWrite(UBYTE * ArgV[])
//
NXT_STATUS cCmdWrapDatalogGetTimes(UBYTE * ArgV[])
{
+#ifndef STRIPPED
*((ULONG *)ArgV[1]) = IOMapCmd.SyncTime;
*((ULONG *)ArgV[2]) = IOMapCmd.SyncTick;
+#endif
return (NO_ERR);
}
@@ -7579,104 +8901,16 @@ NXT_STATUS cCmdWrapSetSleepTimeout(UBYTE * ArgV[])
return (NO_ERR);
}
-// currently copied from LS, not finished.
-//
-//cCmdWrapCommHSWrite
-//ArgV[0]: (return) Status code, SBYTE
-//ArgV[1]: Port specifier, UBYTE
-//ArgV[2]: Buffer to send, UBYTE array, only SIZE_OF_LSBUF bytes will be used
-//ArgV[3]: ResponseLength, UBYTE, specifies expected bytes back from slave device
-//
-NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[])
-{
- SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
- UBYTE Port = *(ArgV[1]);
- UBYTE * pBuf;
- UWORD BufLength;
- UBYTE ResponseLength = *(ArgV[3]);
- DV_INDEX DVIndex;
-
- //Resolve array arguments
- DVIndex = *(DV_INDEX *)(ArgV[2]);
- pBuf = cCmdDVPtr(DVIndex);
- BufLength = DV_ARRAY[DVIndex].Count;
-
- *pReturnVal = cCmdLSWrite(Port, (UBYTE)BufLength, pBuf, ResponseLength);
-
- return (NO_ERR);
-}
-
-//
-//cCmdWrapCommHSCheckStatus
-//ArgV[0]: (return) Status code, SBYTE
-//ArgV[1]: Port specifier, UBYTE
-//ArgV[2]: BytesReady, UBYTE
-//
-NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[])
-{
- UBYTE Port = *(ArgV[1]);
-
- *((SBYTE*)(ArgV[0])) = cCmdLSCheckStatus(Port);
- *((UBYTE*)(ArgV[2])) = cCmdLSCalcBytesReady(Port);
-
- return (NO_ERR);
-}
-
-//
-//cCmdWrapCommHSRead
-//ArgV[0]: (return) Status code, SBYTE
-//ArgV[1]: Port specifier, UBYTE
-//ArgV[2]: Buffer for data, UBYTE array, max SIZE_OF_LSBUF bytes will be written
-//ArgV[3]: BufferLength, UBYTE, specifies size of buffer requested
-//
-NXT_STATUS cCmdWrapCommHSRead(UBYTE * ArgV[])
-{
- SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
- UBYTE Port = *(ArgV[1]);
- UBYTE * pBuf;
- UBYTE BufLength = *(ArgV[3]);
- UBYTE BytesToRead;
- DV_INDEX DVIndex = *(DV_INDEX *)(ArgV[2]);
- NXT_STATUS AllocStatus;
-
- *pReturnVal = cCmdLSCheckStatus(Port);
- BytesToRead = cCmdLSCalcBytesReady(Port);
-
- //If channel is OK and has data ready for us, put the data into outgoing buffer
- if (!IS_ERR(*pReturnVal) && BytesToRead > 0)
- {
- //Limit buffer to available data
- if (BufLength > BytesToRead)
- BufLength = BytesToRead;
-
- AllocStatus = cCmdDVArrayAlloc(DVIndex, BufLength);
- if (IS_ERR(AllocStatus))
- return (AllocStatus);
-
- pBuf = cCmdDVPtr(DVIndex);
- *pReturnVal = cCmdLSRead(Port, BufLength, pBuf);
- }
- //Else, the channel has an error and/or there's no data to read; clear the output array
- else
- {
- AllocStatus = cCmdDVArrayAlloc(DVIndex, 0);
- if (IS_ERR(AllocStatus))
- return (AllocStatus);
- }
-
- return (NO_ERR);
-}
-
//
//cCmdWrapCommBTOnOff
-//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[0]: (return) Status byte, SBYTE // JCH - this should be UWORD
//ArgV[1]: Power State, 0-1
//
NXT_STATUS cCmdWrapCommBTOnOff(UBYTE * ArgV[])
{
UWORD retVal;
- NXT_STATUS status;
- SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UWORD status;
+ UWORD * pReturnVal = (UWORD*)(ArgV[0]);
UBYTE powerState = *(ArgV[1]);
if(powerState)
@@ -7690,7 +8924,7 @@ NXT_STATUS cCmdWrapCommBTOnOff(UBYTE * ArgV[])
//
//cCmdWrapCommBTConnection
-//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[0]: (return) Status byte, SBYTE // JCH - this should be UWORD
//ArgV[1]: Action, UBYTE
//ArgV[2]: name, UBYTE array CStr
//ArgV[3]: connection slot, UBYTE
@@ -7698,8 +8932,8 @@ NXT_STATUS cCmdWrapCommBTOnOff(UBYTE * ArgV[])
NXT_STATUS cCmdWrapCommBTConnection(UBYTE * ArgV[])
{
UWORD retVal;
- NXT_STATUS status;
- SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UWORD status;
+ UWORD * pReturnVal = (UWORD*)(ArgV[0]);
UBYTE *nmPtr;
UBYTE action = *(ArgV[1]);
@@ -7961,6 +9195,609 @@ NXT_STATUS cCmdWrapListFiles (UBYTE * ArgV[])
return Status;
}
+//
+//cCmdWrapCommExecuteFunction
+//ArgV[0]: (return) Result word, UWORD
+//ArgV[1]: UBYTE Cmd
+//ArgV[2]: UBYTE Param1
+//ArgV[3]: UBYTE Param2
+//ArgV[4]: UBYTE Param3
+//ArgV[5]: Name, UBYTE array
+//ArgV[6]: UWORD RetVal
+//
+NXT_STATUS cCmdWrapCommExecuteFunction(UBYTE * ArgV[])
+{
+ // resolve Name
+ ArgV[5] = cCmdDVPtr(*(DV_INDEX *)(ArgV[5]));
+
+ *(UWORD*)(ArgV[0]) =
+ pMapComm->pFunc(*(UBYTE*)(ArgV[1]),
+ *(UBYTE*)(ArgV[2]),
+ *(UBYTE*)(ArgV[3]),
+ *(UBYTE*)(ArgV[4]),
+ (UBYTE*)(ArgV[5]),
+ (UWORD*)(ArgV[6]));
+ return (NO_ERR);
+}
+
+//
+//cCmdWrapLoaderExecuteFunction
+//ArgV[0]: (return) Result word, UWORD
+//ArgV[1]: UBYTE Cmd
+//ArgV[2]: FileName, UBYTE array
+//ArgV[3]: Buffer, UBYTE array
+//ArgV[4]: ULONG pLength
+//
+NXT_STATUS cCmdWrapLoaderExecuteFunction(UBYTE * ArgV[])
+{
+ // resolve FileName
+ ArgV[2] = cCmdDVPtr(*(DV_INDEX *)(ArgV[2]));
+ // resolve Buffer
+ ArgV[3] = cCmdDVPtr(*(DV_INDEX *)(ArgV[3]));
+
+ *(UWORD*)(ArgV[0]) =
+ pMapLoader->pFunc(*(UBYTE*)(ArgV[1]),
+ (UBYTE*)(ArgV[2]),
+ (UBYTE*)(ArgV[3]),
+ (ULONG*)(ArgV[4]));
+ return (NO_ERR);
+}
+
+//
+//cCmdWrapIOMapReadByID
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: ModuleID, ULONG
+//ArgV[2]: Offset, UWORD
+//ArgV[3]: Count, UWORD
+//ArgV[4]: Buffer, UBYTE array
+//
+NXT_STATUS cCmdWrapIOMapReadByID(UBYTE * ArgV[])
+{
+ UWORD LStatus;
+ NXT_STATUS Status;
+
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UWORD Offset = *(UWORD*)(ArgV[2]);
+ //Our copy of 'Count' must be a ULONG to match the loader interface
+ ULONG Count = *(UWORD*)(ArgV[3]);
+ ULONG ModuleID = *(ULONG*)ArgV[1];
+
+ DV_INDEX DVIndex;
+
+ //Buffer to store data and offset in for IOMAPREAD call
+ //!!! Constant size means only limited reads and writes
+ UBYTE DataBuffer[MAX_IOM_BUFFER_SIZE + 2];
+
+ if (Count > MAX_IOM_BUFFER_SIZE)
+ {
+ //Request to read too much data at once; clear buffer, return error.
+ DVIndex = *(DV_INDEX *)(ArgV[4]);
+ *pReturnVal = cCmdDVArrayAlloc(DVIndex, 0);
+ if (IS_ERR(*pReturnVal))
+ return (*pReturnVal);
+
+ *pReturnVal = ERR_INVALID_SIZE;
+ return (NO_ERR);
+ }
+
+ //Module was found, transfer Offset into first two bytes of DataBuffer and attempt to read
+ *(UWORD*)(DataBuffer) = Offset;
+ LStatus = pMapLoader->pFunc(IOMAPREAD, (UBYTE *)&ModuleID, DataBuffer, &Count);
+
+ if (LOADER_ERR(LStatus) == SUCCESS)
+ {
+ //No error from IOMAPREAD, so copy the data into VM's dataspace
+ //Size destination array
+ DVIndex = *(DV_INDEX *)(ArgV[4]);
+ Status = cCmdDVArrayAlloc(DVIndex, (UWORD)Count);
+ if (IS_ERR(Status))
+ {
+ //Alloc failed, so return
+ return (Status);
+ }
+
+ //Alloc succeeded, so resolve and copy away
+ ArgV[4] = cCmdDVPtr(DVIndex);
+ memcpy(ArgV[4], &(DataBuffer[2]), Count);
+ }
+
+ *pReturnVal = LOADER_ERR_BYTE(LStatus);
+
+ return (NO_ERR);
+}
+
+//
+//cCmdWrapIOMapWriteByID
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: ModuleID, ULONG
+//ArgV[2]: Offset, UWORD
+//ArgV[3]: Buffer, UBYTE array
+//
+NXT_STATUS cCmdWrapIOMapWriteByID(UBYTE * ArgV[])
+{
+ UWORD LStatus;
+
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UWORD Offset = *(UWORD*)(ArgV[2]);
+ ULONG ModuleID = *(ULONG*)ArgV[1];
+
+ //Our copy of 'Count' must be a ULONG to match the loader interface
+ ULONG Count;
+ DV_INDEX DVIndex;
+
+ //Buffer to store data and offset in for IOMAPREAD call
+ //!!! Constant size means only limited reads and writes
+ UBYTE DataBuffer[MAX_IOM_BUFFER_SIZE + 2];
+
+ //Resolve buffer
+ DVIndex = *(DV_INDEX *)(ArgV[3]);
+ ArgV[3] = cCmdDVPtr(DVIndex);
+ Count = DV_ARRAY[DVIndex].Count;
+
+ if (Count > MAX_IOM_BUFFER_SIZE)
+ {
+ //Request to read too much data at once; return error and give up
+ *pReturnVal = ERR_INVALID_SIZE;
+ return (NO_ERR);
+ }
+
+ //Module was found, transfer Offset into first two bytes of DataBuffer, copy data into rest of buffer, then write
+ *(UWORD*)(DataBuffer) = Offset;
+ memcpy(&(DataBuffer[2]), ArgV[3], Count);
+ LStatus = pMapLoader->pFunc(IOMAPWRITE, (UBYTE *)&ModuleID, DataBuffer, &Count);
+
+ *pReturnVal = LOADER_ERR_BYTE(LStatus);
+
+ return (NO_ERR);
+}
+
+/*
+NXT_STATUS cCmdWrapFileFindHelper(UBYTE First, UBYTE * ArgV[])
+{
+ LOADER_STATUS LStatus;
+ NXT_STATUS Status;
+ DV_INDEX DVIndex;
+ UBYTE LoaderCmd = FINDNEXT;
+
+ UBYTE FileMask[FILENAME_LENGTH+1];
+
+ //Resolve array arguments
+ // input mask/output filename
+ DVIndex = *(DV_INDEX *)(ArgV[2]);
+ if (First) {
+ LoaderCmd = FINDFIRST;
+ ArgV[1] = FileMask;
+ memcpy(FileMask, cCmdDVPtr(DVIndex), DV_ARRAY[DVIndex].Count);
+ }
+ //Size Buffer to Length
+ //Add room for null terminator to length
+ Status = cCmdDVArrayAlloc(DVIndex, (UWORD)(FILENAME_LENGTH + 1));
+ if (IS_ERR(Status))
+ return Status;
+ ArgV[2] = cCmdDVPtr(DVIndex);
+
+ LStatus = pMapLoader->pFunc(LoaderCmd, ArgV[1], ArgV[2], (ULONG *)ArgV[3]);
+
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+
+ return (NO_ERR);
+}
+*/
+//cCmdWrapFileFindFirst
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 out
+//ArgV[2]: Filename, CStr in/out
+//ArgV[3]: Length, U32 out
+NXT_STATUS cCmdWrapFileFindFirst(UBYTE * ArgV[])
+{
+// return cCmdWrapFileFindHelper(TRUE, ArgV);
+ LOADER_STATUS LStatus;
+ NXT_STATUS Status;
+ DV_INDEX DVIndex;
+
+ UBYTE FileMask[FILENAME_LENGTH+1];
+
+ //Resolve array arguments
+ // input mask/output filename
+ DVIndex = *(DV_INDEX *)(ArgV[2]);
+ memcpy(FileMask, cCmdDVPtr(DVIndex), DV_ARRAY[DVIndex].Count);
+ //Size Buffer to Length
+ //Add room for null terminator to length
+ Status = cCmdDVArrayAlloc(DVIndex, (UWORD)(FILENAME_LENGTH + 1));
+ if (IS_ERR(Status))
+ return Status;
+ ArgV[2] = cCmdDVPtr(DVIndex);
+
+ LStatus = pMapLoader->pFunc(FINDFIRST, FileMask, ArgV[2], (ULONG *)ArgV[3]);
+
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+
+ return (NO_ERR);
+}
+
+//cCmdWrapFileFindNext
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 in/out
+//ArgV[2]: Filename, CStr out
+//ArgV[3]: Length, U32 out
+NXT_STATUS cCmdWrapFileFindNext(UBYTE * ArgV[])
+{
+// return cCmdWrapFileFindHelper(FALSE, ArgV);
+ LOADER_STATUS LStatus;
+ NXT_STATUS Status;
+ DV_INDEX DVIndex;
+
+ //Resolve array arguments
+ // output filename
+ DVIndex = *(DV_INDEX *)(ArgV[2]);
+ //Size Buffer to Length
+ //Add room for null terminator to length
+ Status = cCmdDVArrayAlloc(DVIndex, (UWORD)(FILENAME_LENGTH + 1));
+ if (IS_ERR(Status))
+ return Status;
+ ArgV[2] = cCmdDVPtr(DVIndex);
+
+ LStatus = pMapLoader->pFunc(FINDNEXT, ArgV[1], ArgV[2], (ULONG *)ArgV[3]);
+
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+
+ return (NO_ERR);
+}
+
+//cCmdWrapFileOpenReadLinear
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 return
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Length, U32 return
+NXT_STATUS cCmdWrapFileOpenReadLinear(UBYTE * ArgV[])
+{
+ return cCmdWrapFileOpenReadHelper(OPENREADLINEAR, ArgV);
+}
+
+//cCmdWrapFileOpenWriteLinear
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 return
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Length, U32 return
+NXT_STATUS cCmdWrapFileOpenWriteLinear(UBYTE * ArgV[])
+{
+ return cCmdWrapFileOpenWriteHelper(OPENWRITELINEAR, ArgV);
+}
+
+//cCmdWrapFileOpenWriteNonLinear
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 return
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Length, U32 return
+NXT_STATUS cCmdWrapFileOpenWriteNonLinear(UBYTE * ArgV[])
+{
+ return cCmdWrapFileOpenWriteHelper(OPENWRITE, ArgV);
+}
+
+//
+//cCmdWrapCommHSControl
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: Command, UBYTE (init, uart, or exit)
+//ArgV[2]: BaudRate, UBYTE
+//ArgV[3]: Mode, UWORD
+NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[])
+{
+ pMapComm->HsInBuf.InPtr = 0;
+ pMapComm->HsInBuf.OutPtr = 0;
+ pMapComm->HsOutBuf.InPtr = 0;
+ pMapComm->HsOutBuf.OutPtr = 0;
+ switch (*(ArgV[1]))
+ {
+ case HS_CTRL_INIT:
+ {
+ // hi-speed enable/init
+ pMapComm->HsState = HS_ENABLE;
+ pMapComm->HsFlags = HS_UPDATE;
+ }
+ break;
+
+ case HS_CTRL_UART:
+ {
+ // hi-speed setup uart
+ pMapComm->HsSpeed = *(ArgV[2]);
+ pMapComm->HsMode = *(UWORD*)(ArgV[3]);
+ pMapComm->HsState = HS_INITIALISE;
+ pMapComm->HsFlags = HS_UPDATE;
+ }
+ break;
+
+ case HS_CTRL_EXIT:
+ {
+ // hi-speed exit
+ pMapComm->HsState = HS_DISABLE;
+ pMapComm->HsFlags = HS_UPDATE;
+ }
+ break;
+ }
+
+ *(ArgV[0]) = pMapComm->HsState;
+
+ return (NO_ERR);
+}
+
+//cCmdWrapCommHSCheckStatus
+//ArgV[0]: SendingData, UBYTE out
+//ArgV[1]: DataAvailable, UBYTE out
+NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[])
+{
+ *(ArgV[0]) = (pMapComm->HsOutBuf.InPtr != pMapComm->HsOutBuf.OutPtr) || (pMapComm->HsState == HS_SEND_DATA);
+ *(ArgV[1]) = (pMapComm->HsInBuf.InPtr != pMapComm->HsInBuf.OutPtr);
+ return (NO_ERR);
+}
+
+//cCmdWrapCommHSWrite
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: Buffer
+NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UBYTE * pBuf;
+ UWORD BufLength;
+ DV_INDEX DVIndex;
+
+ //Resolve array arguments
+ DVIndex = *(DV_INDEX *)(ArgV[1]);
+ pBuf = cCmdDVPtr(DVIndex);
+ BufLength = DV_ARRAY[DVIndex].Count;
+
+ if (BufLength > SIZE_OF_HSBUF)
+ {
+ *pReturnVal = ERR_INVALID_SIZE;
+ return (NO_ERR);
+ }
+
+ // set inptr & outptr
+ pMapComm->HsOutBuf.OutPtr = 0;
+ pMapComm->HsOutBuf.InPtr = BufLength;
+ memcpy(pMapComm->HsOutBuf.Buf, pBuf, BufLength);
+
+ // send the data
+ pMapComm->HsState = HS_SEND_DATA;
+ pMapComm->HsFlags = HS_UPDATE;
+
+ *pReturnVal = pMapComm->HsState;
+
+ return (NO_ERR);
+}
+
+//cCmdWrapCommHSRead
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: Buffer, out
+NXT_STATUS cCmdWrapCommHSRead(UBYTE * ArgV[])
+{
+ //Normally, bytes available is a simple difference.
+ SLONG Tmp = pMapComm->HsInBuf.InPtr - pMapComm->HsInBuf.OutPtr;
+
+ //If InPtr is actually behind OutPtr, circular buffer has wrapped. Account for wrappage...
+ if (Tmp < 0)
+ Tmp = (pMapComm->HsInBuf.InPtr + (SIZE_OF_HSBUF - pMapComm->HsInBuf.OutPtr));
+
+ //Resolve array arguments
+ // output buffer
+ DV_INDEX DVIndex = *(DV_INDEX *)(ArgV[1]);
+ //Size Buffer to Length
+ NXT_STATUS Status = cCmdDVArrayAlloc(DVIndex, (UWORD)Tmp);
+ if (IS_ERR(Status))
+ return Status;
+ UBYTE* pBuf = cCmdDVPtr(DVIndex);
+ ArgV[1] = pBuf;
+
+ //If the bytes we want to read wrap around the end, we must first read the end, then reset back to the beginning
+ UBYTE BytesToRead = (UBYTE)Tmp;
+ if (pMapComm->HsInBuf.OutPtr + BytesToRead >= SIZE_OF_HSBUF)
+ {
+ BytesToRead = SIZE_OF_HSBUF - pMapComm->HsInBuf.OutPtr;
+ memcpy(pBuf, pMapComm->HsInBuf.Buf + pMapComm->HsInBuf.OutPtr, BytesToRead);
+ pMapComm->HsInBuf.OutPtr = 0;
+ pBuf += BytesToRead;
+ BytesToRead = Tmp - BytesToRead;
+ }
+
+ memcpy(pBuf, pMapComm->HsInBuf.Buf + pMapComm->HsInBuf.OutPtr, BytesToRead);
+ pMapComm->HsInBuf.OutPtr += BytesToRead;
+
+ return (NO_ERR);
+}
+
+//cCmdWrapCommLSWriteEx
+//ArgV[0]: (return) Status code, SBYTE
+//ArgV[1]: Port specifier, UBYTE
+//ArgV[2]: Buffer to send, UBYTE array, only SIZE_OF_LSBUF bytes will be used
+//ArgV[3]: ResponseLength, UBYTE, specifies expected bytes back from slave device
+//ArgV[4]: NoRestartOnRead, UBYTE, specifies whether or not to restart before the read
+//
+NXT_STATUS cCmdWrapCommLSWriteEx(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UBYTE Port = *(ArgV[1]);
+ UBYTE * pBuf;
+ UWORD BufLength;
+ UBYTE ResponseLength = *(ArgV[3]);
+ UBYTE NoRestartOnRead = *(ArgV[4]);
+ DV_INDEX DVIndex;
+
+ //Resolve array arguments
+ DVIndex = *(DV_INDEX *)(ArgV[2]);
+ pBuf = cCmdDVPtr(DVIndex);
+ BufLength = DV_ARRAY[DVIndex].Count;
+
+ *pReturnVal = cCmdLSWrite(Port, (UBYTE)BufLength, pBuf, ResponseLength, NoRestartOnRead);
+
+ return (NO_ERR);
+}
+
+//cCmdWrapFileSeek
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 in/out
+//ArgV[2]: Origin, U8 in
+//ArgV[3]: Length, S32 in
+NXT_STATUS cCmdWrapFileSeek(UBYTE * ArgV[])
+{
+ UBYTE Origin = *((UBYTE *)ArgV[2]);
+ LOADER_STATUS LStatus = pMapLoader->pFunc(Origin+SEEKFROMSTART, ArgV[1], NULL, (ULONG *)ArgV[3]);
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+ return (NO_ERR);
+}
+
+//cCmdWrapFileResize
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 in/out
+//ArgV[2]: NewSize, U16 in
+NXT_STATUS cCmdWrapFileResize(UBYTE * ArgV[])
+{
+ LOADER_STATUS LStatus = pMapLoader->pFunc(RESIZEDATAFILE, ArgV[1], NULL, (ULONG *)ArgV[2]);
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+ return (NO_ERR);
+}
+
+//cCmdWrapMemoryManager
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: Compact?, UBYTE (true or false)
+//ArgV[2]: PoolSize, UWORD
+//ArgV[3]: DataspaceSize, UWORD
+NXT_STATUS cCmdWrapMemoryManager(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ *pReturnVal = NO_ERR;
+ if (*(ArgV[1])) {
+ *pReturnVal = cCmdDSCompact();
+ }
+ *(UWORD*)(ArgV[2]) = (UWORD)VarsCmd.PoolSize;
+ *(UWORD*)(ArgV[3]) = VarsCmd.DataspaceSize;
+
+ return (NO_ERR);
+}
+
+//cCmdWrapReadLastResponse
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: Clear?, UBYTE (true or false)
+//ArgV[2]: Length, UBYTE out
+//ArgV[3]: Command, UBYTE out
+//ArgV[4]: Buffer, out
+NXT_STATUS cCmdWrapReadLastResponse(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
+ UWORD bufLen = 0;
+ if (VarsCmd.LastResponseLength > 0)
+ bufLen = VarsCmd.LastResponseLength-2;
+
+ //Resolve array arguments
+ // output buffer
+ DV_INDEX DVIndex = *(DV_INDEX *)(ArgV[4]);
+ //Size Buffer to Length
+ NXT_STATUS Status = cCmdDVArrayAlloc(DVIndex, bufLen);
+ if (IS_ERR(Status))
+ return Status;
+ UBYTE* pBuf = cCmdDVPtr(DVIndex);
+ ArgV[4] = pBuf;
+ *(ArgV[2]) = bufLen; // Length
+ *pReturnVal = NO_ERR;
+
+ if (bufLen > 0)
+ {
+ memset(pBuf, 0, bufLen);
+ memcpy(pBuf, (PSZ)&(VarsCmd.LastResponseBuffer[2]), bufLen-1);
+ *pReturnVal = VarsCmd.LastResponseBuffer[1];
+ *(ArgV[3]) = VarsCmd.LastResponseBuffer[0];
+ }
+ // clear?
+ if (*(ArgV[1])) {
+ VarsCmd.LastResponseLength = 0;
+ memset(VarsCmd.LastResponseBuffer, 0, 64);
+ }
+
+ return (NO_ERR);
+}
+
+//cCmdWrapFileTell
+//ArgV[0]: (Function return) Loader status, U16 return
+//ArgV[1]: File Handle, U8 in/out
+//ArgV[2]: File Position, U32 out
+NXT_STATUS cCmdWrapFileTell(UBYTE * ArgV[])
+{
+ LOADER_STATUS LStatus = pMapLoader->pFunc(FILEPOSITION, ArgV[1], NULL, (ULONG *)ArgV[2]);
+ //Status code in high byte of LStatus
+ *((UWORD *)ArgV[0]) = LOADER_ERR(LStatus);
+ //File handle in low byte of LStatus
+ *(ArgV[1]) = LOADER_HANDLE(LStatus);
+ return (NO_ERR);
+}
+
+//
+//cCmdWrapRandomEx
+//ArgV[0]: Seed, SLONG (in/out)
+//ArgV[1]: Reseed?, UBYTE (true or false) (in)
+static SLONG __random_seed = 1;
+static SLONG __old_random_seed = 1;
+
+NXT_STATUS cCmdWrapRandomEx(UBYTE * ArgV[])
+{
+ SLONG * pSeed = (SLONG*)(ArgV[0]);
+ if (*(ArgV[1]))
+ {
+ // reseed
+ if (*pSeed == 0) {
+ *pSeed = (SLONG)dTimerRead();
+ if (*pSeed < 0)
+ *pSeed = 1;
+ }
+ else if (*pSeed < 0)
+ *pSeed = __old_random_seed;
+ __random_seed = *pSeed;
+ __old_random_seed = __random_seed;
+ }
+ else
+ {
+ /*
+ MINSTD
+ a = 16807 (with q = 127773 and r = 2836) or
+ better randomness
+ a = 48271 (with q = 44488 and r = 3399) or
+ a = 69621 (with q = 30845 and r = 23902)
+ */
+#define a 48271
+#define m 2147483647
+#define q (m / a)
+#define r (m % a)
+ SLONG test = a * (__random_seed % q) - r * (__random_seed / q);
+ if (test > 0)
+ __random_seed = test;
+ else
+ __random_seed = test + m;
+ }
+ *pSeed = __random_seed;
+
+ return NO_ERR;
+}
+
+NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[])
+{
+ return (NO_ERR);
+}
+
#ifdef SIM_NXT
// Accessors for simulator library code
SWORD cCmdGetCodeWord(CLUMP_ID Clump, CODE_INDEX Index)
diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h
index c6e5267..5a3a13e 100644
--- a/AT91SAM7S256/Source/c_cmd.h
+++ b/AT91SAM7S256/Source/c_cmd.h
@@ -27,7 +27,7 @@
#endif
#include "c_cmd_bytecodes.h"
-#define SYSCALL_COUNT 48
+#define SYSCALL_COUNT 100
extern const HEADER cCmd;
@@ -55,6 +55,17 @@ void cCmdExit(void);
//
#define ENABLE_VM 1
#undef ARM_DEBUG
+
+
+//
+//WRITE_IOMAP_OFFSETS enables saving a file containing accurate iomap offsets.
+//
+#define WRITE_IOMAP_OFFSETS 0
+
+#if WRITE_IOMAP_OFFSETS
+void cCmdWriteIOMapOffsetsFile();
+#endif
+
//
//VM_BENCHMARK enables extra instrumentation code to measure VM performance.
//When enabled, a file named "benchmark.txt" is produced every time a program completes.
@@ -323,6 +334,7 @@ typedef struct
#define SET_WRITE_MSG(QueueID, DVIndex) (VarsCmd.MessageQueues[(QueueID)].Messages[VarsCmd.MessageQueues[(QueueID)].WriteIndex] = (DVIndex))
#define SET_READ_MSG(QueueID, DVIndex) (VarsCmd.MessageQueues[(QueueID)].Messages[VarsCmd.MessageQueues[(QueueID)].ReadIndex] = (DVIndex))
+#ifndef STRIPPED
//
// Datalog Queuing
//
@@ -353,6 +365,7 @@ typedef struct
#define SET_WRITE_DTLG(DVIndex) (VarsCmd.DatalogBuffer.Datalogs[VarsCmd.DatalogBuffer.WriteIndex] = (DVIndex))
#define SET_READ_DTLG(DVIndex) (VarsCmd.DatalogBuffer.Datalogs[VarsCmd.DatalogBuffer.ReadIndex] = (DVIndex))
+#endif
//
//Definitions related to dataflow scheduling
@@ -388,6 +401,17 @@ typedef struct
CLUMP_Q WaitQ;
} MUTEX_Q;
+
+// Clump Breakpoints
+//
+typedef struct
+{
+ CODE_INDEX Location;
+ UBYTE Enabled;
+} CLUMP_BREAK_REC;
+
+#define MAX_BREAKPOINTS 4
+
//
// Clump Record, run-time book-keeping for each clump
//
@@ -398,6 +422,7 @@ typedef struct
// CurrFireCount: Run-time count of unsatisfied dependencies
// Link: ID of next clump in the queue. NOT_A_CLUMP denotes end or bad link.
//
+// Priority: number of instructions to run per pass on this clump
// clumpScalarDispatchHints: this clump only uses scalar data args, can be interpretted with faster dispatch tables
//
// pDependents: pointer to list of downstream dependents' ClumpIDs
@@ -413,11 +438,14 @@ typedef struct
UBYTE CurrFireCount; //AKA ShortCount
CLUMP_ID Link;
+ UBYTE Priority; // deleted in 1.28
UBYTE clumpScalarDispatchHints;
CLUMP_ID* pDependents;
ULONG awakenTime;
UBYTE DependentCount;
+ CLUMP_ID CalledClump;
+ CLUMP_BREAK_REC Breakpoints[MAX_BREAKPOINTS];
} CLUMP_REC;
//
@@ -536,8 +564,18 @@ typedef struct
ULONG StartTick;
+#ifndef STRIPPED
DATALOG_QUEUE DatalogBuffer;
+#endif
+ UBYTE Debugging;
+ UBYTE PauseClump;
+ CODE_INDEX PausePC;
+
+ // add a buffer for storing the last response raw content (64 bytes)
+ UBYTE LastResponseBuffer[64];
+ UBYTE LastResponseLength;
+
#if VM_BENCHMARK
ULONG InstrCount;
ULONG Average;
@@ -789,7 +827,7 @@ float cCmdGetValFlt(void * pVal, TYPE_CODE TypeCode);
NXT_STATUS cCmdLSCheckStatus(UBYTE Port);
UBYTE cCmdLSCalcBytesReady(UBYTE Port);
-NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseLength);
+NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseLength, UBYTE NoRestartOnRead);
NXT_STATUS cCmdLSRead(UBYTE Port, UBYTE BufLength, UBYTE * pBuf);
//
@@ -847,9 +885,6 @@ NXT_STATUS cCmdWrapSetSleepTimeout(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapListFiles(UBYTE * ArgV[]);
// Handlers for dynamically added syscalls
-NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[]);
-NXT_STATUS cCmdWrapCommHSRead(UBYTE * ArgV[]);
-NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapCommBTOnOff(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapCommBTConnection(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapReadSemData(UBYTE * ArgV[]);
@@ -857,6 +892,33 @@ NXT_STATUS cCmdWrapWriteSemData(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapUpdateCalibCacheInfo(UBYTE * ArgV[]);
NXT_STATUS cCmdWrapComputeCalibValue(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapIOMapReadByID(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapIOMapWriteByID(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapDisplayExecuteFunction(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommExecuteFunction(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapLoaderExecuteFunction(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileFindFirst(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileFindNext(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileOpenWriteLinear(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileOpenWriteNonLinear(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileOpenReadLinear(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommHSRead(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapCommLSWriteEx(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileSeek(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileResize(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapDrawPictureArray(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapDrawPolygon(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapDrawEllipse(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapDrawFont(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapMemoryManager(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapReadLastResponse(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapFileTell(UBYTE * ArgV[]);
+NXT_STATUS cCmdWrapRandomEx(UBYTE * ArgV[]);
+
+NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]);
//Handler for remote control protocol packets -- called from comm module via IO map function pointer
UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen);
diff --git a/AT91SAM7S256/Source/c_cmd.iom b/AT91SAM7S256/Source/c_cmd.iom
index 7c5906c..820f01d 100644
--- a/AT91SAM7S256/Source/c_cmd.iom
+++ b/AT91SAM7S256/Source/c_cmd.iom
@@ -41,12 +41,24 @@
#define NO_ERR 0
//Fatal errors
-#define ERR_ARG -1 //0xFF Bad arguments
-#define ERR_INSTR -2 //0xFE Illegal bytecode instruction
-#define ERR_FILE -3 //0xFD Mal-formed file contents
-#define ERR_VER -4 //0xFC Version mismatch between firmware and compiler
-#define ERR_MEM -5 //0xFB Insufficient memory available
-#define ERR_BAD_PTR -6 //0xFA Someone passed us a bad pointer!
+#define ERR_ARG -1 // 0xFF Bad arguments
+#define ERR_INSTR -2 // 0xFE Illegal bytecode instruction
+#define ERR_FILE -3 // 0xFD cCmdVerifyMemMgr() != TRUE
+#define ERR_VER -4 // 0xFC Version mismatch between firmware and compiler
+#define ERR_MEM -5 // 0xFB Insufficient memory available
+#define ERR_BAD_PTR -6 // 0xFA Someone passed us a bad pointer!
+
+#define ERR_CLUMP_COUNT -7 // 0xF9 (FileClumpCount == 0 || FileClumpCount >= NOT_A_CLUMP)
+#define ERR_NO_CODE -8 // 0xF8 VarsCmd.CodespaceCount == 0
+#define ERR_INSANE_OFFSET -9 // 0xF7 CurrOffset != (DataSize - VarsCmd.CodespaceCount * 2)
+#define ERR_BAD_POOL_SIZE -10 // 0xF6 VarsCmd.PoolSize > POOL_MAX_SIZE
+#define ERR_LOADER_ERR -11 // 0xF5 LOADER_ERR(LStatus) != SUCCESS || pData == NULL || DataSize == 0
+#define ERR_SPOTCHECK_FAIL -12 // 0xF4 ((UBYTE*)(VarsCmd.pCodespace) < pData) (c_cmd.c 1893)
+#define ERR_NO_ACTIVE_CLUMP -13 // 0xF3 VarsCmd.RunQ.Head == NOT_A_CLUMP
+#define ERR_DEFAULT_OFFSETS -14 // 0xF2 (DefaultsOffset != FileOffsets.DynamicDefaults) || (DefaultsOffset + FileOffsets.DynamicDefaultsSize != FileOffsets.DSDefaultsSize)
+#define ERR_MEMMGR_FAIL -15 // 0xF1 (UBYTE *)VarsCmd.MemMgr.pDopeVectorArray != VarsCmd.pDataspace + DV_ARRAY[0].Offset
+
+#define ERR_NON_FATAL -16 //0xF0 or greater
//General errors
#define ERR_INVALID_PORT -16 //0xF0 Bad input or output port specified
@@ -73,7 +85,7 @@
#define IS_ERR(Status) ((Status) < NO_ERR)
//Errors are considered fatal if they are something we'd consider halting the VM for.
-#define IS_FATAL(Status) ((Status) < NO_ERR && (Status) >= ERR_BAD_PTR)
+#define IS_FATAL(Status) ((Status) < NO_ERR && (Status) > ERR_NON_FATAL)
//Direct command protocol opcodes
//!!! These MUST be mutually exclusive with c_comm's protocol opcodes.
@@ -114,7 +126,10 @@ enum
RC_SET_PROPERTY,
RC_GET_PROPERTY,
RC_UPDATE_RESET_COUNT,
-
+ RC_SET_VM_STATE,
+ RC_GET_VM_STATE,
+ RC_SET_BREAKPOINTS,
+ RC_GET_BREAKPOINTS,
NUM_RC_OPCODES
};
@@ -122,9 +137,20 @@ enum
enum {
RC_PROP_BTONOFF,
RC_PROP_SOUND_LEVEL,
-RC_PROP_SLEEP_TIMEOUT
+RC_PROP_SLEEP_TIMEOUT,
+RC_PROP_DEBUGGING = 0xF
};
+#define RC_PORTS_AB 0xFC
+#define RC_PORTS_AC 0xFD
+#define RC_PORTS_BC 0xFE
+#define RC_PORTS_ALL 0xFF
+
+#define RC_OUT_AB 0x03
+#define RC_OUT_AC 0x04
+#define RC_OUT_BC 0x05
+#define RC_OUT_ABC 0x06
+
//
//Published status of last program to be activated
//This value is published so outside parties (like the UI) can check if a program is running,
@@ -134,15 +160,14 @@ RC_PROP_SLEEP_TIMEOUT
//PROG_ERROR: Last program ended because of an error
//PROG_ABORT: Last program ended because of (user) abort
//
-typedef enum
-{
- PROG_IDLE,
- PROG_OK,
- PROG_RUNNING,
- PROG_ERROR,
- PROG_ABORT,
- PROG_RESET
-} PROGRAM_STATUS;
+
+typedef SBYTE PROGRAM_STATUS;
+#define PROG_IDLE 0x00
+#define PROG_OK 0x01
+#define PROG_RUNNING 0x02
+#define PROG_ERROR 0x03
+#define PROG_ABORT 0x04
+#define PROG_RESET 0x05
//Maximum size of memory pool, in bytes
//!!! Code assumes this value is evenly divisible by 4!
diff --git a/AT91SAM7S256/Source/c_cmd_alternate.c b/AT91SAM7S256/Source/c_cmd_alternate.c
new file mode 100644
index 0000000..c892c9d
--- /dev/null
+++ b/AT91SAM7S256/Source/c_cmd_alternate.c
@@ -0,0 +1,108 @@
+//
+// File Description:
+// This file contains an alternate implementation of c_cmd for testing purposes.
+// It implements the minimal standard interface for the module, and serves as
+// an example of output module control via C code.
+//
+
+void cCmdInit(void* pHeader)
+{
+ pHeaders = pHeader;
+
+ IOMapCmd.Awake = TRUE;
+
+ dTimerInit();
+ IOMapCmd.Tick = dTimerRead();
+
+ return;
+}
+
+//Test: Start at speed 100 when enter is pressed; then progressively ramp down every half second until -100.
+void cCmdCtrl(void)
+{
+ static UBYTE State = 0;
+ static ULONG MyTick = 0;
+
+ if (pMapButton->State[BTN1] & PRESSED_EV)
+ {
+ pMapButton->State[BTN1] &= ~PRESSED_EV;
+
+ State = 1;
+ }
+
+ switch(State)
+ {
+ case 0:
+ {
+ //Initialize
+ pMapInput->Inputs[0].SensorType = LOWSPEED;
+ }
+ break;
+
+ case 1:
+ {
+ if (pMapLowSpeed->ChannelState[0] == LOWSPEED_IDLE)
+ {
+ pMapLowSpeed->OutBuf[0].InPtr = 0;
+ pMapLowSpeed->OutBuf[0].OutPtr = 0;
+
+ pMapLowSpeed->OutBuf[0].Buf[pMapLowSpeed->OutBuf[0].InPtr] = 0x88; // I2C adress = 1000100X
+ pMapLowSpeed->OutBuf[0].InPtr++;
+ pMapLowSpeed->OutBuf[0].Buf[pMapLowSpeed->OutBuf[0].InPtr] = 0x00; // Selecting register to write into
+ pMapLowSpeed->OutBuf[0].InPtr++;
+ pMapLowSpeed->OutBuf[0].Buf[pMapLowSpeed->OutBuf[0].InPtr] = 0x88; // Data to set into register => Setting Control register
+ pMapLowSpeed->OutBuf[0].InPtr++;
+
+ pMapLowSpeed->InBuf[0].BytesToRx = 0;
+ pMapLowSpeed->ChannelState[0] = LOWSPEED_INIT;
+ pMapLowSpeed->State = COM_CHANNEL_ONE_ACTIVE;
+
+ State = 2;
+ }
+ }
+ break;
+
+ case 2:
+ {
+ if (pMapLowSpeed->ChannelState[0] == LOWSPEED_IDLE)
+ {
+ pMapLowSpeed->OutBuf[0].InPtr = 0;
+ pMapLowSpeed->OutBuf[0].OutPtr = 0;
+
+ pMapLowSpeed->OutBuf[0].Buf[pMapLowSpeed->OutBuf[0].InPtr] = 0x88; // I2C adress = 1000100X
+ pMapLowSpeed->OutBuf[0].InPtr++;
+ pMapLowSpeed->OutBuf[0].Buf[pMapLowSpeed->OutBuf[0].InPtr] = 0x04; // Start register to read from
+ pMapLowSpeed->OutBuf[0].InPtr++;
+
+ pMapLowSpeed->InBuf[0].BytesToRx = 2; // Read 2 bytes from I2C unit
+ pMapLowSpeed->ChannelState[0] = LOWSPEED_INIT;
+ pMapLowSpeed->State = COM_CHANNEL_ONE_ACTIVE;
+
+ State = 3;
+ }
+ }
+ break;
+
+ case 3:
+ {
+
+ }
+ break;
+
+ default:
+ break;
+ };
+
+ //Busy loop to ensure return on 1ms boundary
+ while (IOMapCmd.Tick == dTimerRead());
+
+ IOMapCmd.Tick = dTimerRead();
+ MyTick++;
+
+ return;
+}
+
+void cCmdExit(void)
+{
+ return;
+}
diff --git a/AT91SAM7S256/Source/c_cmd_bytecodes.h b/AT91SAM7S256/Source/c_cmd_bytecodes.h
index 5cd9dfd..5c24472 100644
--- a/AT91SAM7S256/Source/c_cmd_bytecodes.h
+++ b/AT91SAM7S256/Source/c_cmd_bytecodes.h
@@ -4,7 +4,7 @@
// opcode definitions
// symbol, bits, arg format
//
-#define OPCODE_COUNT 0x38
+#define OPCODE_COUNT 0x51
//Family: Math
#define OP_ADD 0x00 // dest, src1, src2
@@ -21,13 +21,13 @@
#define OP_NOT 0x09 // dest, src
//Family: Bit manipulation
-#define OP_CMNT 0x0A // dest, src
-#define OP_LSL 0x0B // dest, src
-#define OP_LSR 0x0C // dest, src
-#define OP_ASL 0x0D // dest, src
-#define OP_ASR 0x0E // dest, src
-#define OP_ROTL 0x0F // dest, src
-#define OP_ROTR 0x10 // dest, src
+#define OP_CMNT 0x0A // dest, src
+#define OP_LSL 0x0B // dest, src, bits
+#define OP_LSR 0x0C // dest, src, bits
+#define OP_ASL 0x0D // dest, src, bits
+#define OP_ASR 0x0E // dest, src, bits
+#define OP_ROTL 0x0F // dest, src, bits
+#define OP_ROTR 0x10 // dest, src, bits
//Family: Comparison
#define OP_CMP 0x11 // dest, src1, src2
@@ -86,6 +86,69 @@
#define OP_SQRT 0x36 // dest, src
#define OP_ABS 0x37 // dest, src
+// JCH ADDS
+#define OP_WAITI 0x64 // immed
+#define OP_WAITV 0x65 // var
+#define OP_SIGN 0x66 // dest, src
+#define OP_STOPCLUMPIMMED 0x67 // clumpID
+#define OP_STARTCLUMPIMMED 0x68 // clumpID
+#define OP_PRIORITY 0x69 // clumpID, pri
+#define OP_FMTNUM 0x6a // dest, fmt, src1
+#define OP_ARROP 0x6b // cmd, dest, src, idx, len
+
+// math ops (float)
+#define OP_ACOS 0x6c // dest, src
+#define OP_ASIN 0x6d // dest, src
+#define OP_ATAN 0x6e // dest, src
+#define OP_CEIL 0x6f // dest, src
+#define OP_EXP 0x70 // dest, src
+#define OP_FLOOR 0x71 // dest, src
+#define OP_TAN 0x72 // dest, src
+#define OP_COS 0x74 // dest, src
+#define OP_LOG 0x76 // dest, src
+#define OP_LOG10 0x77 // dest, src
+#define OP_SIN 0x78 // dest, src
+#define OP_TRUNC 0x7a // dest, src
+#define OP_FRAC 0x7b // dest, src
+
+#define OP_ATAN2 0x7c // dest, src1, src2
+#define OP_POW 0x7d // dest, src1, src2
+
+#define OP_MULDIV 0x7e // dest, src1, src2, src3
+
+// transcendental opcodes that use degrees instead of radians
+#define OP_ACOSD 0x7f // dest, src
+#define OP_ASIND 0x80 // dest, src
+#define OP_ATAND 0x81 // dest, src
+#define OP_TAND 0x82 // dest, src
+#define OP_COSD 0x84 // dest, src
+#define OP_SIND 0x86 // dest, src
+#define OP_ATAN2D 0x88 // dest, src1, src2
+
+
+// hyperbolic transcendental functions
+#define OP_TANH 0x73 // dest, src
+#define OP_COSH 0x75 // dest, src
+#define OP_SINH 0x79 // dest, src
+#define OP_TANHD 0x83 // dest, src
+#define OP_COSHD 0x85 // dest, src
+#define OP_SINHD 0x87 // dest, src
+
+// misc other JCH additions
+#define OP_ADDROF 0x89 // dest, src, rel
+
+// additional string opcodes
+
+
+// array operation definitions
+#define OPARR_SUM 0x00
+#define OPARR_MEAN 0x01
+#define OPARR_SUMSQR 0x02
+#define OPARR_STD 0x03
+#define OPARR_MIN 0x04
+#define OPARR_MAX 0x05
+#define OPARR_SORT 0x06
+
// condition code definitions
#define OPCC1_LT 0x00
#define OPCC1_GT 0x01
diff --git a/AT91SAM7S256/Source/c_cmd_drawing.inc b/AT91SAM7S256/Source/c_cmd_drawing.inc
index 0132d44..5592180 100644
--- a/AT91SAM7S256/Source/c_cmd_drawing.inc
+++ b/AT91SAM7S256/Source/c_cmd_drawing.inc
@@ -12,12 +12,17 @@
// Platform C
//
+#define MAX_CORNERS 128
+
//absolute value of a
#define ABS(a) (((a)<0) ? -(a) : (a))
//take binary sign of a, either -1, or 1 if >= 0
#define SGN(a) (((a)<0) ? -1 : 1)
+#define MAX(a,b) (((a>b) ? (a) : (b)))
+#define MIN(a,b) (((a<b) ? (a) : (b)))
+
#define DISP_BUFFER_P ((UBYTE*)&(pMapDisplay->Normal))
//------------------------------------------------------------------
@@ -30,7 +35,7 @@ void cCmdRestoreDefaultScreen(void);
//------------------------------------------------------------------
// cCmdDrawString - Draw string to display buffer
-void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y);
+void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y, UBYTE InvertMode, UBYTE LogicalMode, UBYTE FillMode);
// OP codes supported by RIC files
enum {
@@ -42,17 +47,73 @@ enum {
IMG_LINE_ID = 5,
IMG_RECTANGLE_ID = 6,
IMG_CIRCLE_ID = 7,
- IMG_NUMBOX_ID = 8
+ IMG_NUMBOX_ID = 8,
+ IMG_ELLIPSE_ID = 9,
+ IMG_POLYGON_ID = 10
};
#define IMG_SYMB_USEARGS(_v) (_v & (SWORD)0xF000)
#define IMG_SYMB_MAP(_v) ((_v & 0x0F00) >> 8)
-#define IMG_SYMB_ARG(_v) (_v & 0x000F)
+#define IMG_SYMB_ARG(_v) (_v & 0x00FF)
+
+//JJR
+//#define DRAW_OPT_CLEAR_PIXELS (0x0004)
+//#define SET_PIXELS(_v) (((_v) & DRAW_OPT_CLEAR_PIXELS) ? FALSE : TRUE)
// DrawingOptions
-#define DRAW_OPT_CLEAR_WHOLE_SCREEN (0x0001)
-#define DRAW_OPT_CLEAR_EXCEPT_STATUS_SCREEN (0x0002)
-#define DRAW_OPT_CLEAR_MODE(_v) ((_v) & 0x0003)
+// (and CopyOptions)
+// - parameter used within byte code drawing operations
+// - now unified with 'CopyOptions' parameter in RIC files
+// Bits 0 & 1 (values 0,1,2,3) control screen clearing behaviour (Not within RIC files).
+// Bit 2 (value 4) controls the NOT operation, i.e. draw in white or invert text/graphics.
+// Bits 3 & 4 (values 0,8,16,24) control pixel logical combinations (COPY/AND/OR/XOR).
+// Bit 5 (value 32) controls shape filling, or overrides text/graphic bitmaps with set pixels.
+// These may be ORed together for the full instruction.
+// These operations are resolved into the separate, common parameters
+// defined in 'c_display.iom' before any drawing function is called.
+// Note that when drawing a RIC file, the initial 'DrawingOptions' parameter
+// supplied in the drawing instruction controls screen clearing, but nothing else.
+// The 'CopyOptions' parameter from each instruction in the RIC file then controls
+// graphic operations, but the screen-clearing bits are ignored.
+
+#define DRAW_OPT_NORMAL (0x0000)
+#define DRAW_OPT_LOGICAL_COPY (0x0000)
+
+#define DRAW_OPT_CLEAR_WHOLE_SCREEN (0x0001)
+#define DRAW_OPT_CLEAR_EXCEPT_STATUS_SCREEN (0x0002)
+#define DRAW_OPT_INVERT (0x0004)
+#define DRAW_OPT_LOGICAL_AND (0x0008)
+#define DRAW_OPT_LOGICAL_OR (0x0010)
+#define DRAW_OPT_LOGICAL_XOR (0x0018)
+#define DRAW_OPT_FILL_SHAPE (0x0020)
+
+// Combined parameter masks:
+#define DRAW_OPT_CLEAR_SCREEN_MODES (0x0003)
+#define DRAW_OPT_LOGICAL_OPERATIONS (0x0018)
+#define DRAW_OPT_FONT_DIRECTIONS (0x01C0)
+
+#define DRAW_OPT_FONT_WRAP (0x0200)
+
+#define DRAW_OPT_FONT_DIR_L2RB (0x0000) // Font left to right bottom align
+#define DRAW_OPT_FONT_DIR_L2RT (0x0040) // Font left to right top align
+#define DRAW_OPT_FONT_DIR_R2LB (0x0080) // Font right to left bottom align
+#define DRAW_OPT_FONT_DIR_R2LT (0x00C0) // Font right to left top align
+#define DRAW_OPT_FONT_DIR_B2TL (0x0100) // Font bottom to top left align
+#define DRAW_OPT_FONT_DIR_B2TR (0x0140) // Font bottom to top right align
+#define DRAW_OPT_FONT_DIR_T2BL (0x0180) // Font top to bottom left align
+#define DRAW_OPT_FONT_DIR_T2BR (0x01C0) // Font top to bottom right align
+
+// new constant for polyline vs polygon
+#define DRAW_OPT_POLYGON_POLYLINE (0x0400)
+
+#define DESC_FONTOUT 0x8001 // ID for new font out function
+
+// CopyOptions, as originally defined for RIC files, now equate to:
+// COPY = 0 = 0x00 = DRAW_OPT_NORMAL = Copy all bits, solid and clear
+// COPY_NOT = 4 = 0x04 = DRAW_OPT_INVERT = Copy all bits, but invert bitmap images first
+// OR = 16 = 0x10 = DRAW_OPT_LOGICAL_OR = Copy solid bits, ignore clear bits
+// BIT_CLEAR = 12 = 0x0C = DRAW_OPT_INVERT + DRAW_OPT_LOGICAL_AND = Erase screen for solid bits, ignore clear bits
+//JJR
// Clear Before Drawing Modes for Draw functions
@@ -63,7 +124,8 @@ enum {
// Screen Modes for SetScreenMode function
enum {
- RESTORE_NXT_SCREEN = 0
+ RESTORE_NXT_SCREEN = 0,
+ CLEAR_NXT_SCREEN = 1
};
#define IMG_COMMON_FIELDS UWORD OpSize; UWORD OpCode;
@@ -118,7 +180,7 @@ typedef struct
typedef struct
{
IMG_COMMON_FIELDS
- UWORD CopyOptions; // Copy, CopyNot, Or, BitClear;
+ UWORD CopyOptions; // Copy, CopyNot, Or, BitClear; //JJR ,Xor;
UWORD DataAddr; // Address of an already defined sprite
IMG_RECT Src; // Source rectangle
IMG_PT Dst; // Destination left top
@@ -164,6 +226,23 @@ typedef struct
UWORD Value; // typically mapped to an argument
} IMG_OP_NUMBOX;
+typedef struct
+{
+ IMG_COMMON_FIELDS
+ UWORD CopyOptions;
+ IMG_PT Pt;
+ UWORD Radius1;
+ UWORD Radius2;
+} IMG_OP_ELLIPSE;
+
+typedef struct
+{
+ IMG_COMMON_FIELDS
+ UWORD CopyOptions;
+ UWORD Count; //The actual size of the following array.
+ IMG_PT Points[3]; //Minimum of 3 for polygon
+} IMG_OP_POLYGON;
+
typedef union
{ IMG_OP_CORE Core;
IMG_OP_DESCRIPTION Desc;
@@ -175,22 +254,47 @@ typedef union
IMG_OP_RECT Rect;
IMG_OP_CIRCLE Circle;
IMG_OP_NUMBOX NumBox;
+ IMG_OP_ELLIPSE Ellipse;
+ IMG_OP_POLYGON Polygon;
} IMG_OP_UNION;
// Variables for DrawImage
#define IMG_MAX_DATA 11
IMG_OP_UNION * gpImgData[IMG_MAX_DATA];
-SLONG * gpPassedImgVars;
-SWORD gPassedVarsCount;
+SLONG * gpPassedImgVars = NULL;
+SWORD gPassedVarsCount = 0;
// Private Prototypes
-void cCmdDrawLine(SLONG x1, SLONG y1, SLONG x2, SLONG y2);
-void cCmdDrawRect(SLONG left, SLONG bottom, SLONG width, SLONG hieght);
+void cCmdDrawLine(SLONG x1, SLONG y1, SLONG x2, SLONG y2, UBYTE PixelMode);
+void cCmdDrawRect(SLONG left, SLONG bottom, SLONG width, SLONG height, UBYTE PixelMode, UBYTE FillMode);
+void cCmdDrawCircle(SLONG cx, SLONG cy, SLONG radius, UBYTE PixelMode, UBYTE FillMode);
+void cCmdDrawPolygon(IMG_PT* points, UWORD polyCorners, UBYTE PixelMode, UBYTE FillMode, UBYTE bLine);
+void cCmdDrawEllipse(SWORD cx, SWORD cy, SWORD a, SWORD b, UBYTE PixelMode, UBYTE FillMode);
void cCmdCopyBitMapBits(SLONG dst_x, SLONG dst_y,
SLONG src_x, SLONG src_y, SLONG src_width, SLONG src_height,
- IMG_OP_SPRITE * pSprite);
+ IMG_OP_SPRITE * pSprite,
+ UBYTE InvertMode, UBYTE LogicalMode, UBYTE FillMode);
SLONG cCmdResolveValue(SWORD Value);
-void cCmdSetPixel(SLONG X, SLONG Y, ULONG Val);
+void cCmdSetPixel(SLONG X, SLONG Y, ULONG PixelMode);
+
+UBYTE cCmdResolveDrawingMode(UWORD DrawingOptions, UBYTE* pPixelMode, UBYTE* pFillMode);
+void cCmdResolveBitmapMode(UWORD DrawingOptions, UBYTE* pInvertMode, UBYTE* pLogicalMode, UBYTE* pFillMode);
+UBYTE cCmdResolveClearScreenMode(UWORD DrawingOptions);
+
+void cCmdResolveFontOptions(UWORD DrawingOptions, UBYTE* pFontDir, UBYTE* pFontWrap);
+void cCmdDrawFont(IMG_OP_SPRITE *pSprite, SLONG sW, SLONG sH, SLONG startx, SLONG starty,
+ UBYTE fontDir, UBYTE fontWrap, UBYTE invertMode, UBYTE logicalMode, UBYTE fillMode);
+
+
+void cCmdDrawTextHelper(ULONG DrawOptions, UBYTE *pString, IMG_PT * pPt)
+{
+ UBYTE invertMode, logicalMode, fillMode;
+ cCmdClearScreenIfNeeded(DrawOptions);
+ // Display the String
+ cCmdResolveBitmapMode(DrawOptions, &invertMode, &logicalMode, &fillMode);
+ cCmdDrawString(pString, (UBYTE)pPt->X, (UBYTE)pPt->Y, invertMode, logicalMode, fillMode);
+ pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
+}
//-----------------------------------------------------------------
//cCmdWrapDrawText
@@ -204,13 +308,7 @@ NXT_STATUS cCmdWrapDrawText(UBYTE * ArgV[])
IMG_PT * pPt = (IMG_PT*) ArgV[1];
ArgV[2] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[2])); //Resolve array argument
-
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[3]);
-
- // Display the String
- cCmdDrawString(ArgV[2], (UBYTE)pPt->X, (UBYTE)(pPt->Y));
- pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
-
+ cCmdDrawTextHelper(*(ULONG*)ArgV[3], ArgV[2], pPt);
// Set return value
*((SBYTE*)(ArgV[0])) = NO_ERR;
@@ -225,11 +323,14 @@ NXT_STATUS cCmdWrapDrawText(UBYTE * ArgV[])
NXT_STATUS cCmdWrapDrawPoint(UBYTE * ArgV[])
{
IMG_PT * pPt = (IMG_PT*) ArgV[1];
+ ULONG DrawOptions = *(ULONG*)ArgV[2];
+ UBYTE pixelMode, fillMode;
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[2]);
+ cCmdClearScreenIfNeeded(DrawOptions);
- // Display the String
- cCmdSetPixel(pPt->X, pPt->Y, TRUE);
+ // Display the Pixel
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode))
+ cCmdSetPixel(pPt->X, pPt->Y, pixelMode);
pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
@@ -249,10 +350,13 @@ NXT_STATUS cCmdWrapDrawLine(UBYTE * ArgV[])
{
IMG_PT * pPt1 = (IMG_PT*) ArgV[1];
IMG_PT * pPt2 = (IMG_PT*) ArgV[2];
+ ULONG DrawOptions = *(ULONG*)ArgV[3];
+ UBYTE pixelMode, fillMode;
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[3]);
+ cCmdClearScreenIfNeeded(DrawOptions);
- cCmdDrawLine(pPt1->X, pPt1->Y, pPt2->X, pPt2->Y);
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode))
+ cCmdDrawLine(pPt1->X, pPt1->Y, pPt2->X, pPt2->Y, pixelMode);
pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
@@ -270,61 +374,15 @@ NXT_STATUS cCmdWrapDrawLine(UBYTE * ArgV[])
//ArgV[3]: Options (ULONG)
NXT_STATUS cCmdWrapDrawCircle(UBYTE * ArgV[])
{
- SLONG x, x1, y1, y, dp, delta;
IMG_PT * pPt = (IMG_PT*) ArgV[1];
SLONG radius = *(UBYTE*)ArgV[2];
-
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[3]);
-
- x1 = pPt->X;
- y1 = pPt->Y;
- x = 0;
- y = radius;
- dp=2*(1-radius);
- while(y >= 0)
- {
- cCmdSetPixel((x+x1), (y+y1), TRUE);
- cCmdSetPixel((-x+x1),(-y+y1), TRUE);
- cCmdSetPixel((x+x1), (-y+y1), TRUE);
- cCmdSetPixel((-x+x1),(y+y1), TRUE);
- if(dp<0)
- {
- delta = 2*dp + 2*y - 1;
- if (delta > 0)
- {
- x++;
- y--;
- dp += 2*x - 2*y + 2;
- }
- else
- {
- x++;
- dp += 2*x + 1;
- }
- }
- else if (dp > 0)
- {
- delta = 2*dp - 2*x - 1;
- if (delta > 0)
- {
- y--;
- dp += 1 - 2*y;
- }
- else
- {
- x++;
- y--;
- dp += 2*x - 2*y + 2;
- }
- }
- else
- {
- x++;
- y--;
- dp += 2*x - 2*y +2;
- }
- }
-
+ ULONG DrawOptions = *(ULONG*)ArgV[3];
+ UBYTE pixelMode, fillMode;
+
+ cCmdClearScreenIfNeeded(DrawOptions);
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode))
+ cCmdDrawCircle(pPt->X, pPt->Y, radius, pixelMode, fillMode);
+
pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
// Set return value
@@ -343,10 +401,13 @@ NXT_STATUS cCmdWrapDrawRect(UBYTE * ArgV[])
{
IMG_PT * pPt1 = (IMG_PT*) ArgV[1];
IMG_PT * pPt2 = (IMG_PT*) ArgV[2]; // Second point is actually (width, height)
+ ULONG DrawOptions = *(ULONG*)ArgV[3];
+ UBYTE pixelMode, fillMode;
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[3]);
+ cCmdClearScreenIfNeeded(DrawOptions);
- cCmdDrawRect(pPt1->X, pPt1->Y, pPt2->X, pPt2->Y);
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode))
+ cCmdDrawRect(pPt1->X, pPt1->Y, pPt2->X, pPt2->Y, pixelMode, fillMode);
pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
@@ -357,6 +418,65 @@ NXT_STATUS cCmdWrapDrawRect(UBYTE * ArgV[])
}
//-----------------------------------------------------------------
+//cCmdWrapDrawPolygon
+//ArgV[0]: (Function return) Status byte, SBYTE
+//ArgV[1]: Points IMG_PT[]
+//ArgV[2]: Options (ULONG)
+NXT_STATUS cCmdWrapDrawPolygon(UBYTE * ArgV[])
+{
+ ULONG DrawOptions = *(ULONG*)ArgV[2];
+ UBYTE pixelMode, fillMode, bLine;
+
+ //Resolve array argument
+ IMG_PT * Points = (IMG_PT*)cCmdDVPtr(*(DV_INDEX *)(ArgV[1]));
+ UWORD polyCorners = DV_ARRAY[*(DV_INDEX *)(ArgV[1])].Count;
+
+ cCmdClearScreenIfNeeded(DrawOptions);
+ bLine = (DrawOptions & DRAW_OPT_POLYGON_POLYLINE) ? 1 : 0;
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode)) {
+ if (fillMode == DRAW_SHAPE_FILLED && polyCorners > MAX_CORNERS) {
+ // Set return value
+ *((SBYTE*)(ArgV[0])) = ERR_INSTR;
+ return ERR_INSTR;
+ }
+ else
+ cCmdDrawPolygon(Points, polyCorners, pixelMode, fillMode, bLine);
+ }
+
+ pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
+
+ // Set return value
+ *((SBYTE*)(ArgV[0])) = NO_ERR;
+
+ return NO_ERR;
+}
+
+//-----------------------------------------------------------------
+//cCmdWrapDrawEllipse
+//ArgV[0]: (Function return) Status byte, SBYTE
+//ArgV[1]: Start Location (IMG_PT *)
+//ArgV[2]: Radius1 (U8)
+//ArgV[3]: Radius2 (U8)
+//ArgV[4]: Options (ULONG)
+NXT_STATUS cCmdWrapDrawEllipse(UBYTE * ArgV[])
+{
+ IMG_PT * pPt = (IMG_PT*) ArgV[1];
+ SWORD radius1 = *(UBYTE*)ArgV[2];
+ SWORD radius2 = *(UBYTE*)ArgV[3];
+ ULONG DrawOptions = *(ULONG*)ArgV[4];
+ UBYTE pixelMode, fillMode;
+
+ cCmdClearScreenIfNeeded(DrawOptions);
+ if (cCmdResolveDrawingMode(DrawOptions, &pixelMode, &fillMode))
+ cCmdDrawEllipse(pPt->X, pPt->Y, radius1, radius2, pixelMode, fillMode);
+
+ pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
+ // Set return value
+ *((SBYTE*)(ArgV[0])) = NO_ERR;
+ return NO_ERR;
+}
+
+//-----------------------------------------------------------------
IMG_OP_UNION * cCmdGetIMGData(ULONG DataAddr)
{
if (DataAddr >= IMG_MAX_DATA)
@@ -375,12 +495,17 @@ void cCmdSetIMGData(ULONG DataAddr, IMG_OP_UNION * pSprite)
//-----------------------------------------------------------------
SLONG cCmdResolveValue(SWORD Value)
{
- if (!IMG_SYMB_USEARGS(Value))
+ if (!IMG_SYMB_USEARGS(Value) || !gpPassedImgVars || (gPassedVarsCount == 0))
{
return Value;
}
else
{
+ // if we try to access a variable beyond the end of the array we provided
+ // then just return the original value
+ if (IMG_SYMB_ARG(Value) >= gPassedVarsCount)
+ return Value;
+
IMG_OP_VARMAP * pVarMap;
SLONG Arg;
@@ -428,252 +553,843 @@ SLONG cCmdResolveValue(SWORD Value)
}
-//-----------------------------------------------------------------
-//cCmdWrapDrawGraphic
-//ArgV[0]: (Function return) Status Byte, SBYTE
-//ArgV[1]: Left Top (IMG_PT *)
-//ArgV[2]: Filename, CStr
-//ArgV[3]: Variables, array of I32
-//ArgV[4]: Options (ULONG)
-NXT_STATUS cCmdWrapDrawPicture(UBYTE * ArgV[])
+NXT_STATUS cCmdDrawPictureHelper(IMG_OP_UNION** ppImage, IMG_PT* pPoint, SLONG* pVars, ULONG DataSize, ULONG Options)
{
- SBYTE * pReturnVal = (SBYTE*)(ArgV[0]);
- LOADER_STATUS LStatus;
- NXT_STATUS DStatus = NO_ERR;
- ULONG DataSize;
- SLONG OpSize;
- IMG_PT Pt; // Where to draw the picture at (up and to the right)
- UBYTE ImageHandle;
- IMG_OP_UNION * pImage;
-
- //Resolve array argument
- ArgV[2] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[2]));
- ArgV[3] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[3]));
-
- cCmdClearScreenIfNeeded(*(ULONG*)ArgV[4]);
-
- //Open the file in memory map mode. return if failure.
- LStatus = pMapLoader->pFunc(OPENREADLINEAR, ArgV[2], (UBYTE*)(&pImage), &DataSize);
- ImageHandle = LOADER_HANDLE(LStatus);
-
- //If error opening file, give up and write loader status back to user.
- if (LOADER_ERR(LStatus) != SUCCESS || pImage == NULL)
+ SLONG OpSize;
+ UBYTE gFillMode, gInvertMode, gLogicalMode, gFontDir, gFontWrap;
+ UBYTE pixelMode, fillMode;
+ UBYTE invertMode, logicalMode;
+ IMG_PT Pt; // Where to draw the picture at (up and to the right)
+ NXT_STATUS DStatus = NO_ERR;
+ IMG_OP_UNION* pImage = *ppImage;
+ // Read the params, Clear the data table.
+ Pt = *pPoint;
+ gpPassedImgVars = pVars;
+ memset(gpImgData,0,sizeof(gpImgData));
+
+ cCmdClearScreenIfNeeded(Options);
+
+ cCmdResolveBitmapMode(Options, &gInvertMode, &gLogicalMode, &gFillMode);
+ cCmdResolveFontOptions(Options, &gFontDir, &gFontWrap);
+
+ // Run through the op codes.
+ while(!IS_ERR(DStatus))
{
- *pReturnVal = (SBYTE)(LOADER_ERR_BYTE(LStatus));
- return (NO_ERR);
- }
- //Else, start interpretting the file
- else
- {
- // Read the ArgV params, Clear the data table.
- Pt = *(IMG_PT*)ArgV[1];
- //!!! Unsafe assumption that array is non-empty. Should check and avoid using pointer if empty.
- gpPassedImgVars = (SLONG*)ArgV[3];
- memset(gpImgData,0,sizeof(gpImgData));
-
- // Run through the op codes.
- while(!IS_ERR(DStatus))
+ // Setup to look at an opcode, make sure it looke reasonable.
+ if (DataSize < sizeof(IMG_OP_CORE))
+ {
+ DStatus = ERR_FILE;
+ break; // Too small to look at, somethings wrong.
+ }
+ OpSize = pImage->Core.OpSize + sizeof(UWORD);
+ if (OpSize & 0x01)
+ {
+ DStatus = ERR_FILE;
+ break; // Odd sizes not allowed.
+ }
+
+ switch(pImage->Core.OpCode)
{
- // Setup to look at an opcode, make sure it looke reasonable.
- if (DataSize < sizeof(IMG_OP_CORE))
+ case IMG_SPRITE_ID:
{
- DStatus = ERR_FILE;
- break; // Too small to look at, somethings wrong.
+ if (OpSize >= sizeof(IMG_OP_SPRITE))
+ cCmdSetIMGData(pImage->Sprite.DataAddr, pImage);
}
- OpSize = pImage->Core.OpSize + sizeof(UWORD);
- if (OpSize & 0x01)
+ break;
+
+ case IMG_VARMAP_ID:
{
- DStatus = ERR_FILE;
- break; // Odd sizes not allowed.
+ if (OpSize >= sizeof(IMG_OP_VARMAP))
+ cCmdSetIMGData(pImage->VarMap.DataAddr, pImage);
}
+ break;
- switch(pImage->Core.OpCode)
+ case IMG_COPYBITS_ID:
{
- case IMG_SPRITE_ID:
+ if (OpSize >= sizeof(IMG_OP_COPYBITS))
{
- if (OpSize >= sizeof(IMG_OP_SPRITE))
- cCmdSetIMGData(pImage->Sprite.DataAddr, pImage);
+ IMG_OP_COPYBITS * pCB = &(pImage->CopyBits);
+ cCmdResolveBitmapMode(pCB->CopyOptions, &invertMode, &logicalMode, &fillMode);
+ cCmdCopyBitMapBits(
+ (cCmdResolveValue(pCB->Dst.X) + Pt.X),
+ (cCmdResolveValue(pCB->Dst.Y) + Pt.Y),
+ cCmdResolveValue((pCB->Src.Pt.X)),
+ cCmdResolveValue((pCB->Src.Pt.Y)),
+ cCmdResolveValue((pCB->Src.Width)),
+ cCmdResolveValue((pCB->Src.Height)),
+ (IMG_OP_SPRITE*)cCmdGetIMGData(cCmdResolveValue(pCB->DataAddr)),
+ invertMode, logicalMode, fillMode);
}
- break;
+ }
+ break;
- case IMG_VARMAP_ID:
+ case IMG_LINE_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_LINE))
{
- if (OpSize >= sizeof(IMG_OP_VARMAP))
- cCmdSetIMGData(pImage->VarMap.DataAddr, pImage);
+ IMG_OP_LINE * pL = &(pImage->Line);
+ cCmdResolveDrawingMode(pL->CopyOptions, &pixelMode, &fillMode); //JJR
+ cCmdDrawLine(
+ (cCmdResolveValue(pL->Pt1.X)+Pt.X),
+ (cCmdResolveValue(pL->Pt1.Y)+Pt.Y),
+ (cCmdResolveValue(pL->Pt2.X)+Pt.X),
+ (cCmdResolveValue(pL->Pt2.Y)+Pt.Y),
+ pixelMode //JJR
+ );
}
- break;
+ }
+ break;
- case IMG_COPYBITS_ID:
+ case IMG_RECTANGLE_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_RECT))
{
- if (OpSize >= sizeof(IMG_OP_COPYBITS))
- {
- IMG_OP_COPYBITS * pCB = &(pImage->CopyBits);
- cCmdCopyBitMapBits(
- (cCmdResolveValue(pCB->Dst.X) + Pt.X),
- (cCmdResolveValue(pCB->Dst.Y) + Pt.Y),
- cCmdResolveValue((pCB->Src.Pt.X)),
- cCmdResolveValue((pCB->Src.Pt.Y)),
- cCmdResolveValue((pCB->Src.Width)),
- cCmdResolveValue((pCB->Src.Height)),
- (IMG_OP_SPRITE*)cCmdGetIMGData(cCmdResolveValue(pCB->DataAddr)));
- }
+ IMG_OP_RECT * pR = &(pImage->Rect);
+ cCmdResolveDrawingMode(pR->CopyOptions, &pixelMode, &fillMode); //JJR
+ cCmdDrawRect(
+ (SWORD)(cCmdResolveValue(pR->Pt.X)+Pt.X),
+ (SWORD)(cCmdResolveValue(pR->Pt.Y)+Pt.Y),
+ (SWORD)(cCmdResolveValue(pR->Width)),
+ (SWORD)(cCmdResolveValue(pR->Height)),
+ pixelMode, fillMode //JJR
+ );
}
- break;
+ }
+ break;
- case IMG_LINE_ID:
+ case IMG_CIRCLE_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_CIRCLE))
{
- if (OpSize >= sizeof(IMG_OP_LINE))
- {
- IMG_OP_LINE * pL = &(pImage->Line);
- cCmdDrawLine(
- (cCmdResolveValue(pL->Pt1.X)+Pt.X),
- (cCmdResolveValue(pL->Pt1.Y)+Pt.Y),
- (cCmdResolveValue(pL->Pt2.X)+Pt.X),
- (cCmdResolveValue(pL->Pt2.Y)+Pt.Y)
- );
- }
+ IMG_OP_CIRCLE * pC = &(pImage->Circle);
+ cCmdResolveDrawingMode(pC->CopyOptions, &pixelMode, &fillMode); //JJR
+ cCmdDrawCircle(
+ (SWORD)(cCmdResolveValue(pC->Pt.X)+Pt.X),
+ (SWORD)(cCmdResolveValue(pC->Pt.Y)+Pt.Y),
+ (SWORD)(cCmdResolveValue(pC->Radius)),
+ pixelMode, fillMode //JJR
+ );
}
- break;
+ }
+ break;
- case IMG_RECTANGLE_ID:
+ case IMG_PIXEL_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_PIXEL))
{
- if (OpSize >= sizeof(IMG_OP_LINE))
- {
- IMG_OP_RECT * pL = &(pImage->Rect);
- cCmdDrawRect(
- (SWORD)(cCmdResolveValue(pL->Pt.X)+Pt.X),
- (SWORD)(cCmdResolveValue(pL->Pt.Y)+Pt.Y),
- (SWORD)(cCmdResolveValue(pL->Width)),
- (SWORD)(cCmdResolveValue(pL->Height))
+ cCmdResolveDrawingMode(pImage->Pixel.CopyOptions, &pixelMode, &fillMode); //JJR
+ cCmdSetPixel(
+ (cCmdResolveValue(pImage->Pixel.Pt.X) + Pt.X),
+ (cCmdResolveValue(pImage->Pixel.Pt.Y) + Pt.Y),
+ pixelMode //JJR
);
- }
}
- break;
+ }
+ break;
- case IMG_PIXEL_ID:
+ case IMG_NUMBOX_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_NUMBOX))
{
- if (OpSize >= sizeof(IMG_OP_PIXEL))
- {
- cCmdSetPixel(
- (cCmdResolveValue(pImage->Pixel.Pt.X) + Pt.X),
- (cCmdResolveValue(pImage->Pixel.Pt.Y) + Pt.Y),
- TRUE);
- }
+ UBYTE NumStr[20];
+ IMG_OP_NUMBOX * pNB = &(pImage->NumBox);
+ sprintf((PSZ)NumStr, "%d", cCmdResolveValue(pNB->Value));
+ cCmdResolveBitmapMode(pNB->CopyOptions, &invertMode, &logicalMode, &fillMode);
+ cCmdDrawString(
+ NumStr,
+ (UBYTE) (cCmdResolveValue(pNB->Pt.X) + Pt.X),
+ (UBYTE) (cCmdResolveValue(pNB->Pt.Y) + Pt.Y),
+ invertMode, logicalMode, fillMode //JJR
+ );
}
- break;
+ }
+ break;
- case IMG_NUMBOX_ID:
+ case IMG_ELLIPSE_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_ELLIPSE))
{
- if (OpSize >= sizeof(IMG_OP_NUMBOX))
- {
- UBYTE NumStr[20];
- IMG_OP_NUMBOX * pNB = &(pImage->NumBox);
- sprintf((PSZ)NumStr, "%d", cCmdResolveValue(pNB->Value));
- cCmdDrawString(
- NumStr,
- (UBYTE) (cCmdResolveValue(pNB->Pt.X) + Pt.X),
- (UBYTE) (cCmdResolveValue(pNB->Pt.Y) + Pt.Y));
- }
+ IMG_OP_ELLIPSE * pE = &(pImage->Ellipse);
+ cCmdResolveDrawingMode(pE->CopyOptions, &pixelMode, &fillMode); //JJR
+ cCmdDrawEllipse(
+ (SWORD)(cCmdResolveValue(pE->Pt.X)+Pt.X),
+ (SWORD)(cCmdResolveValue(pE->Pt.Y)+Pt.Y),
+ (SWORD)(cCmdResolveValue(pE->Radius1)),
+ (SWORD)(cCmdResolveValue(pE->Radius2)),
+ pixelMode, fillMode //JJR
+ );
}
- break;
+ }
+ break;
- case IMG_DESCRIPTION_ID:
+ case IMG_POLYGON_ID:
+ {
+ if (OpSize >= sizeof(IMG_OP_POLYGON))
{
- //No-op
+ IMG_OP_POLYGON * pP = &(pImage->Polygon);
+ UBYTE bLine = (pP->CopyOptions & DRAW_OPT_POLYGON_POLYLINE) ? 1 : 0;
+ cCmdResolveDrawingMode(pP->CopyOptions, &pixelMode, &fillMode); //JJR
+ // resolve all the values in the struct
+ if (fillMode != DRAW_SHAPE_FILLED || pP->Count <= MAX_CORNERS)
+ {
+ for(int i=0;i<pP->Count; i++) {
+ pP->Points[i].X = (SWORD)(cCmdResolveValue(pP->Points[i].X)+Pt.X);
+ pP->Points[i].Y = (SWORD)(cCmdResolveValue(pP->Points[i].Y)+Pt.Y);
+ }
+ cCmdDrawPolygon(pP->Points, pP->Count, pixelMode, fillMode, bLine);
+ }
}
- break;
+ }
+ break;
- default:
+ case IMG_DESCRIPTION_ID:
+ {
+ switch( pImage->Desc.Options )
{
- //Unrecognized opcode, pass an error back to the user.
- DStatus = ERR_FILE;
+ case DESC_FONTOUT :
+ cCmdDrawFont((IMG_OP_SPRITE*)cCmdGetIMGData(1), pImage->Desc.Width,
+ pImage->Desc.Height, Pt.X, Pt.Y, gFontDir, gFontWrap, gInvertMode,
+ gLogicalMode, gFillMode);
+ break;
}
- break;
}
+ break;
- DataSize -= OpSize;
- pImage = (IMG_OP_UNION*) ((UBYTE*)pImage + OpSize);
+ default:
+ {
+ //Unrecognized opcode, pass an error back to the user.
+ DStatus = ERR_FILE;
+ }
+ break;
}
- pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
+ DataSize -= OpSize;
+ pImage = (IMG_OP_UNION*) ((UBYTE*)pImage + OpSize);
}
+ gpPassedImgVars = NULL;
+ memset(gpImgData,0,sizeof(gpImgData));
+ pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND);
+ return DStatus;
+}
- // Set return value, close file and return
- *pReturnVal = DStatus;
+void cCmdDrawPictureFromFile(UBYTE *pFilename, IMG_PT* pPoint, SLONG* pVars, ULONG Options, SBYTE * pReturnVal)
+{
+ LOADER_STATUS LStatus;
+ ULONG DataSize;
+ UBYTE ImageHandle;
+ IMG_OP_UNION * pImage;
+
+ //Open the file in memory map mode. return if failure.
+ LStatus = pMapLoader->pFunc(OPENREADLINEAR, pFilename, (UBYTE*)(&pImage), &DataSize);
+ ImageHandle = LOADER_HANDLE(LStatus);
+
+ //If error opening file, give up and write loader status back to user.
+ if (LOADER_ERR(LStatus) != SUCCESS || pImage == NULL)
+ {
+ *pReturnVal = (SBYTE)(LOADER_ERR_BYTE(LStatus));
+ return;
+ }
+ //Else, start interpretting the file
+ else
+ {
+ *pReturnVal = cCmdDrawPictureHelper(&pImage, pPoint, pVars, DataSize, Options);
+ }
pMapLoader->pFunc(CLOSE, &ImageHandle, NULL, NULL);
+}
+
+//-----------------------------------------------------------------
+//cCmdWrapDrawPicture
+//ArgV[0]: (Function return) Status Byte, SBYTE
+//ArgV[1]: Left Top (IMG_PT *)
+//ArgV[2]: Filename, CStr
+//ArgV[3]: Variables, array of I32
+//ArgV[4]: Options (ULONG)
+NXT_STATUS cCmdWrapDrawPicture(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE *)ArgV[0];
+ IMG_PT* pPt = (IMG_PT*)ArgV[1];
+ ULONG Options = *(ULONG *)ArgV[4];
+
+ // count the variables
+ gPassedVarsCount = DV_ARRAY[*(DV_INDEX *)(ArgV[3])].Count;
+
+ //Resolve array argument
+ ArgV[2] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[2]));
+ ArgV[3] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[3]));
+
+ cCmdDrawPictureFromFile((UBYTE *)ArgV[2], pPt, (SLONG *)ArgV[3], Options, pReturnVal);
+
+ return (NO_ERR);
+}
+
+//-----------------------------------------------------------------
+//cCmdWrapDrawPictureArray
+//ArgV[0]: (Function return) Status Byte, SBYTE
+//ArgV[1]: Left Top (IMG_PT *)
+//ArgV[2]: Data, array of U8
+//ArgV[3]: Variables, array of I32
+//ArgV[4]: Options (ULONG)
+NXT_STATUS cCmdWrapDrawPictureArray(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE *)ArgV[0];
+ IMG_PT* pPt = (IMG_PT *)ArgV[1];
+ DV_INDEX DVIndex = *(DV_INDEX*)ArgV[2];
+ ULONG Options = *(ULONG *)ArgV[4];
+ ULONG DataSize = DV_ARRAY[DVIndex].Count;
+ IMG_OP_UNION* pImage;
+
+ // count the variables
+ gPassedVarsCount = DV_ARRAY[*(DV_INDEX *)(ArgV[3])].Count;
+
+ //Resolve array argument
+ pImage = (IMG_OP_UNION*)cCmdDVPtr(DVIndex);
+ ArgV[3] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[3])); // pVar
+
+ *pReturnVal = cCmdDrawPictureHelper((IMG_OP_UNION**)&pImage, pPt, (SLONG*)ArgV[3], DataSize, Options);
return (NO_ERR);
}
//-----------------------------------------------------------------
-// cCmdDrawLine - draw a line. All clipping is done by the set pixel function.
+//cCmdWrapDrawFont
+//ArgV[0]: (Function return) Status Byte, SBYTE
+//ArgV[1]: Left Top (IMG_PT *)
+//ArgV[2]: FontFilename, CStr
+//ArgV[3]: Text, CStr
+//ArgV[4]: Options (ULONG)
+NXT_STATUS cCmdWrapDrawFont(UBYTE * ArgV[])
+{
+ SBYTE * pReturnVal = (SBYTE *)ArgV[0];
+ IMG_PT * pPt = (IMG_PT*)ArgV[1];
+ ULONG Options = *(ULONG *)ArgV[4];
+
+ // count the number of characters
+ gPassedVarsCount = DV_ARRAY[*(DV_INDEX *)(ArgV[3])].Count;
+
+ //Resolve array arguments
+ ArgV[2] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[2]));
+ ArgV[3] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[3]));
+
+ if (strlen((PSZ)ArgV[2]) == 0) {
+ // if font filename is empty then use draw text instead
+ cCmdDrawTextHelper(Options, ArgV[3], pPt);
+ // Set return value
+ *pReturnVal = NO_ERR;
+ return NO_ERR;
+ }
+ else
+ {
+ // count the variables
+ gPassedVarsCount = MIN(strlen((PSZ)ArgV[3]), 256);
+ // copy data from input string into SLONG* array
+ SLONG Vars[256];
+ for(int i=0; i<256;i++) {
+ if (i < gPassedVarsCount)
+ Vars[i] = ArgV[3][i];
+ else
+ Vars[i] = 0;
+ }
+ cCmdDrawPictureFromFile((UBYTE *)ArgV[2], pPt, (SLONG*)Vars, Options, pReturnVal);
+ return (NO_ERR);
+ }
+}
+
+//-----------------------------------------------------------------
+// cCmdDrawLine - draw a line. Line is clipped to screen boundaries.
void cCmdDrawLine(
SLONG x1,
SLONG y1,
SLONG x2,
- SLONG y2)
-{
- SLONG d,x,y,ax,ay,sx,sy,dx,dy;
-
- // Initialize variables
- dx = x2-x1; ax = ABS(dx)<<1; sx = SGN(dx);
- dy = y2-y1; ay = ABS(dy)<<1; sy = SGN(dy);
- x = x1;
- y = y1;
- if (ax>ay)
- { /* x dominant */
- d = ay-(ax>>1);
- for (;;)
+ SLONG y2,
+ UBYTE PixelMode) //JJR
+{
+ SLONG tx, ty; //JJR
+ SLONG dx, dy; //JJR
+
+ dx = x2-x1; //JJR
+ dy = y2-y1; //JJR
+
+ //Clip line ends vertically - easier if y1<y2:
+ if (y1 > y2) {tx=x1; x1=x2; x2=tx;
+ ty=y1; y1=y2; y2=ty;}
+
+ //Is line completely off screen?
+ if (y2<0 || y1>=DISPLAY_HEIGHT) return;
+
+ //Trim y1 end:
+ if (y1 < 0)
+ {
+ if (dx && dy)
+ x1 = x1 + (((0-y1)*dx)/dy);
+ y1 = 0;
+ }
+ //Trim y2 end:
+ if (y2 > DISPLAY_HEIGHT-1)
+ {
+ if (dx && dy)
+ x2 = x2 - (((y2-(DISPLAY_HEIGHT-1))*dx)/dy);
+ y2 = DISPLAY_HEIGHT-1;
+ }
+
+ //Clip horizontally - easier if x1<x2
+ if (x1 > x2) {tx=x1; x1=x2; x2=tx;
+ ty=y1; y1=y2; y2=ty;}
+
+ //Is line completely off screen?
+ if (x2<0 || x1>=DISPLAY_WIDTH) return;
+
+ //Trim x1 end:
+ if (x1 < 0)
{
- cCmdSetPixel(x, y, TRUE);
- if (x==x2)
- return;
- if (d>=0)
- {
- y += sy;
- d -= ax;
- }
- x += sx;
- d += ay;
+ if (dx && dy)
+ y1 = y1 + (((0-x1)*dy)/dx);
+ x1 = 0;
}
- }
- else
- { /* y dominant */
- d = ax-(ay>>1);
- for (;;)
+ //Trim x2 end:
+ if (x2 > DISPLAY_WIDTH-1)
{
- cCmdSetPixel(x, y, TRUE);
- if (y==y2)
- return;
- if (d>=0)
+ if (dx && dy)
+ y2 = y2 - (((x2-(DISPLAY_WIDTH-1))*dy)/dx);
+ x2 = DISPLAY_WIDTH-1;
+ }
+
+ if (x1 == x2) {
+ // vertical line or a single point
+ if (y1 == y2)
+ //cCmdSetPixel(x1, y1, Set); //JJR
+ pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)PixelMode, (UBYTE)x1, (UBYTE)TRANSLATE_Y(y1), 0, 0); //JJR
+ else
+ {
+ //pMapDisplay->pFunc(DISPLAY_VERTICAL_LINE, Set, x1, TRANSLATE_Y(y1), 0, TRANSLATE_Y(y2)); //JJR
+ pMapDisplay->pFunc(DISPLAY_VERTICAL_LINE, PixelMode, x1, TRANSLATE_Y(y1), 0, TRANSLATE_Y(y2)); //JJR
+ }
+ }
+ else if (y1 == y2) {
+
+ // horizontal line (single point already dealt with)
+ pMapDisplay->pFunc(DISPLAY_HORIZONTAL_LINE, PixelMode, x1, TRANSLATE_Y(y1), x2, 0); //JJR
+ }
+ else {
+ SLONG d,x,y,ax,ay,sx,sy,dx,dy;
+ // Initialize variables
+ dx = x2-x1; ax = ABS(dx)<<1; sx = SGN(dx);
+ dy = y2-y1; ay = ABS(dy)<<1; sy = SGN(dy);
+ x = x1;
+ y = y1;
+ if (ax>ay)
+ { // x dominant
+ d = ay-(ax>>1);
+ for (;;)
{
+ //cCmdSetPixel(x, y, Set); //JJR
+ pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)PixelMode, (UBYTE)x, (UBYTE)TRANSLATE_Y(y), 0, 0); //JJR
+ if (x==x2)
+ return;
+ if (d>=0)
+ {
+ y += sy;
+ d -= ax;
+ }
x += sx;
- d -= ay;
+ d += ay;
+ }
+ }
+ else
+ { // y dominant
+ d = ax-(ay>>1);
+ for (;;)
+ {
+ //cCmdSetPixel(x, y, Set); //JJR
+ pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)PixelMode, (UBYTE)x, (UBYTE)TRANSLATE_Y(y), 0, 0); //JJR
+ if (y==y2)
+ return;
+ if (d>=0)
+ {
+ x += sx;
+ d -= ay;
+ }
+ y += sy;
+ d += ax;
}
- y += sy;
- d += ax;
}
}
}
//-----------------------------------------------------------------
-// cCmdDrawRect - draw a rectangle. All clipping is done by the set pixel function.
+// cCmdDrawRect - draw a rectangle.
void cCmdDrawRect(
SLONG left,
SLONG bottom,
SLONG width,
- SLONG height)
+ SLONG height,
+ UBYTE PixelMode, //JJR
+ UBYTE FillMode) //JJR
+{
+ SLONG x1, y1;
+ SLONG x2, y2;
+ SLONG t;
+
+ x1 = left;
+ x2 = left + width;
+/*
+ if (width > 0)
+ x2 = left + width - 1;
+ else if (width < 0)
+ x2 = left + width + 1;
+ else
+ x2 = x1;
+*/
+ y1 = bottom;
+ y2 = bottom + height;
+/*
+ if (height > 0)
+ y2 = bottom + height - 1;
+ else if (height < 0)
+ y2 = bottom + height + 1;
+ else
+ y2 = y1;
+*/
+
+ if (x1>x2) {t = x1; x1 = x2; x2 = t;}
+ if (y1>y2) {t = y1; y1 = y2; y2 = t;}
+
+ if (y2 == y1 || x2 == x1) {
+ // height == 0 so draw a single pixel horizontal line OR
+ // width == 0 so draw a single pixel vertical line
+ cCmdDrawLine(x1, y1, x2, y2, PixelMode);
+ return;
+ }
+ // rectangle has abs(width) or abs(height) >= 1
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ if (x2<0 || y2<0 || x1>DISPLAY_WIDTH-1 || y1>DISPLAY_HEIGHT-1) return;
+ if (x1<0) x1=0;
+ if (y1<0) y1=0;
+ if (x2>DISPLAY_WIDTH-1) x2=DISPLAY_WIDTH-1;
+ if (y2>DISPLAY_HEIGHT-1) y2=DISPLAY_HEIGHT-1;
+ pMapDisplay->pFunc(DISPLAY_FILL_REGION, PixelMode, x1, TRANSLATE_Y(y2), x2-x1+1, y2-y1+1);
+ }
+ else
+ {
+ //Use the full line drawing functions rather than horizontal/vertical
+ //functions so these get clipped properly. These will fall straight
+ //through to the faster functions anyway.
+ //Also don't re-draw parts of slim rectangles since XOR might be on.
+
+ cCmdDrawLine(x1, y1, x2, y1, PixelMode);
+ if (y2>y1)
+ {
+ cCmdDrawLine(x1, y2, x2, y2, PixelMode);
+ if (y2 > y1+1)
+ {
+ cCmdDrawLine(x2, y1+1, x2, y2-1, PixelMode);
+ if (x2>x1)
+ cCmdDrawLine(x1, y1+1, x1, y2-1, PixelMode);
+ }
+ }
+ }
+
+}
+
+void cCmdDrawPolygon(IMG_PT* points, UWORD polyCorners, UBYTE PixelMode, UBYTE FillMode, UBYTE bLine)
{
- SLONG right = left + width;
- SLONG top = bottom + height;
+ // the fill mode overrides the polyline vs polygon setting
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ int nodes;
+ int nodeX[MAX_CORNERS];
+ int pixelY;
+ int i, j;
+ int swap;
+ int IMAGE_TOP = -1;
+ int IMAGE_BOTTOM = 1024;
+ int IMAGE_RIGHT = -1;
+ int IMAGE_LEFT = 1024;
+ // calculate maximum and minimum X and Y coordinate values
+ for(i=0;i<polyCorners;i++) {
+ int tmpY = points[i].Y;
+ int tmpX = points[i].X;
+ if (tmpY>IMAGE_TOP) IMAGE_TOP = tmpY;
+ if (tmpY<IMAGE_BOTTOM) IMAGE_BOTTOM = tmpY;
+ if (tmpX>IMAGE_RIGHT) IMAGE_RIGHT = tmpX;
+ if (tmpX<IMAGE_LEFT) IMAGE_LEFT = tmpX;
+ }
+
+ // Loop through the rows of the image.
+ for (pixelY=IMAGE_BOTTOM; pixelY<IMAGE_TOP; pixelY++) {
+ // Build a list of nodes.
+ nodes=0; j=polyCorners-1;
+ for (i=0; i<polyCorners; i++) {
+ IMG_PT pI, pJ;
+ pI = points[i];
+ pJ = points[j];
+ if ((pI.Y<pixelY && pJ.Y>=pixelY) ||
+ (pJ.Y<pixelY && pI.Y>=pixelY)) {
+ nodeX[nodes++]=(pI.X+(pixelY-pI.Y)*(pJ.X-pI.X)/(pJ.Y-pI.Y));
+ }
+ j=i;
+ }
+
+ // Sort the nodes, via a simple “Bubble” sort.
+ i=0;
+ while (i<nodes-1) {
+ if (nodeX[i]>nodeX[i+1]) {
+ swap=nodeX[i];
+ nodeX[i]=nodeX[i+1];
+ nodeX[i+1]=swap;
+ if (i) i--;
+ }
+ else
+ i++;
+ }
- // Draw the four line segments
- cCmdDrawLine(left, top, right, top);
- cCmdDrawLine(right, top, right, bottom);
- cCmdDrawLine(right, bottom, left, bottom);
- cCmdDrawLine(left, bottom, left, top);
+ // Fill the pixels between node pairs.
+ for (i=0; i<nodes; i+=2) {
+ if (nodeX[i ]>=IMAGE_RIGHT) break;
+ if (nodeX[i+1]> IMAGE_LEFT) {
+ if (nodeX[i ]< IMAGE_LEFT) nodeX[i ]=IMAGE_LEFT;
+ if (nodeX[i+1]> IMAGE_RIGHT) nodeX[i+1]=IMAGE_RIGHT;
+ cCmdDrawLine(nodeX[i], pixelY, nodeX[i+1], pixelY, PixelMode);
+ }
+ }
+ }
+ }
+ else
+ {
+// for(int i = 0, j = polyCorners-1; i<polyCorners; j=i++) {
+ IMG_PT pI, pJ;
+ int i = 1, j = 0;
+ while (i < polyCorners) {
+ pI = points[i];
+ pJ = points[j];
+ cCmdDrawLine(pI.X, pI.Y, pJ.X, pJ.Y, PixelMode);
+ j=i++;
+ }
+ if (!bLine) {
+ i = 0;
+ pI = points[i];
+ pJ = points[j];
+ cCmdDrawLine(pI.X, pI.Y, pJ.X, pJ.Y, PixelMode);
+ }
+ }
}
+//-----------------------------------------------------------------
+// cCmdDrawEllipse - draw an ellipse. All clipping is done by the set pixel function.
+void cCmdDrawEllipse(SWORD xc, SWORD yc, SWORD a, SWORD b, UBYTE PixelMode, UBYTE FillMode) //JCH
+{ /* e(x,y) = b^2*x^2 + a^2*y^2 - a^2*b^2 */
+ SWORD x = 0, y = b;
+ SWORD rx = x, ry = y;
+ UWORD width = 1;
+ UWORD height = 1;
+ SLONG a2 = (SLONG)a*a;
+ SLONG b2 = (SLONG)b*b;
+ SLONG crit1 = -(a2/4 + a%2 + b2);
+ SLONG crit2 = -(b2/4 + b%2 + a2);
+ SLONG crit3 = -(b2/4 + b%2);
+ SLONG t = -a2*y; /* e(x+1/2,y-1/2) - (a^2+b^2)/4 */
+ SLONG dxt = 2*b2*x, dyt = -2*a2*y;
+ SLONG d2xt = 2*b2, d2yt = 2*a2;
+
+ if (b == 0) {
+ cCmdDrawRect(xc-a, yc, 2*a, 0, PixelMode, FillMode);
+ return;
+ }
+ if (a == 0) {
+ cCmdDrawRect(xc, yc-b, 0, 2*b, PixelMode, FillMode);
+ return;
+ }
+
+ while (y>=0 && x<=a)
+ {
+ if (FillMode != DRAW_SHAPE_FILLED)
+ {
+ cCmdSetPixel(xc+x, yc+y, PixelMode);
+ if (x!=0 || y!=0)
+ cCmdSetPixel(xc-x, yc-y, PixelMode);
+ if (x!=0 && y!=0)
+ {
+ cCmdSetPixel(xc+x, yc-y, PixelMode);
+ cCmdSetPixel(xc-x, yc+y, PixelMode);
+ }
+ }
+ if (t + b2*x <= crit1 || /* e(x+1,y-1/2) <= 0 */
+ t + a2*y <= crit3) /* e(x+1/2,y) <= 0 */
+ {
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ if (height == 1)
+ ; /* draw nothing */
+ else if (ry*2+1 > (height-1)*2)
+ {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, height-1, PixelMode, FillMode);
+ cCmdDrawRect(xc-rx, yc+ry, width-1, -(height-1), PixelMode, FillMode);
+ ry -= height-1;
+ height = 1;
+ }
+ else
+ {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, ry*2, PixelMode, FillMode);
+ ry -= ry;
+ height = 1;
+ }
+ rx++;
+ width += 2;
+ }
+ x++;
+ dxt += d2xt;
+ t += dxt;
+ }
+ else if (t - a2*y > crit2) /* e(x+1/2,y-1) > 0 */
+ {
+ y--;
+ dyt += d2yt;
+ t += dyt;
+ if (FillMode == DRAW_SHAPE_FILLED)
+ height++;
+ }
+ else
+ {
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ if (ry*2+1 > height*2)
+ {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, height-1, PixelMode, FillMode);
+ cCmdDrawRect(xc-rx, yc+ry, width-1, -(height-1), PixelMode, FillMode);
+ }
+ else
+ {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, ry*2, PixelMode, FillMode);
+ }
+ width += 2;
+ ry -= height;
+ height = 1;
+ rx++;
+ }
+ x++;
+ dxt += d2xt;
+ t += dxt;
+ y--;
+ dyt += d2yt;
+ t += dyt;
+ }
+ }
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ if (ry > height) {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, height-1, PixelMode, FillMode);
+ cCmdDrawRect(xc-rx, yc+ry, width-1, -(height-1), PixelMode, FillMode);
+ }
+ else {
+ cCmdDrawRect(xc-rx, yc-ry, width-1, ry*2, PixelMode, FillMode);
+ }
+ }
+}
+
+//-----------------------------------------------------------------
+// cCmdDrawCircle - draw a circle. All clipping is done by the set pixel function.
+//void cCmdDrawCircle(SLONG cx, SLONG cy, SLONG radius, UBYTE Set) //JJR
+void cCmdDrawCircle(SLONG cx, SLONG cy, SLONG radius, UBYTE PixelMode, UBYTE FillMode) //JJR
+{
+ cCmdDrawEllipse(cx, cy, radius, radius, PixelMode, FillMode);
+}
+/*
+//-----------------------------------------------------------------
+// cCmdDrawCircle - draw a circle. All clipping is done by the set pixel function.
+//void cCmdDrawCircle(SLONG cx, SLONG cy, SLONG radius, UBYTE Set) //JJR
+void cCmdDrawCircle(SLONG cx, SLONG cy, SLONG radius, UBYTE PixelMode, UBYTE FillMode) //JJR
+{
+ SLONG f, ddF_x, ddF_y, x, y;
+ SLONG ox, oy; //JJR
+
+ f = 1 - radius;
+ ddF_x = 0;
+ ddF_y = -2 * radius;
+ x = 0;
+ y = abs(radius); //JJR
+
+//JJR
+ if (y==0)
+ {
+ cCmdSetPixel(cx, cy + radius, PixelMode);
+ return;
+ }
+
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ cCmdDrawLine(cx-radius, cy, cx+radius, cy, PixelMode);
+ }
+ else
+ {
+ cCmdSetPixel(cx + radius, cy, PixelMode);
+ cCmdSetPixel(cx - radius, cy, PixelMode);
+ }
+
+ if (FillMode != DRAW_SHAPE_FILLED || y==1)
+ {
+ cCmdSetPixel(cx, cy + radius, PixelMode);
+ cCmdSetPixel(cx, cy - radius, PixelMode);
+ }
+
+ if (y==1) return;
+
+
+ while (x < y)
+ {
+ ox = x; //JJR
+ oy = y; //JJR
+ if(f >= 0)
+ {
+ y--;
+ ddF_y += 2;
+ f += ddF_y;
+ }
+ x++;
+ ddF_x += 2;
+ f += ddF_x + 1;
+
+//JJR
+ //Need to avoid duplicating pixels if drawing with XOR:
+
+ if (FillMode == DRAW_SHAPE_FILLED)
+ {
+ //Fill by drawing successive horizontal lines above and below
+ //a horizontal centre line.
+ if (x <= y)
+ {
+ cCmdDrawLine(cx-y, cy+x, cx+y, cy+x, PixelMode);
+ cCmdDrawLine(cx-y, cy-x, cx+y, cy-x, PixelMode);
+ }
+ //Only draw horizontal lines from the top and bottom if:
+ //i. The line doesn't overlap with the one just drawn, and the top
+ // curve has just stepped down a pixel or:
+ //ii. A line wasn't just drawn and the loop is about to exit.
+ if ((x<oy && y!=oy) || (x>y && ox<oy))
+ {
+ cCmdDrawLine(cx-ox, cy+oy, cx+ox, cy+oy, PixelMode);
+ cCmdDrawLine(cx-ox, cy-oy, cx+ox, cy-oy, PixelMode);
+ }
+ }
+ else
+ {
+ if (x <= y)
+ {
+ cCmdSetPixel(cx + x, cy + y, PixelMode);
+ cCmdSetPixel(cx - x, cy + y, PixelMode);
+ cCmdSetPixel(cx + x, cy - y, PixelMode);
+ cCmdSetPixel(cx - x, cy - y, PixelMode);
+ }
+ if (x < y)
+ {
+ cCmdSetPixel(cx + y, cy + x, PixelMode);
+ cCmdSetPixel(cx - y, cy + x, PixelMode);
+ cCmdSetPixel(cx + y, cy - x, PixelMode);
+ cCmdSetPixel(cx - y, cy - x, PixelMode);
+ }
+ }
+ }
+}
+*/
#ifndef DISPLAY_REALWIDTH
#define DISPLAY_REALWIDTH DISPLAY_WIDTH
@@ -687,20 +1403,21 @@ void cCmdCopyBitMapBits(
SLONG src_y, // starting pixel y coordinate from source map
SLONG src_width, // width in pixels to the right (negative implies to the left)
SLONG src_height, // height in pixels down (negative implies down)
- IMG_OP_SPRITE * pSprite)
+ IMG_OP_SPRITE * pSprite, UBYTE InvertMode, UBYTE LogicalMode, UBYTE FillMode)
{
SLONG dy; // Location in the destination pixmap , the screen that is
SLONG sx;
SLONG sy; // Location in the source pixmap.
SLONG trim, last_x, last_y, rowbytes;
UBYTE *pSrcByte;
+ UBYTE srcByte; //JJR
UBYTE *pDstBytes;
UBYTE *pDstByte, *pFirstDstByte;
UBYTE *pLastDstByte;
- UBYTE bit_y, not_bit_y;
+ UBYTE bit_y; //JJR
UBYTE masks[8] = {0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01};
- // Data in the image file is row major 8 pixels per byte.top row first.
+ // Data in the image file is row major 8 pixels per byte. top row first.
// src and dst coordinates treat the bottom left most pixel as (0,0)
if (!pSprite || pSprite->OpCode!=IMG_SPRITE_ID)
@@ -750,17 +1467,56 @@ void cCmdCopyBitMapBits(
for (dy = dst_y; dy > last_y; dy--)
{
sx = src_x;
- bit_y = masks[7 - (dy & 0x07)];
- not_bit_y = ~ bit_y;
+ bit_y = masks[7 - (dy & 0x07)];
+ // not_bit_y = ~ bit_y; //JJR
pDstByte = pFirstDstByte;
pLastDstByte = pDstByte + (last_x - dst_x);
for (; pDstByte < pLastDstByte; pDstByte++)
{
- if ( *(pSrcByte + (sx >> 3)) & masks[sx & 0x07] ){
- *pDstByte |= bit_y;
- } else {
- *pDstByte &= not_bit_y;
+ //Read source byte:
+ //If fill mode is on, pretend the source bitmap is solid:
+ if (FillMode==DRAW_SHAPE_FILLED)
+ srcByte = 0xff;
+ else
+ srcByte = *(pSrcByte + (sx >> 3)); //JJR
+
+ //If invert mode is on, invert the source byte:
+ if (InvertMode==DRAW_BITMAP_INVERT) srcByte = ~srcByte; //JJR
+
+ //Test the pixel in the source byte:
+ if ( srcByte & masks[sx & 0x07] ) //JJR
+ {
+ //If pixel is set in source image:
+ switch (LogicalMode)
+ {
+ case DRAW_LOGICAL_AND:
+ break;
+ case DRAW_LOGICAL_XOR:
+ *pDstByte ^= bit_y;
+ break;
+ case DRAW_LOGICAL_OR:
+ case DRAW_LOGICAL_COPY:
+ default:
+ *pDstByte |= bit_y;
+ break;
+ }
}
+ else
+ {
+ //If pixel is clear in source image:
+ switch (LogicalMode)
+ {
+ case DRAW_LOGICAL_OR:
+ case DRAW_LOGICAL_XOR:
+ break;
+ case DRAW_LOGICAL_AND:
+ case DRAW_LOGICAL_COPY:
+ default:
+ *pDstByte &= ~bit_y;
+ break;
+ }
+ }
+//JJR
sx ++;
}
pSrcByte -= rowbytes;
@@ -772,12 +1528,13 @@ void cCmdCopyBitMapBits(
}
//-----------------------------------------------------------------
-// cCmdSetPixel - Set or clear a pixel based on Val
-void cCmdSetPixel(SLONG X, SLONG Y, ULONG Val)
+// cCmdSetPixel - Set, clear or invert a pixel based on PixelMode
+void cCmdSetPixel(SLONG X, SLONG Y, ULONG PixelMode)
{
Y = TRANSLATE_Y(Y);
- pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)Val, (UBYTE)X, (UBYTE)Y, 0, 0);
+ if (X>=0 && X<DISPLAY_WIDTH && Y>=0 && Y<DISPLAY_HEIGHT)
+ pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)PixelMode, (UBYTE)X, (UBYTE)Y, 0, 0);
}
@@ -791,27 +1548,68 @@ NXT_STATUS cCmdWrapSetScreenMode(UBYTE * ArgV[])
if (ScreenMode == RESTORE_NXT_SCREEN) {
cCmdRestoreDefaultScreen();
}
+ else if (ScreenMode == CLEAR_NXT_SCREEN) {
+ pMapDisplay->pFunc(DISPLAY_ERASE_ALL, 0, 0, 0, 0, 0);
+ }
// Set return value
*(SBYTE*)(ArgV[0]) = NO_ERR;
return NO_ERR;
}
-//------------------------------------------------------------------
-// cCmdClearScreenIfNeeded - Clear entire sceen buffer if explicitly requested or implicitly required.
-void cCmdClearScreenIfNeeded(ULONG DrawOptions)
+void cDirtyDisplay(ULONG* DrawOptions)
{
- //If we are the first drawing command, clear the screen and record that we've done so
+ //If we are the first drawing command mark the display as dirty
if (VarsCmd.DirtyDisplay == FALSE)
{
VarsCmd.DirtyDisplay = TRUE;
pMapUi->Flags &= ~UI_ENABLE_STATUS_UPDATE;
-
- //Override DrawOptions because we have to clear anyway
- DrawOptions = DRAW_OPT_CLEAR_WHOLE_SCREEN;
+
+ if (DrawOptions) {
+ //Override DrawOptions because we have to clear anyway
+ *DrawOptions = DRAW_OPT_CLEAR_WHOLE_SCREEN;
+ }
}
+}
+
+//
+//cCmdWrapDisplayExecuteFunction
+//ArgV[0]: (return) Status byte, SBYTE
+//ArgV[1]: UBYTE Cmd
+//ArgV[2]: UBYTE On
+//ArgV[3]: UBYTE X1
+//ArgV[4]: UBYTE Y1
+//ArgV[5]: UBYTE X2
+//ArgV[6]: UBYTE Y2
+//
+NXT_STATUS cCmdWrapDisplayExecuteFunction(UBYTE * ArgV[])
+{
+ cDirtyDisplay(NULL);
+ UBYTE Cmd = *(UBYTE*)(ArgV[1]);
+ UBYTE Y1 = *(UBYTE*)(ArgV[4]);
+ UBYTE Y2 = *(UBYTE*)(ArgV[6]);
+ if (Cmd != DISPLAY_CHAR)
+ Y1 = TRANSLATE_Y(Y1);
+ if (Cmd == DISPLAY_VERTICAL_LINE)
+ Y2 = TRANSLATE_Y(Y2);
+ pMapDisplay->pFunc(Cmd,
+ *(UBYTE*)(ArgV[2]),
+ *(UBYTE*)(ArgV[3]),
+ Y1,
+ *(UBYTE*)(ArgV[5]),
+ Y2);
+ *(SBYTE*)(ArgV[0]) = NO_ERR;
+ return (NO_ERR);
+}
+
+
+//------------------------------------------------------------------
+// cCmdClearScreenIfNeeded - Clear entire sceen buffer if explicitly requested or implicitly required.
+void cCmdClearScreenIfNeeded(ULONG DrawOptions)
+{
+ cDirtyDisplay(&DrawOptions);
- if (DRAW_OPT_CLEAR_MODE(DrawOptions))
+ if (cCmdResolveClearScreenMode(DrawOptions))
{
pMapDisplay->pFunc(DISPLAY_ERASE_ALL, 0, 0, 0, 0, 0);
@@ -827,10 +1625,12 @@ void cCmdClearScreenIfNeeded(ULONG DrawOptions)
// Properly uses 'Normal' display buffer to avoid conflicts with popup buffer
// Clips text at bottom and right hand edges of the screen buffer
//!!! Function copied and modified from cDisplayString
-void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y)
+//void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y) //JJR
+void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y, UBYTE InvertMode, UBYTE LogicalMode, UBYTE FillMode) //JJR
{
UBYTE *pSource;
UBYTE *pDestination;
+ UBYTE a;
FONT *pFont;
ULONG FontWidth;
ULONG Items;
@@ -858,7 +1658,7 @@ void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y)
//Calculate X coordinate of the right edge of this character.
//If it will extend past the right edge, clip the string.
X += FontWidth;
- if (X >= DISPLAY_WIDTH)
+ if (X > DISPLAY_WIDTH) // JCH: was >= This clipped text that ended at pixel 99
break;
//If Item is defined by the font, display it. Else, ignore it.
@@ -868,7 +1668,37 @@ void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y)
pSource = (UBYTE*)&(pFont->Data[Item * FontWidth]);
while (FontWidth--)
{
- *pDestination = *pSource;
+//JJR
+// *pDestination = *pSource;
+
+ //Fetch a byte from the source bitmap:
+ //If fill mode is on, pretend the source bitmap is solid:
+ if (FillMode==DRAW_SHAPE_FILLED)
+ a = 0xff;
+ else
+ a = *pSource;
+
+ //Implement bitmap invert mode:
+ if (InvertMode==DRAW_BITMAP_INVERT) a = ~a;
+
+ //Implement bitmap logical mode when writing on screen:
+ switch (LogicalMode)
+ {
+ case DRAW_LOGICAL_OR:
+ *pDestination |= a;
+ break;
+ case DRAW_LOGICAL_AND:
+ *pDestination &= a;
+ break;
+ case DRAW_LOGICAL_XOR:
+ *pDestination ^= a;
+ break;
+ case DRAW_LOGICAL_COPY:
+ default:
+ *pDestination = a;
+ break;
+ }
+//JJR
pDestination++;
pSource++;
}
@@ -891,4 +1721,338 @@ void cCmdRestoreDefaultScreen(void)
pMapUi->Flags |= UI_ENABLE_STATUS_UPDATE | UI_REDRAW_STATUS;
}
+ // restore default display state
+ pMapDisplay->Display = (UBYTE*)pMapDisplay->Normal;
+ pMapDisplay->Flags = DISPLAY_REFRESH | DISPLAY_ON;
}
+
+//------------------------------------------------------------------
+// cCmdResolveDrawingMode - extract the parameters that affect pixel, line and shape
+// drawing from the 'DrawingOptions' or 'CopyOptions' parameter.
+// Return FALSE for combinations that do nothing.
+
+UBYTE cCmdResolveDrawingMode(UWORD DrawingOptions, UBYTE* pPixelMode, UBYTE* pFillMode)
+{
+ DrawingOptions = cCmdResolveValue(DrawingOptions);
+ // Extract shape fill option:
+ if (DrawingOptions & DRAW_OPT_FILL_SHAPE)
+ *pFillMode = DRAW_SHAPE_FILLED;
+ else
+ *pFillMode = DRAW_SHAPE_HOLLOW;
+
+ // Extract pixel drawing options:
+ if (DrawingOptions & DRAW_OPT_INVERT)
+ {
+ //Drawing with white pixels:
+ switch (DrawingOptions & DRAW_OPT_LOGICAL_OPERATIONS)
+ {
+ //Only these cases do anything:
+ case DRAW_OPT_LOGICAL_COPY:
+ case DRAW_OPT_LOGICAL_AND:
+ *pPixelMode = DRAW_PIXELS_CLEAR;
+ return TRUE;
+ default:
+ break;
+ }
+ }
+ else
+ {
+ //Drawing with black pixels:
+ switch (DrawingOptions & DRAW_OPT_LOGICAL_OPERATIONS)
+ {
+ //Only these cases do anything:
+ case DRAW_OPT_LOGICAL_COPY:
+ case DRAW_OPT_LOGICAL_OR:
+ *pPixelMode = DRAW_PIXELS_SET;
+ return TRUE;
+ case DRAW_OPT_LOGICAL_XOR:
+ *pPixelMode = DRAW_PIXELS_INVERT;
+ return TRUE;
+ default:
+ break;
+ }
+ }
+
+ // If no operation is required, set defaults and return FALSE.
+ // e.g. 'AND' on its own is meaningless for line drawing,
+ // 'INVERT + OR' and 'INVERT + XOR' do nothing either.
+
+ *pPixelMode = DRAW_PIXELS_SET;
+ *pFillMode = DRAW_SHAPE_HOLLOW;
+ return FALSE;
+}
+
+//------------------------------------------------------------------
+// cCmdResolveBitmapMode - extract the parameters that affect bitmap and text
+// drawing from the 'DrawingOptions' or 'CopyOptions' parameter.
+void cCmdResolveBitmapMode(UWORD DrawingOptions, UBYTE* pInvertMode, UBYTE* pLogicalMode, UBYTE* pFillMode)
+{
+ DrawingOptions = cCmdResolveValue(DrawingOptions);
+ //Extract bitmap inversion mode:
+ if (DrawingOptions & DRAW_OPT_INVERT)
+ *pInvertMode = DRAW_BITMAP_INVERT;
+ else
+ *pInvertMode = DRAW_BITMAP_PLAIN;
+
+ //Extract bitmap logical operation:
+ switch (DrawingOptions & DRAW_OPT_LOGICAL_OPERATIONS)
+ {
+ case DRAW_OPT_LOGICAL_OR:
+ *pLogicalMode = DRAW_LOGICAL_OR;
+ break;
+ case DRAW_OPT_LOGICAL_AND:
+ *pLogicalMode = DRAW_LOGICAL_AND;
+ break;
+ case DRAW_OPT_LOGICAL_XOR:
+ *pLogicalMode = DRAW_LOGICAL_XOR;
+ break;
+ case DRAW_OPT_LOGICAL_COPY:
+ default:
+ *pLogicalMode = DRAW_LOGICAL_COPY;
+ break;
+ }
+
+ // Extract shape fill option (overrides source bitmap with all pixels set):
+ if (DrawingOptions & DRAW_OPT_FILL_SHAPE)
+ *pFillMode = DRAW_SHAPE_FILLED;
+ else
+ *pFillMode = DRAW_SHAPE_HOLLOW;
+
+}
+
+//------------------------------------------------------------------
+// cCmdResolveFontOptions - extract the parameters that affect custom RIC font drawing
+// drawing from the 'DrawingOptions' parameter.
+void cCmdResolveFontOptions(UWORD DrawingOptions, UBYTE* pFontDir, UBYTE* pFontWrap)
+{
+ //Extract bitmap inversion mode:
+ if (DrawingOptions & DRAW_OPT_FONT_WRAP)
+ *pFontWrap = DRAW_FONT_WRAP_ON;
+ else
+ *pFontWrap = DRAW_FONT_WRAP_OFF;
+
+ //Extract bitmap logical operation:
+ switch (DrawingOptions & DRAW_OPT_FONT_DIRECTIONS)
+ {
+ case DRAW_OPT_FONT_DIR_L2RB:
+ *pFontDir = DRAW_FONT_DIR_L2RB;
+ break;
+ case DRAW_OPT_FONT_DIR_L2RT:
+ *pFontDir = DRAW_FONT_DIR_L2RT;
+ break;
+ case DRAW_OPT_FONT_DIR_R2LB:
+ *pFontDir = DRAW_FONT_DIR_R2LB;
+ break;
+ case DRAW_OPT_FONT_DIR_R2LT:
+ *pFontDir = DRAW_FONT_DIR_R2LT;
+ break;
+ case DRAW_OPT_FONT_DIR_B2TL:
+ *pFontDir = DRAW_FONT_DIR_B2TL;
+ break;
+ case DRAW_OPT_FONT_DIR_B2TR:
+ *pFontDir = DRAW_FONT_DIR_B2TR;
+ break;
+ case DRAW_OPT_FONT_DIR_T2BL:
+ *pFontDir = DRAW_FONT_DIR_T2BL;
+ break;
+ case DRAW_OPT_FONT_DIR_T2BR:
+ *pFontDir = DRAW_FONT_DIR_T2BR;
+ break;
+ default:
+ *pFontDir = DRAW_FONT_DIR_L2RB;
+ break;
+ }
+}
+
+//------------------------------------------------------------------
+// cCmdResolveClearScreenMode - extract the parameters that affect screen clearing
+// from the 'DrawingOptions' parameter.
+UBYTE cCmdResolveClearScreenMode(UWORD DrawingOptions)
+{
+ if (DrawingOptions & DRAW_OPT_CLEAR_SCREEN_MODES)
+ return TRUE;
+ else
+ return FALSE;
+}
+//JJR
+
+void cCmdDrawFont(IMG_OP_SPRITE *pSprite, SLONG sW, SLONG sH, SLONG startx, SLONG starty,
+ UBYTE fontDir, UBYTE fontWrap, UBYTE invertMode, UBYTE logicalMode, UBYTE fillMode)
+{
+ SWORD index; // index on id for output
+ SWORD xpos; // x-position for next output
+ SWORD ypos; // y-position for next output
+ SLONG sourcex; // X-Pos of pattern inside bitmap
+ SLONG sourcey; // Y-Pos of pattern inside bitmap
+ SLONG sourcew; // Width of pattern inside bitmap
+ SLONG sourceh; // Height of pattern inside bitmap
+ int destx; // X-Destination position on screen
+ int desty; // Y-Destination position on screen
+ SWORD stdw; // Standard font width
+ SWORD stdh; // Standard font height
+
+ if (!gpPassedImgVars) // exit early if we do not have parameters
+ return;
+
+ stdw = MIN( sW, DISPLAY_WIDTH ); // calculate the standard width
+ stdh = MIN( sH, DISPLAY_HEIGHT ); // calculate the standard height
+
+ index=0; // Reset the start position
+ xpos=startx; // Initial start position X
+ ypos=starty; // Initial start position Y
+
+ while( index < gPassedVarsCount )
+ {
+ // terminate the loop at our first null
+ if (gpPassedImgVars[index] == 0)
+ break;
+ sourcex=cCmdResolveValue(0xF200|index); // Get dynamic xpos of pattern
+ sourcey=cCmdResolveValue(0xF300|index); // Get dynamic ypos of pattern
+ sourcew=cCmdResolveValue(0xF400|index); // Get dynamic width of pattern
+ sourceh=cCmdResolveValue(0xF500|index); // Get dynamic height of pattern
+
+ //--Calculate the rectangle for source (inside the sprite) and destination
+ //--on the screen (related to the fontdirection) for performing the
+ //--BitCopy function
+
+ switch( fontDir )
+ {
+ case DRAW_FONT_DIR_L2RB : // Left to right with bottom align----------------
+
+ if( fontWrap )
+ {
+ if( ( xpos + sourcew ) > DISPLAY_WIDTH )
+ {
+ xpos = startx;
+ ypos -= stdh;
+ }
+ }
+
+ destx = xpos;
+ desty = ypos;
+ xpos = xpos + sourcew;
+
+ break;
+
+ case DRAW_FONT_DIR_L2RT : // Left to right with align to top----------------
+
+ if( fontWrap )
+ {
+ if( ( xpos + sourcew ) > DISPLAY_WIDTH )
+ {
+ xpos = startx;
+ ypos += stdh;
+ }
+ }
+
+ destx = xpos;
+ desty = ypos - sourceh + 1;
+ xpos = xpos + sourcew;
+ break;
+
+ case DRAW_FONT_DIR_R2LB : // Right to left with align to bottom-------------
+
+ if( fontWrap )
+ {
+ if( ( xpos - sourcew ) < 0 )
+ {
+ xpos = startx;
+ ypos -= stdh;
+ }
+ }
+
+ destx = xpos - sourcew + 1;
+ desty = ypos;
+ xpos = xpos - sourcew;
+ break;
+
+ case DRAW_FONT_DIR_R2LT : // Right to left with align to top----------------
+
+ if( fontWrap )
+ {
+ if( ( xpos - sourcew ) < 0 )
+ {
+ xpos = startx;
+ ypos += stdh;
+ }
+ }
+
+ destx = xpos - sourcew + 1;
+ desty = ypos - sourceh + 1;
+ xpos = xpos - sourcew;
+ break;
+
+ case DRAW_FONT_DIR_B2TL : // Bottom to top with allign to left--------------
+
+ if( fontWrap )
+ {
+ if( ( ypos + sourceh ) > DISPLAY_HEIGHT )
+ {
+ xpos += stdw;
+ ypos = starty;
+ }
+ }
+
+ destx = xpos;
+ desty = ypos;
+ ypos = ypos + sourceh;
+ break;
+
+ case DRAW_FONT_DIR_B2TR : // Bottom to top with allign to right-------------
+
+ if( fontWrap )
+ {
+ if( ( ypos + sourceh ) > DISPLAY_HEIGHT )
+ {
+ xpos -= stdw;
+ ypos = starty;
+ }
+ }
+
+ destx = xpos - sourcew + 1;
+ desty = ypos;
+ ypos = ypos + sourceh;
+ break;
+
+ case DRAW_FONT_DIR_T2BL : // Top to bottom with allign to right-------------
+
+ if( fontWrap )
+ {
+ if( ( ypos - sourceh ) < 0 )
+ {
+ xpos += stdw;
+ ypos = starty;
+ }
+ }
+
+ destx = xpos;
+ desty = ypos - sourceh + 1;
+ ypos = ypos - sourceh;
+ break;
+
+ case DRAW_FONT_DIR_T2BR : // Top to bottom with allign to right-------------
+
+ if( fontWrap )
+ {
+ if( ( ypos - sourceh ) < 0 )
+ {
+ xpos -= stdw;
+ ypos = starty;
+ }
+ }
+
+ destx = xpos - sourcew + 1;
+ desty = ypos - sourceh + 1;
+ ypos = ypos - sourceh;
+ break;
+ }
+
+ //--Output of the calculated pattern to the screen------------------------
+ cCmdCopyBitMapBits(destx, desty, sourcex, sourcey, sourcew, sourceh,
+ pSprite, invertMode, logicalMode, fillMode);
+
+ // move on to next character
+ index++;
+ }
+}
+
diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c
index ee0c6ae..c760b84 100644
--- a/AT91SAM7S256/Source/c_comm.c
+++ b/AT91SAM7S256/Source/c_comm.c
@@ -60,13 +60,13 @@ enum
IOMapComm.BtInBuf.InPtr = 0;\
CLEARExtMode;\
dBtClearArm7CmdSignal();\
- dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)CMD_MODE);
+ dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)CMD_MODE, FALSE);
#define SETBtDataState IOMapComm.BtInBuf.InPtr = 0;\
VarsComm.BtState = BT_ARM_DATA_MODE;\
dBtClearTimeOut(); /* stop cmd timeout because in datamode */\
dBtSetArm7CmdSignal();\
- dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)STREAM_MODE)
+ dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)STREAM_MODE, IOMapComm.BtDataMode != DATA_MODE_NXT);
#define SETBtOff VarsComm.BtState = BT_ARM_OFF;\
dBtSetBcResetPinLow()
@@ -160,10 +160,15 @@ void cCommInit(void* pHeader)
}
IOMapComm.BtDeviceCnt = 0;
IOMapComm.BrickData.BtStateStatus = 0;
-
+ IOMapComm.HsSpeed = HS_BAUD_921600;
+ IOMapComm.HsAddress = HS_ADDRESS_ALL;
+ IOMapComm.HsMode = HS_MODE_8N1;
+ IOMapComm.BtDataMode = DATA_MODE_NXT;
+ IOMapComm.HsDataMode = DATA_MODE_RAW;
+
cCommClrConnTable();
- dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)CMD_MODE);
+ dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)CMD_MODE, FALSE);
dBtStartADConverter();
dHiSpeedInit();
@@ -177,7 +182,18 @@ void cCommInit(void* pHeader)
void cCommCtrl(void)
{
-
+ // remove the update flag from the hi-speed data mode field
+ IOMapComm.HsDataMode &= ~DATA_MODE_UPDATE;
+
+ if (IOMapComm.BtDataMode & DATA_MODE_UPDATE)
+ {
+ // remove the update flag from the data mode field
+ IOMapComm.BtDataMode &= ~DATA_MODE_UPDATE;
+ // re-initialize the receiver (only changing the NoLengthBytes param)
+
+ dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)((VarsComm.BtState == BT_ARM_CMD_MODE) ? CMD_MODE : STREAM_MODE), IOMapComm.BtDataMode != DATA_MODE_NXT);
+ }
+
if (FALSE == cCommReceivedBtData())
{
@@ -227,7 +243,9 @@ void cCommCtrl(void)
break;
}
}
- IOMapComm.BtInBuf.Buf[BT_CMD_BYTE] = 0;
+ // don't overwrite this byte when we are in DATA GPS or RAW mode
+ if ((VarsComm.BtState == BT_ARM_CMD_MODE) || (IOMapComm.BtDataMode == DATA_MODE_NXT))
+ IOMapComm.BtInBuf.Buf[BT_CMD_BYTE] = 0;
/* Here comes the the HIGHSPEED_PORT implementation */
@@ -238,7 +256,7 @@ void cCommCtrl(void)
{
case HS_INITIALISE:
{
- dHiSpeedSetupUart();
+ dHiSpeedSetupUart(IOMapComm.HsSpeed, IOMapComm.HsMode);
IOMapComm.HsState = HS_INIT_RECEIVER;
IOMapComm.HsFlags |= HS_UPDATE;
}
@@ -254,6 +272,7 @@ void cCommCtrl(void)
case HS_SEND_DATA:
{
cCommSendHiSpeedData();
+ IOMapComm.HsState = HS_DEFAULT; // do not leave this in HS_SEND_DATA state
}
break;
@@ -263,6 +282,13 @@ void cCommCtrl(void)
dHiSpeedExit();
}
break;
+
+ case HS_ENABLE:
+ {
+ if (VarsComm.HsState == 0)
+ dHiSpeedInit();
+ }
+ break;
}
}
@@ -413,8 +439,11 @@ UWORD cCommInterprete(UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pLength, UBYTE C
case REPLY_CMD:
{
- /* If this is a reply to a direct command opcode, pRCHandler will handle it */
- if (pInBuf[1] < NUM_RC_OPCODES)
+ // in the enhanced firmware all replies (system or direct) go to the RC Handler function
+ // since it stores the last response in VarsCmd.LastResponseBuffer field
+
+// /* If this is a reply to a direct command opcode, pRCHandler will handle it */
+// if (pInBuf[1] < NUM_RC_OPCODES)
pMapCmd->pRCHandler(&(pInBuf[0]), NULL, pLength);
/* No Reply ever required on REPLY_CMD messages */
@@ -464,6 +493,9 @@ UWORD cCommInterprete(UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pLength, UBYTE C
break;
case REPLY_CMD:
{
+ // in the enhanced firmware all replies (system or direct) go to the RC Handler function
+ // since it stores the last response in VarsCmd.LastResponseBuffer field
+ pMapCmd->pRCHandler(&(pInBuf[0]), NULL, pLength);
}
break;
default:
@@ -657,13 +689,19 @@ UWORD cCommInterpreteCmd(UBYTE Cmd, UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pL
Length = FileLength;
/* Here test for channel - USB can only handle a 64 byte return (- wrapping )*/
- if (CmdBit & USB_CMD_READY)
+ if ((CmdBit & BT_CMD_READY) != BT_CMD_READY)
{
- if (FileLength > (SIZE_OF_USBBUF - 6))
+ // USB or HS
+ UBYTE bufSize;
+ if (CmdBit & USB_CMD_READY)
+ bufSize = SIZE_OF_USBBUF;
+ else
+ bufSize = SIZE_OF_HSBUF;
+ if (FileLength > (bufSize - 6))
{
/* Buffer cannot hold the requested data adjust to buffer size */
- FileLength = (SIZE_OF_USBBUF - 6);
+ FileLength = (bufSize - 6);
}
*pLength = FileLength + 4;
Status = pMapLoader->pFunc(READ, &pInBuf[1], &pOutBuf[4], &FileLength);
@@ -876,13 +914,18 @@ UWORD cCommInterpreteCmd(UBYTE Cmd, UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pL
FileLength <<= 8;
FileLength |= pInBuf[7];
- if (CmdBit & USB_CMD_READY)
+ if (!(CmdBit & BT_CMD_READY))
{
+ UBYTE bufSize;
+ if (CmdBit & USB_CMD_READY)
+ bufSize = SIZE_OF_USBBUF;
+ else
+ bufSize = SIZE_OF_HSBUF;
- /* test for USB buffer overrun */
- if (FileLength > (SIZE_OF_USBBUF - 9))
+ /* test for USB or HS buffer overrun */
+ if (FileLength > (bufSize - 9))
{
- FileLength = SIZE_OF_USBBUF - 9;
+ FileLength = bufSize - 9;
}
}
else
@@ -1083,10 +1126,14 @@ UWORD cCommInterpreteCmd(UBYTE Cmd, UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pL
{
MaxBufData = (SIZE_OF_USBDATA - 5); /* Substract wrapping */
}
- else
+ else if (CmdBit & BT_CMD_READY)
{
MaxBufData = (SIZE_OF_BTBUF - 7); /* Substract wrapping + length bytes for BT*/
}
+ else // HS_CMD_READY
+ {
+ MaxBufData = (SIZE_OF_HSBUF - 5); /* Substract wrapping */
+ }
if (0x00 == pInBuf[1])
{
@@ -1123,7 +1170,7 @@ UWORD cCommInterpreteCmd(UBYTE Cmd, UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pL
for (Tmp = 0; ((Tmp < (*pLength)) && (IOMapComm.HsInBuf.InPtr != IOMapComm.HsInBuf.OutPtr)); Tmp++)
{
pOutBuf[3 + Tmp] = IOMapComm.HsInBuf.Buf[IOMapComm.HsInBuf.OutPtr];
- IOMapComm.HsInBuf.OutPtr = ((IOMapComm.HsInBuf.OutPtr) + 1) % SIZE_OF_USBBUF;
+ IOMapComm.HsInBuf.OutPtr = ((IOMapComm.HsInBuf.OutPtr) + 1) % SIZE_OF_HSBUF;
}
pOutBuf[2] = Tmp;
@@ -1143,12 +1190,23 @@ UWORD cCommInterpreteCmd(UBYTE Cmd, UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pL
(*pLength) += 3; /* Add 3 bytes for the status byte, length byte and Buf no */
}
break;
+
+ case RENAMEFILE:
+ {
+ Status = pMapLoader->pFunc(RENAMEFILE, &pInBuf[1], &pInBuf[21], &FileLength);
+ pOutBuf[0] = LOADER_ERR_BYTE(Status);
+ pOutBuf[1] = LOADER_HANDLE(Status);
+ cCommCopyFileName(&pOutBuf[2], &pInBuf[1]);
+ cCommCopyFileName(&pOutBuf[22], &pInBuf[21]);
+ *pLength = 42;
+ }
+ break;
case BTFACTORYRESET:
{
UWORD RtnVal;
- if (CmdBit & USB_CMD_READY)
+ if ((CmdBit & USB_CMD_READY) || (CmdBit & HS_CMD_READY))
{
if (SUCCESS == cCommReq(FACTORYRESET, 0, 0, 0, NULL, &RtnVal))
{
@@ -1188,7 +1246,7 @@ UWORD cCommReceivedBtData(void)
UWORD BytesToGo;
UWORD RtnVal;
- RtnVal = dBtReceivedData(&NumberOfBytes, &BytesToGo);
+ RtnVal = dBtReceivedData(&NumberOfBytes, &BytesToGo, IOMapComm.BtDataMode != DATA_MODE_NXT);
if (TRUE == RtnVal)
{
@@ -1214,21 +1272,35 @@ UWORD cCommReceivedBtData(void)
/* VarsComm.CmdSwitchCnt != 0 if a transition to Cmd mode is in process */
if ((VarsComm.BtState == BT_ARM_DATA_MODE) && (0 == VarsComm.CmdSwitchCnt))
{
+ if (IOMapComm.BtDataMode == DATA_MODE_NXT)
+ {
- /* Move the inptr ahead */
- IOMapComm.BtInBuf.InPtr = NumberOfBytes;
+ /* Move the inptr ahead */
+ IOMapComm.BtInBuf.InPtr = NumberOfBytes;
- /* using the outbuf inptr in order to get the number of bytes in the return answer at the right place*/
- IOMapComm.BtOutBuf.InPtr = NumberOfBytes;
+ /* using the outbuf inptr in order to get the number of bytes in the return answer at the right place*/
+ IOMapComm.BtOutBuf.InPtr = NumberOfBytes;
- /* call the data stream interpreter */
- cCommInterprete(IOMapComm.BtInBuf.Buf, IOMapComm.BtOutBuf.Buf, &(IOMapComm.BtOutBuf.InPtr), (UBYTE) BT_CMD_READY, BytesToGo);
+ /* call the data stream interpreter */
+ cCommInterprete(IOMapComm.BtInBuf.Buf, IOMapComm.BtOutBuf.Buf, &(IOMapComm.BtOutBuf.InPtr), (UBYTE) BT_CMD_READY, BytesToGo);
/* if there is a reply to be send then send it */
- if (IOMapComm.BtOutBuf.InPtr)
+ if (IOMapComm.BtOutBuf.InPtr)
+ {
+ dBtSendMsg(IOMapComm.BtOutBuf.Buf, IOMapComm.BtOutBuf.InPtr, IOMapComm.BtOutBuf.InPtr);
+ IOMapComm.BtOutBuf.InPtr = 0;
+ }
+ }
+ else if (IOMapComm.BtDataMode == DATA_MODE_GPS)
+ {
+ /* Move the inptr ahead */
+ IOMapComm.BtInBuf.InPtr = NumberOfBytes;
+ // interpret GPS sentence?
+ }
+ else if (IOMapComm.BtDataMode == DAT