From 6c5075bc99ba07f46562f7f10db14e153d7a93ec Mon Sep 17 00:00:00 2001 From: jhansen Date: Mon, 26 Apr 2010 21:49:44 +0000 Subject: git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@6 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 2722 +++++++++++++++++++++++++++++++++---------- 1 file changed, 2134 insertions(+), 588 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 4ce9829..9253735 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: 17-02-09 7:30 $ // // Filename $Workfile:: c_cmd.c $ // -// Version $Revision: 14 $ +// Version $Revision: 13 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_cmd. $ // @@ -43,13 +43,13 @@ #include #include #include // for sqrt, abs, and trig stuff +#include #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 +192,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapKeepAlive, cCmdWrapIOMapRead, cCmdWrapIOMapWrite, - cCmdWrapColorSensorRead, + cCmdWrapColorSensorRead, // new in 2.0 cCmdWrapCommBTOnOff, // 35 cCmdWrapCommBTConnection, cCmdWrapCommHSWrite, @@ -205,8 +205,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 + cCmdWrapUndefinedSysCall, + cCmdWrapUndefinedSysCall, + cCmdWrapUndefinedSysCall, + cCmdWrapUndefinedSysCall // 99 --> 100 system call slots + // don't forget to update SYSCALL_COUNT in c_cmd.h }; @@ -266,6 +319,7 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_UBYTE, //IO_OUT_REG_D_VAL TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT + TC_UBYTE, //IO_OUT_OPTIONS //IO_OUT1 TC_UBYTE, //IO_OUT_FLAGS @@ -283,6 +337,7 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_UBYTE, //IO_OUT_REG_D_VAL TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT + TC_UBYTE, //IO_OUT_OPTIONS //IO_OUT2 TC_UBYTE, //IO_OUT_FLAGS @@ -300,6 +355,7 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_UBYTE, //IO_OUT_REG_D_VAL TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT + TC_UBYTE, //IO_OUT_OPTIONS }; @@ -461,32 +517,64 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) case RC_SET_OUT_STATE: { + UBYTE Port = pInBuf[1]; //Don't do anything if illegal port specification is made - if (pInBuf[1] >= NO_OF_OUTPUTS && pInBuf[1] != 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 (pInBuf[1] == 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 = pInBuf[1]; for (i = FirstPort; i <= LastPort; i++) { - pMapOutPut->Outputs[i].Speed = pInBuf[2]; - pMapOutPut->Outputs[i].Mode = pInBuf[3]; - pMapOutPut->Outputs[i].RegMode = pInBuf[4]; - pMapOutPut->Outputs[i].SyncTurnParameter = pInBuf[5]; - pMapOutPut->Outputs[i].RunState = pInBuf[6]; - memcpy((PSZ)(&(pMapOutPut->Outputs[i].TachoLimit)), (PSZ)(&pInBuf[7]), 4); - - pMapOutPut->Outputs[i].Flags |= UPDATE_MODE | UPDATE_SPEED | UPDATE_TACHO_LIMIT; + 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]; + pOut->RegMode = pInBuf[4]; + pOut->SyncTurnParameter = pInBuf[5]; + pOut->RunState = pInBuf[6]; + pOut->Options = pOut->Mode & REG_METHOD; + memcpy((PSZ)(&(pOut->TachoLimit)), (PSZ)(&pInBuf[7]), 4); + + pOut->Flags |= UPDATE_MODE | UPDATE_SPEED | UPDATE_TACHO_LIMIT; } } break; @@ -502,12 +590,12 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) RCStatus = ERR_RC_ILLEGAL_VAL; break; } + INPUTSTRUCT * pIn = &(pMapInput->Inputs[i]); - pMapInput->Inputs[i].SensorType = pInBuf[2]; - pMapInput->Inputs[i].SensorMode = pInBuf[3]; - + pIn->SensorType = pInBuf[2]; + pIn->SensorMode = pInBuf[3]; //Set InvalidData flag automatically since type may have changed - pMapInput->Inputs[i].InvalidData = TRUE; + pIn->InvalidData = TRUE; } break; @@ -525,45 +613,46 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) ResponseLen += 22; break; } + OUTPUT * pOut = &(pMapOutPut->Outputs[i]); //Echo port pOutBuf[ResponseLen] = i; ResponseLen++; //Power - pOutBuf[ResponseLen] = pMapOutPut->Outputs[i].Speed; + pOutBuf[ResponseLen] = pOut->Speed; ResponseLen++; //Mode - pOutBuf[ResponseLen] = pMapOutPut->Outputs[i].Mode; + pOutBuf[ResponseLen] = pOut->Mode; ResponseLen++; //RegMode - pOutBuf[ResponseLen] = pMapOutPut->Outputs[i].RegMode; + pOutBuf[ResponseLen] = pOut->RegMode; ResponseLen++; //TurnRatio - pOutBuf[ResponseLen] = pMapOutPut->Outputs[i].SyncTurnParameter; + pOutBuf[ResponseLen] = pOut->SyncTurnParameter; ResponseLen++; //RunState - pOutBuf[ResponseLen] = pMapOutPut->Outputs[i].RunState; + pOutBuf[ResponseLen] = pOut->RunState; ResponseLen++; //TachoLimit ULONG - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapOutPut->Outputs[i].TachoLimit)), 4); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pOut->TachoLimit)), 4); ResponseLen += 4; //TachoCount SLONG - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapOutPut->Outputs[i].TachoCnt)), 4); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pOut->TachoCnt)), 4); ResponseLen += 4; //BlockTachoCount SLONG - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapOutPut->Outputs[i].BlockTachoCount)), 4); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pOut->BlockTachoCount)), 4); ResponseLen += 4; //RotationCount SLONG - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapOutPut->Outputs[i].RotationCount)), 4); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pOut->RotationCount)), 4); ResponseLen += 4; NXT_ASSERT(ResponseLen == 23); @@ -589,9 +678,11 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) //Echo port pOutBuf[ResponseLen] = i; ResponseLen++; + + INPUTSTRUCT * pIn = &(pMapInput->Inputs[i]); //Set "Valid?" boolean - if (pMapInput->Inputs[i].InvalidData) + if (pIn->InvalidData) pOutBuf[ResponseLen] = FALSE; else pOutBuf[ResponseLen] = TRUE; @@ -603,24 +694,24 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) pOutBuf[ResponseLen] = FALSE; ResponseLen++; - pOutBuf[ResponseLen] = pMapInput->Inputs[i].SensorType; + pOutBuf[ResponseLen] = pIn->SensorType; ResponseLen++; - pOutBuf[ResponseLen] = pMapInput->Inputs[i].SensorMode; + pOutBuf[ResponseLen] = pIn->SensorMode; ResponseLen++; //Set Raw, Normalized, and Scaled values - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapInput->Inputs[i].ADRaw)), 2); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pIn->ADRaw)), 2); ResponseLen += 2; - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapInput->Inputs[i].SensorRaw)), 2); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pIn->SensorRaw)), 2); ResponseLen += 2; - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapInput->Inputs[i].SensorValue)), 2); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pIn->SensorValue)), 2); ResponseLen += 2; //!!! Return normalized raw value in place of calibrated value for now -- see comment above - memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pMapInput->Inputs[i].SensorRaw)), 2); + memcpy((PSZ)&(pOutBuf[ResponseLen]), (PSZ)(&(pIn->SensorRaw)), 2); ResponseLen += 2; NXT_ASSERT(ResponseLen == 14); @@ -683,14 +774,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) //pInBuf[2] is a selector //FALSE: Position relative to start of last program //TRUE: Position relative to start of last motor control block - if (pInBuf[2] == FALSE) - { - pMapOutPut->Outputs[i].Flags |= UPDATE_RESET_ROTATION_COUNT; - } - else - { - pMapOutPut->Outputs[i].Flags |= UPDATE_RESET_BLOCK_COUNT; - } + pMapOutPut->Outputs[i].Flags |= (pInBuf[2] ? UPDATE_RESET_BLOCK_COUNT : UPDATE_RESET_ROTATION_COUNT); } break; @@ -759,7 +843,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; @@ -958,6 +1042,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; @@ -979,7 +1071,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; } @@ -992,7 +1091,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) } } break; - case RC_UPDATE_RESET_COUNT: + case RC_UPDATE_RESET_COUNT: { i = pInBuf[1]; @@ -1006,6 +1105,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) + { + VarsCmd.VMState = (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 @@ -1092,32 +1272,35 @@ void cCmdInit(void* pHeader) //Initialize IO_PTRS_OUT for (i = 0; i < NO_OF_OUTPUTS; i++) { - IO_PTRS_OUT[IO_OUT_FLAGS + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].Flags); - IO_PTRS_OUT[IO_OUT_MODE + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].Mode); - IO_PTRS_OUT[IO_OUT_SPEED + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].Speed); - IO_PTRS_OUT[IO_OUT_ACTUAL_SPEED + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].ActualSpeed); - IO_PTRS_OUT[IO_OUT_TACH_COUNT + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].TachoCnt); - IO_PTRS_OUT[IO_OUT_TACH_LIMIT + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].TachoLimit); - IO_PTRS_OUT[IO_OUT_RUN_STATE + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RunState); - IO_PTRS_OUT[IO_OUT_TURN_RATIO + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].SyncTurnParameter); - IO_PTRS_OUT[IO_OUT_REG_MODE + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RegMode); - IO_PTRS_OUT[IO_OUT_OVERLOAD + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].Overloaded); - IO_PTRS_OUT[IO_OUT_REG_P_VAL + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RegPParameter); - IO_PTRS_OUT[IO_OUT_REG_I_VAL + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RegIParameter); - IO_PTRS_OUT[IO_OUT_REG_D_VAL + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RegDParameter); - IO_PTRS_OUT[IO_OUT_BLOCK_TACH_COUNT + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].BlockTachoCount); - IO_PTRS_OUT[IO_OUT_ROTATION_COUNT + i * IO_OUT_FPP] = (void*)&(pMapOutPut->Outputs[i].RotationCount); + OUTPUT * pOut = &(pMapOutPut->Outputs[i]); + IO_PTRS_OUT[IO_OUT_FLAGS + i * IO_OUT_FPP] = (void*)&(pOut->Flags); + IO_PTRS_OUT[IO_OUT_MODE + i * IO_OUT_FPP] = (void*)&(pOut->Mode); + IO_PTRS_OUT[IO_OUT_SPEED + i * IO_OUT_FPP] = (void*)&(pOut->Speed); + IO_PTRS_OUT[IO_OUT_ACTUAL_SPEED + i * IO_OUT_FPP] = (void*)&(pOut->ActualSpeed); + IO_PTRS_OUT[IO_OUT_TACH_COUNT + i * IO_OUT_FPP] = (void*)&(pOut->TachoCnt); + IO_PTRS_OUT[IO_OUT_TACH_LIMIT + i * IO_OUT_FPP] = (void*)&(pOut->TachoLimit); + IO_PTRS_OUT[IO_OUT_RUN_STATE + i * IO_OUT_FPP] = (void*)&(pOut->RunState); + IO_PTRS_OUT[IO_OUT_TURN_RATIO + i * IO_OUT_FPP] = (void*)&(pOut->SyncTurnParameter); + IO_PTRS_OUT[IO_OUT_REG_MODE + i * IO_OUT_FPP] = (void*)&(pOut->RegMode); + IO_PTRS_OUT[IO_OUT_OVERLOAD + i * IO_OUT_FPP] = (void*)&(pOut->Overloaded); + IO_PTRS_OUT[IO_OUT_REG_P_VAL + i * IO_OUT_FPP] = (void*)&(pOut->RegPParameter); + IO_PTRS_OUT[IO_OUT_REG_I_VAL + i * IO_OUT_FPP] = (void*)&(pOut->RegIParameter); + IO_PTRS_OUT[IO_OUT_REG_D_VAL + i * IO_OUT_FPP] = (void*)&(pOut->RegDParameter); + IO_PTRS_OUT[IO_OUT_BLOCK_TACH_COUNT + i * IO_OUT_FPP] = (void*)&(pOut->BlockTachoCount); + IO_PTRS_OUT[IO_OUT_ROTATION_COUNT + i * IO_OUT_FPP] = (void*)&(pOut->RotationCount); + IO_PTRS_OUT[IO_OUT_OPTIONS + i * IO_OUT_FPP] = (void*)&(pOut->Options); } //Initialize IO_PTRS_IN for (i = 0; i < NO_OF_INPUTS; i++) { - IO_PTRS_IN[IO_IN_TYPE + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].SensorType); - IO_PTRS_IN[IO_IN_MODE + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].SensorMode); - IO_PTRS_IN[IO_IN_ADRAW + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].ADRaw); - IO_PTRS_IN[IO_IN_NORMRAW + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].SensorRaw); - IO_PTRS_IN[IO_IN_SCALEDVAL + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].SensorValue); - IO_PTRS_IN[IO_IN_INVALID_DATA + i * IO_IN_FPP] = (void*)&(pMapInput->Inputs[i].InvalidData); + INPUTSTRUCT * pIn = &(pMapInput->Inputs[i]); + IO_PTRS_IN[IO_IN_TYPE + i * IO_IN_FPP] = (void*)&(pIn->SensorType); + IO_PTRS_IN[IO_IN_MODE + i * IO_IN_FPP] = (void*)&(pIn->SensorMode); + IO_PTRS_IN[IO_IN_ADRAW + i * IO_IN_FPP] = (void*)&(pIn->ADRaw); + IO_PTRS_IN[IO_IN_NORMRAW + i * IO_IN_FPP] = (void*)&(pIn->SensorRaw); + IO_PTRS_IN[IO_IN_SCALEDVAL + i * IO_IN_FPP] = (void*)&(pIn->SensorValue); + IO_PTRS_IN[IO_IN_INVALID_DATA + i * IO_IN_FPP] = (void*)&(pIn->InvalidData); } //Clear memory pool and initialize VarsCmd (cCmdDeactivateProgram effectively re-inits VarsCmd) @@ -1190,12 +1373,14 @@ 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; @@ -1221,6 +1406,9 @@ 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) + VarsCmd.VMState = VM_RUN_PAUSE; //If RunQ and RestQ are empty, program is done, or wacko if (!cCmdIsClumpIDSane(VarsCmd.RunQ.Head)) { @@ -1230,9 +1418,10 @@ void cCmdCtrl(void) IOMapCmd.ProgStatus = PROG_OK; } } - else if (Status == CLUMP_SUSPEND || Status == CLUMP_DONE) + else if (Status == CLUMP_SUSPEND || Status == CLUMP_DONE) { Continue = TRUE; // queue isn't empty, didn't timeout //Only rotate RunQ on a "normal" finish, i.e. no error, clump end, or breakout request + } else if (Status == ROTATE_QUEUE) { // done and suspend do their own cCmdRotateQ(); Continue= TRUE; @@ -1245,7 +1434,8 @@ void cCmdCtrl(void) { Continue = FALSE; VarsCmd.VMState = VM_RESET1; - IOMapCmd.ProgStatus = PROG_ERROR; +// IOMapCmd.ProgStatus = PROG_ERROR; + IOMapCmd.ProgStatus = Status; } else if (Status == STOP_REQ) { @@ -1257,7 +1447,7 @@ void cCmdCtrl(void) { Continue = FALSE; } - } while (Continue == TRUE); + } while (Continue == TRUE && VarsCmd.VMState == VM_RUN_FREE); #if VMProfilingCode FinishTime= dTimerReadHiRes(); if(NotFirstCall) @@ -1286,7 +1476,8 @@ 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; +// IOMapCmd.ProgStatus = PROG_ERROR; + IOMapCmd.ProgStatus = Status; VarsCmd.VMState = VM_RESET1; } //Else start running program @@ -1295,10 +1486,6 @@ void cCmdCtrl(void) VarsCmd.VMState = 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 @@ -1344,7 +1531,7 @@ void cCmdCtrl(void) cCmdWriteBenchmarkFile(); #endif - + //Re-initialize program state data (contents of memory pool preserved) //!!! Skip this step in simulator builds so helper access methods still work #ifndef SIM_NXT @@ -1392,7 +1579,13 @@ void cCmdCtrl(void) } while (IOMapCmd.Tick == dTimerRead()); // delay until scheduled time } - break; + 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 @@ -1425,6 +1618,16 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize, NXT_ASSERT(pData != NULL); + if (strncmp((PSZ)pData, "NXTBINARY", VM_FORMAT_STRING_SIZE) == 0) + { + ULONG NativeOffset; + pCursor = (pData + 12); + NativeOffset = (ULONG)(*pCursor); + void (*native)(ULONG, ULONG) = (void (*)())(pData + NativeOffset); + (*native)((ULONG)pData, DataSize); + NXT_BREAK; + return (ERR_VER); + } //Assign pCursor to point to version word inside file header pCursor = (pData + VM_FORMAT_STRING_SIZE - 2); @@ -1486,7 +1689,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; @@ -1495,7 +1698,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 @@ -1536,7 +1739,7 @@ NXT_STATUS cCmdReadFileHeader(UBYTE* pData, ULONG DataSize, if (CurrOffset != (DataSize - VarsCmd.CodespaceCount * 2)) { NXT_BREAK; - return (ERR_FILE); + return (ERR_INSANE_OFFSET); } // @@ -1573,7 +1776,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); @@ -1671,7 +1874,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(); @@ -1702,7 +1905,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 @@ -1717,6 +1920,14 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) //Initialize remaining CLUMP_REC fields clumpPtr->PC = clumpPtr->CodeStart; clumpPtr->Link = NOT_A_CLUMP; + clumpPtr->Priority = INSTR_MAX_COUNT; + + 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; @@ -1804,7 +2015,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 @@ -1828,7 +2039,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 @@ -1845,7 +2056,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 @@ -1867,7 +2078,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) { VarsCmd.DatalogBuffer.Datalogs[j] = NOT_A_DS_ID; } - + // now that we've loaded program, prime memmgr dopevectors based upon number of handles in ds. ULONG numHandles= DV_ARRAY[0].Count/2; if(numHandles > 200) @@ -1881,6 +2092,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); } @@ -1889,6 +2108,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; @@ -1927,12 +2150,19 @@ void cCmdDeactivateProgram() tmp = i; //Close file if (*(VarsCmd.FileHandleTable[i]) != 0) - pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL); + pMapLoader->pFunc(CLOSE, &tmp, NULL, NULL); +// pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL); } //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; } @@ -1952,29 +2182,31 @@ void cCmdResetDevices(void) for (i = 0; i < NO_OF_INPUTS; i++) { + INPUTSTRUCT * pIn = &(pMapInput->Inputs[i]); //Clear type and mode to defaults - pMapInput->Inputs[i].SensorType = NO_SENSOR; - pMapInput->Inputs[i].SensorMode = RAWMODE; + pIn->SensorType = NO_SENSOR; + pIn->SensorMode = RAWMODE; //Reset input values to 0 prior to running (clear things like stale rotation counts) - pMapInput->Inputs[i].ADRaw = 0; - pMapInput->Inputs[i].SensorRaw = 0; - pMapInput->Inputs[i].SensorValue = 0; + pIn->ADRaw = 0; + pIn->SensorRaw = 0; + pIn->SensorValue = 0; //Assert invalid data flag so future code is aware of these changes - pMapInput->Inputs[i].InvalidData = TRUE; + pIn->InvalidData = TRUE; } for (i = 0; i < NO_OF_OUTPUTS; i++) { //Coast and reset all motor parameters - pMapOutPut->Outputs[i].Mode = 0; - pMapOutPut->Outputs[i].RegMode = REGULATION_MODE_IDLE; - pMapOutPut->Outputs[i].RunState = MOTOR_RUN_STATE_IDLE; - pMapOutPut->Outputs[i].Speed = 0; - pMapOutPut->Outputs[i].TachoLimit = 0; - pMapOutPut->Outputs[i].SyncTurnParameter = 0; - pMapOutPut->Outputs[i].Flags = UPDATE_MODE | UPDATE_SPEED | UPDATE_TACHO_LIMIT | UPDATE_RESET_COUNT | UPDATE_RESET_BLOCK_COUNT | UPDATE_RESET_ROTATION_COUNT; + OUTPUT * pOut = &(pMapOutPut->Outputs[i]); + pOut->Mode = 0; + pOut->RegMode = REGULATION_MODE_IDLE; + pOut->RunState = MOTOR_RUN_STATE_IDLE; + pOut->Speed = 0; + pOut->TachoLimit = 0; + pOut->SyncTurnParameter = 0; + pOut->Flags = UPDATE_MODE | UPDATE_SPEED | UPDATE_TACHO_LIMIT | UPDATE_RESET_COUNT | UPDATE_RESET_BLOCK_COUNT | UPDATE_RESET_ROTATION_COUNT; } //Lowspeed init, INSERT CODE !!! @@ -2201,6 +2433,45 @@ 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; + 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 (cCmdIsClumpOnQ(&(Mutex->WaitQ), Clump)) + cCmdDeQClump(&(Mutex->WaitQ), Clump); + } + } + return (NO_ERR); +} NXT_STATUS cCmdReleaseMutex(MUTEX_Q * Mutex) { @@ -3226,32 +3497,33 @@ NXT_STATUS cCmdDatalogRead(UBYTE * pBuffer, UWORD Length, UBYTE Remove) return Status; } - // // Color Sensor Functions // NXT_STATUS cCmdColorSensorRead (UBYTE Port, SWORD * SensorValue, UWORD * RawArray, UWORD * NormalizedArray, SWORD * ScaledArray, UBYTE * InvalidData) { - ULONG i; + ULONG i; //Make sure Port is valid for Color Sensor - if (!(pMapInput->Inputs[Port].SensorType == COLORFULL || pMapInput->Inputs[Port].SensorType == COLORRED - || pMapInput->Inputs[Port].SensorType == COLORGREEN || pMapInput->Inputs[Port].SensorType == COLORBLUE - || pMapInput->Inputs[Port].SensorType == COLORNONE)) + INPUTSTRUCT * pIn = &(pMapInput->Inputs[Port]); + UBYTE sType = pIn->SensorType; + if (!(sType == COLORFULL || sType == COLORRED || sType == COLORGREEN || + sType == COLORBLUE || sType == COLORNONE)) { return (ERR_COMM_CHAN_NOT_READY); //TODO - is this the right error? } //Copy Detected Color - *SensorValue = pMapInput->Inputs[Port].SensorValue; + *SensorValue = pIn->SensorValue; //Copy all raw, normalized and scaled data from I/O Map for (i=0; iColors[Port].ADRaw[i]; - NormalizedArray[i] = pMapInput->Colors[Port].SensorRaw[i]; - ScaledArray[i] = pMapInput->Colors[Port].SensorValue[i]; + COLORSTRUCT * pColor = &(pMapInput->Colors[Port]); + RawArray[i] = pColor->ADRaw[i]; + NormalizedArray[i] = pColor->SensorRaw[i]; + ScaledArray[i] = pColor->SensorValue[i]; } //Copy the Invalid Data Flag - *InvalidData = pMapInput->Inputs[Port].InvalidData; + *InvalidData = pIn->InvalidData; return NO_ERR; @@ -3363,13 +3635,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; @@ -3387,6 +3660,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) { @@ -3394,6 +3671,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; @@ -3426,11 +3708,11 @@ ULONG cCmdGetSByte(void * pVal) { ULONG cCmdGetFloat(void * pVal) { float tempVal = *(float*)pVal; - if (tempVal >= 0) { - tempVal += 0.5; + if (tempVal >= (float)0.0) { + tempVal += (float)0.5; } else { - tempVal -= 0.5; + tempVal -= (float)0.5; } return (ULONG)tempVal; } @@ -3822,6 +4104,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) { @@ -4137,10 +4430,66 @@ NXT_STATUS cCmdInterpFromClump() pInstr = pClumpRec->PC; // abs lastClumpInstr= pClumpRec->CodeEnd; // abs - i= gInstrsToExecute; +/* + // are we free running and reach a breakpoint? + if (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))) + { + VarsCmd.VMState = 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)) + { + VarsCmd.VMState = VM_RUN_PAUSE; + // turn off the auto pause flags + VarsCmd.PauseClump = NOT_A_CLUMP; + VarsCmd.PausePC = 0xFFFF; + return BREAKOUT_REQ; + } + } +*/ + + 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))) + { + VarsCmd.VMState = 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 + VarsCmd.VMState = 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(); @@ -4291,6 +4640,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()); @@ -4307,6 +4672,45 @@ 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; + // 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. + CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[Clump]); + pClumpRec->PC = pClumpRec->CodeStart; + pClumpRec->CurrFireCount = pClumpRec->InitFireCount; + pClumpRec->awakenTime = 0; + } + break; + + case OP_STARTCLUMPIMMED: + { + CLUMP_ID Clump = (CLUMP_ID)Arg1; + // only enqueue the clump if it is not already on the run queue + // 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 @@ -4408,13 +4812,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); @@ -4423,7 +4824,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); } @@ -4440,7 +4844,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; @@ -4482,6 +4892,19 @@ 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)); @@ -4590,6 +5013,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); @@ -4600,65 +5024,36 @@ 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.99)||(FltArgVal2 < -999999999999.99)){ // these are the widest %.2f numbers that will fit on display - strcpy (FormatString, "%.6g"); - } - else{ - strcpy (FormatString, "%.2f"); - CheckTrailingZeros = 1; - } - Count = sprintf(Buffer, FormatString, FltArgVal2); + FltArgVal2 = cCmdGetFloatValFromDataArg(Arg2, 0); + 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 @@ -4669,18 +5064,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; @@ -4739,7 +5123,7 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) } break; - default: + default: { //Fatal error: Unrecognized instruction NXT_BREAK; @@ -4772,6 +5156,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)) { @@ -4789,8 +5175,8 @@ NXT_STATUS cCmdInterpPolyUnop2(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset else { ArgVal2= cCmdGetScalarValFromDataArg(Arg2, Offset2); - if(OP_CODE(&Code) == OP_MOV) - ArgVal1= ArgVal2; + if (opCode == OP_MOV) + ArgVal1 = ArgVal2; else ArgVal1 = cCmdUnop2(Code, ArgVal2, TypeCode2); cCmdSetVal(pArg1, TypeCode1, ArgVal1); @@ -4799,12 +5185,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) { + tc1 = cCmdDSType(INC_ID(Arg1)); + tc2 = cCmdDSType(INC_ID(Arg2)); + if((tc1 <= TC_LAST_INT_SCALAR || tc1 == TC_FLOAT) && tc1 == tc2) { void *pArg1, *pArg2; ULONG Count = cCmdArrayCount(Arg2, Offset2); Status = cCmdDSArrayAlloc(Arg1, Offset1, Count); @@ -4915,6 +5300,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) @@ -4923,9 +5312,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) @@ -4940,22 +5333,66 @@ 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 sqrt(Operand); -#if 0 + return sqrtf(Operand); else if(opCode == OP_SIN) - return sin(Operand); + return sinf(Operand); else if(opCode == OP_COS) - return cos(Operand); + return cosf(Operand); else if(opCode == OP_TAN) - return tan(Operand); + return tanf(Operand); else if(opCode == OP_ASIN) - return asin(Operand); + return asinf(Operand); else if(opCode == OP_ACOS) - return acos(Operand); + return acosf(Operand); else if(opCode == OP_ATAN) - return atan(Operand); -#endif + return atanf(Operand); + 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) @@ -4999,7 +5436,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)); @@ -5037,12 +5474,12 @@ NXT_STATUS cCmdInterpScalarBinop(CODE_WORD * const pCode) if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { ArgVal2= GetProcArray[TypeCode2](VarsCmd.pDataspace + dsTOC2Ptr->DSOffset); ArgVal3= GetProcArray[TypeCode3](VarsCmd.pDataspace + dsTOC3Ptr->DSOffset); - ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); DS_TOC_ENTRY *dsTOC1Ptr= &VarsCmd.pDataspaceTOC[Arg1]; SetProcArray[dsTOC1Ptr->TypeCode](VarsCmd.pDataspace + dsTOC1Ptr->DSOffset, ArgVal1); - scalarCmp++; - Status = NO_ERR; - } + scalarCmp++; + Status = NO_ERR; + } else if (TypeCode2 == TC_ARRAY) // two strings { // memcmp(); here or in compareagg, could use memcmp to speed up string compares ??? @@ -5056,31 +5493,31 @@ NXT_STATUS cCmdInterpScalarBinop(CODE_WORD * const pCode) } } else if(opCode == OP_BRCMP) { // t2 and t3 guaranteed scalar - TYPE_CODE TypeCode2, TypeCode3; - ULONG ArgVal2, ArgVal3; + TYPE_CODE TypeCode2, TypeCode3; + ULONG ArgVal2, ArgVal3; - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; - TypeCode2= cCmdDSType(Arg2); - TypeCode3= cCmdDSType(Arg3); - ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); - ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + Arg1 = pCode[1]; + Arg2 = pCode[2]; + Arg3 = pCode[3]; + TypeCode2= cCmdDSType(Arg2); + TypeCode3= cCmdDSType(Arg3); + ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); + ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); + CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); - if (CmpBool) - gPCDelta = (SWORD)Arg1; - else - gPCDelta= 4; - Status= NO_ERR; - } + if (CmpBool) + gPCDelta = (SWORD)Arg1; + else + gPCDelta= 4; + Status= NO_ERR; + } else if(opCode >= OP_SETIN && opCode <= OP_GETOUT) { - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; + Arg1 = pCode[1]; + Arg2 = pCode[2]; + Arg3 = pCode[3]; Status= cCmdIOGetSet(opCode, Arg1, Arg2, Arg3); gPCDelta= 4; - } + } else { scalarOther ++; Status= cCmdInterpBinop(pCode); @@ -5098,116 +5535,181 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) UBYTE CmpBool; DV_INDEX DVIndex1, DVIndex2; UWORD i; + void *pArg1 = NULL, *pArg2 = NULL; + UWORD Count; polyBinopDispatch ++; gPCDelta= 4; NXT_ASSERT(pCode != NULL); - opCode = OP_CODE(pCode); - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; + opCode = OP_CODE(pCode); + Arg1 = pCode[1]; + 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); else { - switch (opCode) - { - case OP_CMP: + switch (opCode) { + case OP_CMP: + { + TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); + if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { + ULONG ArgVal1, ArgVal2, ArgVal3; + ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); + ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); + ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + cCmdSetScalarValFromDataArg(Arg1, ArgVal1); + PolyScalarCmp++; + } + else if (IS_AGGREGATE_TYPE(TypeCode2) && IS_AGGREGATE_TYPE(TypeCode3) && !IS_AGGREGATE_TYPE(cCmdDSType(Arg1))) + { + //Compare Aggregates + Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); + cCmdSetScalarValFromDataArg(Arg1, CmpBool); + recursiveCmp++; + } + else + { + //Compare Elements + Status = cCmdInterpPolyBinop(*pCode, Arg1, 0, Arg2, 0, Arg3, 0); + polyPolyCmp++; + } + } + break; + + case OP_BRCMP: + { TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); - if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { - ULONG ArgVal1, ArgVal2, ArgVal3; + if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { + ULONG ArgVal2, ArgVal3; ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); - cCmdSetScalarValFromDataArg(Arg1, ArgVal1); - PolyScalarCmp++; + CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); } - else if (IS_AGGREGATE_TYPE(TypeCode2) && IS_AGGREGATE_TYPE(TypeCode3) && !IS_AGGREGATE_TYPE(cCmdDSType(Arg1))) - { - //Compare Aggregates + else //Compare Aggregates Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); - cCmdSetScalarValFromDataArg(Arg1, CmpBool); - recursiveCmp++; + + if (CmpBool) + gPCDelta = (SWORD)Arg1; } - else + break; + + case OP_INDEX: { - //Compare Elements - Status = cCmdInterpPolyBinop(*pCode, Arg1, 0, Arg2, 0, Arg3, 0); - polyPolyCmp++; - } - } - break; - - case OP_BRCMP: - { - TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); - if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { - ULONG ArgVal2, ArgVal3; - ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); - ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + ArgVal3 = (Arg3 != NOT_A_DS_ID) ? cCmdGetScalarValFromDataArg(Arg3, 0) : 0; + + DVIndex2 = cCmdGetDVIndex(Arg2, 0); + if (ArgVal3 >= DV_ARRAY[DVIndex2].Count) + return (ERR_ARG); + + Status = cCmdInterpPolyUnop2(OP_MOV, Arg1, 0, INC_ID(Arg2), ARRAY_ELEM_OFFSET(DVIndex2, ArgVal3)); } - else //Compare Aggregates - Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); - - if (CmpBool) - gPCDelta = (SWORD)Arg1; - } - break; - - case OP_INDEX: - { - ArgVal3 = (Arg3 != NOT_A_DS_ID) ? cCmdGetScalarValFromDataArg(Arg3, 0) : 0; - - DVIndex2 = cCmdGetDVIndex(Arg2, 0); - if (ArgVal3 >= DV_ARRAY[DVIndex2].Count) - return (ERR_ARG); - - Status = cCmdInterpPolyUnop2(OP_MOV, Arg1, 0, INC_ID(Arg2), ARRAY_ELEM_OFFSET(DVIndex2, ArgVal3)); - } - break; - - case OP_ARRINIT: - { - //Arg1 - Dst, Arg2 - element type/default val, Arg3 - length - + break; + + case OP_ARRINIT: + { + //Arg1 - Dst, Arg2 - element type/default val, Arg3 - length + 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); + + Status = cCmdDSArrayAlloc(Arg1, 0, (UWORD)ArgVal3); if (!IS_ERR(Status)) { - DVIndex1 = cCmdGetDVIndex(Arg1, 0); - if(cCmdDSType(Arg2) <= TC_LAST_INT_SCALAR) + DVIndex1 = cCmdGetDVIndex(Arg1, 0); + 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 + { + //copy Arg2 into each element of Arg1 cCmdSetVal(VarsCmd.pDataspace + ARRAY_ELEM_OFFSET(DVIndex1, i), TypeCode, val); } } else for (i = 0; i < ArgVal3; i++) //copy Arg2 into each element of Arg1 - Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg1), ARRAY_ELEM_OFFSET(DVIndex1, i), Arg2, 0); + Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg1), ARRAY_ELEM_OFFSET(DVIndex1, i), Arg2, 0); + } } - } - break; + 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); - default: - { - //Fatal error: Unrecognized instruction - NXT_BREAK; - Status = ERR_INSTR; + //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; + + default: + { + //Fatal error: Unrecognized instruction + NXT_BREAK; + Status = ERR_INSTR; + } + break; } - break; - } } return (Status); } @@ -5252,10 +5754,10 @@ NXT_STATUS cCmdInterpPolyBinop(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset } else { - ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, Offset2); - ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, Offset3); - ArgVal1 = cCmdBinop(Code, ArgVal2, ArgVal3, TypeCode2, TypeCode3); - cCmdSetVal(pArg1, TypeCode1, ArgVal1); + ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, Offset2); + ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, Offset3); + ArgVal1 = cCmdBinop(Code, ArgVal2, ArgVal3, TypeCode2, TypeCode3); + cCmdSetVal(pArg1, TypeCode1, ArgVal1); } return Status; } @@ -5434,7 +5936,7 @@ ULONG cCmdBinop(CODE_WORD const Code, ULONG LeftOp, ULONG RightOp, TYPE_CODE Lef case OP_XOR: { - return ((LeftOp | RightOp) & (~(LeftOp & RightOp))); + return ((LeftOp | RightOp) & (~(LeftOp & RightOp))); // LeftOp ^ RightOp } case OP_CMP: @@ -5442,6 +5944,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) @@ -5491,7 +6057,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: @@ -5514,6 +6080,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(LeftOp, &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) @@ -5560,13 +6146,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) @@ -5585,7 +6173,7 @@ NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2) *(UWORD*)pArg1= *(UWORD*)pArg2; Status= NO_ERR; } - else + else { moveDiffInt++; ULONG val= cCmdGetScalarValFromDataArg(Arg2, 0); @@ -5593,17 +6181,53 @@ NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2) Status= NO_ERR; } } - else if(tc1 == TC_FLOAT && tc2 == TC_FLOAT) { // may also need to speed up float to int and int to float conversions + else if(tc1 == TC_FLOAT && tc2 == TC_FLOAT) { moveFloat++; pArg1= VarsCmd.pDataspace + TOC1Ptr->DSOffset; pArg2= VarsCmd.pDataspace + TOC2Ptr->DSOffset; *(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++; @@ -5669,6 +6293,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 @@ -5680,7 +6321,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 @@ -5702,7 +6343,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++) @@ -5714,7 +6365,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 @@ -5743,6 +6394,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; @@ -5783,6 +6602,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]; @@ -5796,7 +6616,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; } @@ -5820,13 +6641,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); @@ -5843,6 +6668,12 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) return Status; } } + else + { + // any other situation is unsupported + NXT_BREAK; + return 0; + } } break; @@ -6205,6 +7036,7 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) case OP_STRINGTONUM: { + ULONG ArgVal1; float ArgValF; SLONG decimals= 0; UBYTE cont= TRUE; @@ -6214,10 +7046,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]; @@ -6243,113 +7071,437 @@ 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 + while (cont) { + if ((((UBYTE *)pArg3)[i] >= '0') && (((UBYTE *)pArg3)[i] <= '9')) + i++; + else if(((UBYTE *)pArg3)[i] == '.' && !decimals) { + i++; + decimals++; + } + 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; - default: + case OP_ARROP: { - //Fatal error: Unrecognized instruction - NXT_BREAK; - Status = ERR_INSTR; - } - break; - } - - return (Status); -} + //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]; -// -//Support functions for lowspeed (I2C devices, i.e. ultrasonic sensor) communications -// + // 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)); -//Simple lookup table for pMapLowSpeed->ChannelState[Port] values -//This is used to keep VM status code handling consistent -//...and ChannelState gives us too much information, anyway... -static const NXT_STATUS MapLStoVMStat[6] = -{ - NO_ERR, //LOWSPEED_IDLE, - STAT_COMM_PENDING, //LOWSPEED_INIT, - STAT_COMM_PENDING, //LOWSPEED_LOAD_BUFFER, - STAT_COMM_PENDING, //LOWSPEED_COMMUNICATING, - ERR_COMM_BUS_ERR, //LOWSPEED_ERROR, - STAT_COMM_PENDING, //LOWSPEED_DONE (really means c_lowspeed state machine is resetting) -}; + ArrayCount3 = cCmdArrayCount(Arg3, 0); + if (Arg4 != NOT_A_DS_ID) + ArgVal4 = cCmdGetScalarValFromDataArg(Arg4, 0); + else //Index input unwired + ArgVal4 = 0; -//cCmdLSCheckStatus -//Check lowspeed port status, optionally returning bytes available in the buffer for reading -NXT_STATUS cCmdLSCheckStatus(UBYTE Port) -{ - if (Port >= NO_OF_LOWSPEED_COM_CHANNEL) - { - return (ERR_COMM_CHAN_INVALID); - } + if (Arg5 != NOT_A_DS_ID) + ArgVal5 = cCmdGetScalarValFromDataArg(Arg5, 0); + else //Length input unwired, set to "rest" + ArgVal5 = 0xFFFF; - //If port is not configured properly ahead of time, report that error - //!!! This seems like the right policy, but may restrict otherwise valid read operations... - if (!(pMapInput->Inputs[Port].SensorType == LOWSPEED_9V || pMapInput->Inputs[Port].SensorType == LOWSPEED) - || !(pMapInput->Inputs[Port].InvalidData == FALSE)) - { - return (ERR_COMM_CHAN_NOT_READY); - } + //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; + } + } - return (MapLStoVMStat[pMapLowSpeed->ChannelState[Port]]); -} + //Set MinCount to "rest" + MinCount = (UWORD)(ArrayCount3 - ArgVal4); -//cCmdLSCalcBytesReady -//Calculate true number of bytes available in the inbound LS buffer -UBYTE cCmdLSCalcBytesReady(UBYTE Port) -{ - SLONG Tmp; + // Copy "Length" if it is less than "rest" + if (ArgVal5 < (ULONG)MinCount) + MinCount = (UWORD)ArgVal5; - //Expect callers to validate Port, but short circuit here to be safe. - if (Port >= NO_OF_LOWSPEED_COM_CHANNEL) - return 0; + DV_INDEX DVIndex3 = cCmdGetDVIndex(Arg3, 0); - //Normally, bytes available is a simple difference. - Tmp = pMapLowSpeed->InBuf[Port].InPtr - pMapLowSpeed->InBuf[Port].OutPtr; + SLONG sval, svaltmp; + ULONG uval, uvaltmp; + 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 (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 (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 (IS_SIGNED_TYPE(TypeCode3)) + delta = (float)(SLONG)cCmdGetVal(pArg3, TypeCode3) - avg; + else + delta = (float)cCmdGetVal(pArg3, TypeCode3) - avg; + sumSqr += (delta*delta); + } + delta = sqrtf(sumSqr / (numElements - (float)1.0)); + 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 (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; - //If InPtr is actually behind OutPtr, circular buffer has wrapped. Account for wrappage... - if (Tmp < 0) - Tmp = (pMapLowSpeed->InBuf[Port].InPtr + (SIZE_OF_LSBUF - pMapLowSpeed->InBuf[Port].OutPtr)); + 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 + NXT_BREAK; + Status = ERR_INSTR; + } + break; + } + + return (Status); +} + + +// +//Support functions for lowspeed (I2C devices, i.e. ultrasonic sensor) communications +// + +//Simple lookup table for pMapLowSpeed->ChannelState[Port] values +//This is used to keep VM status code handling consistent +//...and ChannelState gives us too much information, anyway... +static const NXT_STATUS MapLStoVMStat[6] = +{ + NO_ERR, //LOWSPEED_IDLE, + STAT_COMM_PENDING, //LOWSPEED_INIT, + STAT_COMM_PENDING, //LOWSPEED_LOAD_BUFFER, + STAT_COMM_PENDING, //LOWSPEED_COMMUNICATING, + ERR_COMM_BUS_ERR, //LOWSPEED_ERROR, + STAT_COMM_PENDING, //LOWSPEED_DONE (really means c_lowspeed state machine is resetting) +}; + + +//cCmdLSCheckStatus +//Check lowspeed port status, optionally returning bytes available in the buffer for reading +NXT_STATUS cCmdLSCheckStatus(UBYTE Port) +{ + if (Port >= NO_OF_LOWSPEED_COM_CHANNEL) + { + return (ERR_COMM_CHAN_INVALID); + } + + INPUTSTRUCT * pInput = &(pMapInput->Inputs[Port]); + + //If port is not configured properly ahead of time, report that error + //!!! This seems like the right policy, but may restrict otherwise valid read operations... + if (!(pInput->SensorType == LOWSPEED_9V || pInput->SensorType == LOWSPEED) + || !(pInput->InvalidData == FALSE)) + { + return (ERR_COMM_CHAN_NOT_READY); + } + + return (MapLStoVMStat[pMapLowSpeed->ChannelState[Port]]); +} + +//cCmdLSCalcBytesReady +//Calculate true number of bytes available in the inbound LS buffer +UBYTE cCmdLSCalcBytesReady(UBYTE Port) +{ + SLONG Tmp; + + //Expect callers to validate Port, but short circuit here to be safe. + if (Port >= NO_OF_LOWSPEED_COM_CHANNEL) + return 0; + + LSBUF * pInBuf = &(pMapLowSpeed->InBuf[Port]); + + //Normally, bytes available is a simple difference. + Tmp = pInBuf->InPtr - pInBuf->OutPtr; + + //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) { @@ -6361,21 +7513,29 @@ NXT_STATUS cCmdLSWrite(UBYTE Port, UBYTE BufLength, UBYTE *pBuf, UBYTE ResponseL return (ERR_INVALID_SIZE); } + INPUTSTRUCT * pInput = &(pMapInput->Inputs[Port]); + UBYTE * pChState = &(pMapLowSpeed->ChannelState[Port]); + LSBUF * pOutBuf = &(pMapLowSpeed->OutBuf[Port]); + //Only start writing process if port is properly configured and c_lowspeed module is ready - if ((pMapInput->Inputs[Port].SensorType == LOWSPEED_9V || pMapInput->Inputs[Port].SensorType == LOWSPEED) - && (pMapInput->Inputs[Port].InvalidData == FALSE) - && (pMapLowSpeed->ChannelState[Port] == LOWSPEED_IDLE) || (pMapLowSpeed->ChannelState[Port] == LOWSPEED_ERROR)) + if ((pInput->SensorType == LOWSPEED_9V || pInput->SensorType == LOWSPEED) + && (pInput->InvalidData == FALSE) + && (LOWSPEED_IDLE == *pChState) || (LOWSPEED_ERROR == *pChState)) { - pMapLowSpeed->OutBuf[Port].InPtr = 0; - pMapLowSpeed->OutBuf[Port].OutPtr = 0; + pOutBuf->InPtr = 0; + pOutBuf->OutPtr = 0; - memcpy(pMapLowSpeed->OutBuf[Port].Buf, pBuf, BufLength); - pMapLowSpeed->OutBuf[Port].InPtr = (UBYTE)BufLength; + memcpy(pOutBuf->Buf, pBuf, BufLength); + pOutBuf->InPtr = (UBYTE)BufLength; pMapLowSpeed->InBuf[Port].BytesToRx = ResponseLength; - pMapLowSpeed->ChannelState[Port] = LOWSPEED_INIT; + *pChState = LOWSPEED_INIT; pMapLowSpeed->State |= (COM_CHANNEL_ONE_ACTIVE << Port); + if (NoRestartOnRead) + pMapLowSpeed->NoRestartOnRead |= (0x01 << Port); + else + pMapLowSpeed->NoRestartOnRead &= ~(0x01 << Port); return (NO_ERR); } @@ -6412,18 +7572,21 @@ NXT_STATUS cCmdLSRead(UBYTE Port, UBYTE BufLength, UBYTE * pBuf) BytesToRead = BufLength; + LSBUF * pInBuf = &(pMapLowSpeed->InBuf[Port]); + //If the bytes we want to read wrap around the end, we must first read the end, then reset back to the beginning - if (pMapLowSpeed->InBuf[Port].OutPtr + BytesToRead >= SIZE_OF_LSBUF) + if (pInBuf->OutPtr + BytesToRead >= SIZE_OF_LSBUF) { - BytesToRead = SIZE_OF_LSBUF - pMapLowSpeed->InBuf[Port].OutPtr; - memcpy(pBuf, pMapLowSpeed->InBuf[Port].Buf + pMapLowSpeed->InBuf[Port].OutPtr, BytesToRead); - pMapLowSpeed->InBuf[Port].OutPtr = 0; + BytesToRead = SIZE_OF_LSBUF - pInBuf->OutPtr; + memcpy(pBuf, pInBuf->Buf + pInBuf->OutPtr, BytesToRead); + pInBuf->OutPtr = 0; pBuf += BytesToRead; BytesToRead = BufLength - BytesToRead; } - - memcpy(pBuf, pMapLowSpeed->InBuf[Port].Buf + pMapLowSpeed->InBuf[Port].OutPtr, BytesToRead); - pMapLowSpeed->InBuf[Port].OutPtr += BytesToRead; + if (BytesToRead > 0) { + memcpy(pBuf, pInBuf->Buf + pInBuf->OutPtr, BytesToRead); + pInBuf->OutPtr += BytesToRead; + } return (NO_ERR); } @@ -6433,13 +7596,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; @@ -6448,7 +7605,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) @@ -6465,12 +7622,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; @@ -6479,7 +7631,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) @@ -6496,6 +7648,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 @@ -6503,28 +7676,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 @@ -6860,7 +8012,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); } @@ -7266,7 +8418,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 @@ -7477,7 +8629,6 @@ void cCmdWriteBenchmarkFile() } #endif - ///////////////////////////////////////////////////////////// // Dymanic syscall implementations //////////////////////////////////////////////////////////// @@ -7541,149 +8692,61 @@ 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 +//cCmdWrapCommBTOnOff +//ArgV[0]: (return) Status byte, SBYTE // JCH - this should be UWORD +//ArgV[1]: Power State, 0-1 // -NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[]) +NXT_STATUS cCmdWrapCommBTOnOff(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; + UWORD retVal; + UWORD status; + UWORD * pReturnVal = (UWORD*)(ArgV[0]); - *pReturnVal = cCmdLSWrite(Port, (UBYTE)BufLength, pBuf, ResponseLength); + UBYTE powerState = *(ArgV[1]); + if(powerState) + status= pMapComm->pFunc(BTON, 0, 0, 0, NULL, &retVal); + else + status= pMapComm->pFunc(BTOFF, 0, 0, 0, NULL, &retVal); + *pReturnVal= (status == SUCCESS) ? retVal : status; return (NO_ERR); } // -//cCmdWrapCommHSCheckStatus -//ArgV[0]: (return) Status code, SBYTE -//ArgV[1]: Port specifier, UBYTE -//ArgV[2]: BytesReady, UBYTE +//cCmdWrapCommBTConnection +//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 // -NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[]) +NXT_STATUS cCmdWrapCommBTConnection(UBYTE * ArgV[]) { - UBYTE Port = *(ArgV[1]); + UWORD retVal; + UWORD status; + UWORD * pReturnVal = (UWORD*)(ArgV[0]); + UBYTE *nmPtr; - *((SBYTE*)(ArgV[0])) = cCmdLSCheckStatus(Port); - *((UBYTE*)(ArgV[2])) = cCmdLSCalcBytesReady(Port); + UBYTE action = *(ArgV[1]); + UBYTE connection = *(ArgV[3]); + nmPtr = cCmdDVPtr(*(DV_INDEX *)(ArgV[2])); + + if(action) // Init + status= pMapComm->pFunc(CONNECTBYNAME, 0, connection, 0, nmPtr, &retVal); + else // Close + status= pMapComm->pFunc(DISCONNECT, connection, 0, 0, NULL, &retVal); + *pReturnVal= (status == SUCCESS) ? retVal : status; 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 +//cCmdWrapReadSemData +//ArgV[0]: return data, U8 +//ArgV[1]: which (0=used, 1=request), U8 // -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[1]: Power State, 0-1 -// -NXT_STATUS cCmdWrapCommBTOnOff(UBYTE * ArgV[]) -{ - UWORD retVal; - NXT_STATUS status; - SBYTE * pReturnVal = (SBYTE*)(ArgV[0]); - - UBYTE powerState = *(ArgV[1]); - if(powerState) - status= pMapComm->pFunc(BTON, 0, 0, 0, NULL, &retVal); - else - status= pMapComm->pFunc(BTOFF, 0, 0, 0, NULL, &retVal); - - *pReturnVal= (status == SUCCESS) ? retVal : status; - return (NO_ERR); -} - -// -//cCmdWrapCommBTConnection -//ArgV[0]: (return) Status byte, SBYTE -//ArgV[1]: Action, UBYTE -//ArgV[2]: name, UBYTE array CStr -//ArgV[3]: connection slot, UBYTE -// -NXT_STATUS cCmdWrapCommBTConnection(UBYTE * ArgV[]) -{ - UWORD retVal; - NXT_STATUS status; - SBYTE * pReturnVal = (SBYTE*)(ArgV[0]); - UBYTE *nmPtr; - - UBYTE action = *(ArgV[1]); - UBYTE connection = *(ArgV[3]); - nmPtr = cCmdDVPtr(*(DV_INDEX *)(ArgV[2])); - - if(action) // Init - status= pMapComm->pFunc(CONNECTBYNAME, 0, connection, 0, nmPtr, &retVal); - else // Close - status= pMapComm->pFunc(DISCONNECT, connection, 0, 0, NULL, &retVal); - - *pReturnVal= (status == SUCCESS) ? retVal : status; - return (NO_ERR); -} - - -// -//cCmdWrapReadSemData -//ArgV[0]: return data, U8 -//ArgV[1]: which (0=used, 1=request), U8 -// -NXT_STATUS cCmdWrapReadSemData(UBYTE * ArgV[]) +NXT_STATUS cCmdWrapReadSemData(UBYTE * ArgV[]) { if(!(*((UBYTE *)ArgV[1]))) *((UBYTE *)ArgV[0])= gUsageSemData; @@ -7923,6 +8986,489 @@ 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 init + pMapComm->HsState = HS_ENABLE; + pMapComm->HsFlags = HS_UPDATE; + } + break; + + case HS_CTRL_UART: + { + // hi-speed setup uart + pMapComm->HsSpeed = *(ArgV[2]); + pMapComm->HsMode = *(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; + } + + *((UWORD *)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); +} + +NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]) +{ + return (NO_ERR); +} + #ifdef SIM_NXT // Accessors for simulator library code SWORD cCmdGetCodeWord(CLUMP_ID Clump, CODE_INDEX Index) -- cgit v1.2.3 From b11538917e9a102aa16caad0531b737a78654b23 Mon Sep 17 00:00:00 2001 From: jhansen Date: Mon, 26 Apr 2010 22:15:22 +0000 Subject: comment change git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@11 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 9253735..7e48993 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -4521,8 +4521,8 @@ afterCompaction: else if (Status == CLUMP_SUSPEND || Status == BREAKOUT_REQ || Status == ROTATE_QUEUE) // already requeued { pClumpRec->PC = pInstr + gPCDelta; - //Throw error if we ever advance beyond the clump's codespace - if (pInstr > lastClumpInstr) + //Throw error if we ever advance beyond the clump's codespace + if (pInstr > lastClumpInstr) { NXT_BREAK; Status = ERR_INSTR; @@ -4699,7 +4699,7 @@ NXT_STATUS cCmdInterpUnop1(CODE_WORD * const pCode) case OP_STARTCLUMPIMMED: { CLUMP_ID Clump = (CLUMP_ID)Arg1; - // only enqueue the clump if it is not already on the run queue + // 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) && -- cgit v1.2.3 From 8882cc8fb00439dd0d132a676981bd34301c6a24 Mon Sep 17 00:00:00 2001 From: jhansen Date: Tue, 27 Apr 2010 23:24:06 +0000 Subject: fixed stringtonum bugs added addrof opcode changes that will hopefully fix stopclumpimmed opcode bugs git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@13 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 100 +++++++++++++++++++++++++--------- AT91SAM7S256/Source/c_cmd.h | 1 + AT91SAM7S256/Source/c_cmd_bytecodes.h | 3 + 3 files changed, 79 insertions(+), 25 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 7e48993..9a81076 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -1921,6 +1921,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) 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++) @@ -2457,6 +2458,7 @@ NXT_STATUS cCmdReleaseAllMutexes(CLUMP_ID Clump) 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) @@ -2466,8 +2468,11 @@ NXT_STATUS cCmdReleaseAllMutexes(CLUMP_ID Clump) if (Mutex->Owner == Clump) cCmdReleaseMutex(Mutex); // also make sure that this Clump is not waiting in this mutex's wait queue - if (cCmdIsClumpOnQ(&(Mutex->WaitQ), Clump)) + if (!bFoundWaitingMutex && cCmdIsClumpOnQ(&(Mutex->WaitQ), Clump)) { + bFoundWaitingMutex = TRUE; cCmdDeQClump(&(Mutex->WaitQ), Clump); + cCmdEnQClump(&(VarsCmd.RunQ), Clump); + } } } return (NO_ERR); @@ -2498,6 +2503,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) { @@ -4620,12 +4658,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; @@ -4676,23 +4718,7 @@ NXT_STATUS cCmdInterpUnop1(CODE_WORD * const pCode) { // Release any mutexes that the clump we are stopping owns CLUMP_ID Clump = (CLUMP_ID)Arg1; - // 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. - CLUMP_REC* pClumpRec = &(VarsCmd.pAllClumps[Clump]); - pClumpRec->PC = pClumpRec->CodeStart; - pClumpRec->CurrFireCount = pClumpRec->InitFireCount; - pClumpRec->awakenTime = 0; + cCmdStopClump(Clump); } break; @@ -4911,10 +4937,14 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) 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; @@ -5123,6 +5153,18 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) } break; + case OP_ADDROF: + { + pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1); + if (TypeCode1 == TC_ULONG) { + pArg2 = cCmdResolveDataArg(Arg2, 0, NULL); + *(ULONG*)pArg1 = (ULONG)pArg2; + } + else + Status = ERR_INSTR; // output argument MUST be an unsigned long type + } + break; + default: { //Fatal error: Unrecognized instruction @@ -7039,6 +7081,7 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) ULONG ArgVal1; float ArgValF; SLONG decimals= 0; + UBYTE exponent=FALSE; UBYTE cont= TRUE; // Arg1 - Dst number (output) // Arg2 - Offset past match (output) @@ -7090,13 +7133,20 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) 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) { - if ((((UBYTE *)pArg3)[i] >= '0') && (((UBYTE *)pArg3)[i] <= '9')) + UBYTE ch = ((UBYTE *)pArg3)[i]; + if ((ch >= '0') && (ch <= '9')) i++; - else if(((UBYTE *)pArg3)[i] == '.' && !decimals) { + else if(ch == '.' && !decimals && !exponent) { i++; decimals++; - } + } + else if (((ch == 'E') || (ch == 'e')) && !exponent) { + i++; + exponent = TRUE; + } else cont= FALSE; } diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 729e14b..5f9caa6 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -439,6 +439,7 @@ typedef struct CLUMP_ID* pDependents; ULONG awakenTime; UBYTE DependentCount; + CLUMP_ID CalledClump; CLUMP_BREAK_REC Breakpoints[MAX_BREAKPOINTS]; } CLUMP_REC; diff --git a/AT91SAM7S256/Source/c_cmd_bytecodes.h b/AT91SAM7S256/Source/c_cmd_bytecodes.h index 36a9084..434aeff 100644 --- a/AT91SAM7S256/Source/c_cmd_bytecodes.h +++ b/AT91SAM7S256/Source/c_cmd_bytecodes.h @@ -134,6 +134,9 @@ #define OP_COSHD 0x85 // dest, src #define OP_SINHD 0x87 // dest, src +// misc other JCH additions +#define OP_ADDROF 0x89 // dest, src + // additional string opcodes -- cgit v1.2.3 From 2d194ca30a8b1b15749098a1a1aa7f6a47fe6299 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Fri, 20 Aug 2010 22:05:58 +0000 Subject: opcode changes/fixes git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@15 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 30 +++++++++++++++++------------- AT91SAM7S256/Source/c_cmd_bytecodes.h | 2 +- 2 files changed, 18 insertions(+), 14 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 9a81076..f4b1a31 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -5153,18 +5153,6 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) } break; - case OP_ADDROF: - { - pArg1 = cCmdResolveDataArg(Arg1, 0, &TypeCode1); - if (TypeCode1 == TC_ULONG) { - pArg2 = cCmdResolveDataArg(Arg2, 0, NULL); - *(ULONG*)pArg1 = (ULONG)pArg2; - } - else - Status = ERR_INSTR; // output argument MUST be an unsigned long type - } - break; - default: { //Fatal error: Unrecognized instruction @@ -5579,6 +5567,7 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) UWORD i; void *pArg1 = NULL, *pArg2 = NULL; UWORD Count; + TYPE_CODE TypeCode1; polyBinopDispatch ++; gPCDelta= 4; @@ -5744,6 +5733,21 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) } 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 @@ -6130,7 +6134,7 @@ float cCmdBinopFlt(CODE_WORD const Code, float LeftOp, float RightOp, TYPE_CODE case OP_POW: { float intpart, fracpart; - fracpart = modff(LeftOp, &intpart); + 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 diff --git a/AT91SAM7S256/Source/c_cmd_bytecodes.h b/AT91SAM7S256/Source/c_cmd_bytecodes.h index 434aeff..5c24472 100644 --- a/AT91SAM7S256/Source/c_cmd_bytecodes.h +++ b/AT91SAM7S256/Source/c_cmd_bytecodes.h @@ -135,7 +135,7 @@ #define OP_SINHD 0x87 // dest, src // misc other JCH additions -#define OP_ADDROF 0x89 // dest, src +#define OP_ADDROF 0x89 // dest, src, rel // additional string opcodes -- cgit v1.2.3 From 87bea887659a34dec0fa01f87ed5b59e5ba701d7 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Wed, 25 Aug 2010 14:55:58 +0000 Subject: whitespace changes git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@16 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 249 +++++++++++++++++----------------- AT91SAM7S256/Source/c_cmd.h | 1 + AT91SAM7S256/Source/c_cmd_drawing.inc | 5 + AT91SAM7S256/Source/c_comm.c | 9 +- AT91SAM7S256/Source/c_lowspeed.c | 228 +++++++++++++++---------------- AT91SAM7S256/Source/c_output.c | 110 +++++++-------- AT91SAM7S256/Source/d_hispeed.r | 12 +- AT91SAM7S256/Source/d_input.h | 2 - AT91SAM7S256/Source/d_input.r | 2 +- AT91SAM7S256/Source/d_lowspeed.r | 233 +++++++++++++++---------------- AT91SAM7S256/Source/d_output.c | 13 +- AT91SAM7S256/Source/d_output.r | 76 +++++------ 12 files changed, 474 insertions(+), 466 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index f4b1a31..41136b0 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -1091,7 +1091,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) } } break; - case RC_UPDATE_RESET_COUNT: + case RC_UPDATE_RESET_COUNT: { i = pInBuf[1]; @@ -1531,7 +1531,7 @@ void cCmdCtrl(void) cCmdWriteBenchmarkFile(); #endif - + //Re-initialize program state data (contents of memory pool preserved) //!!! Skip this step in simulator builds so helper access methods still work #ifndef SIM_NXT @@ -1579,7 +1579,7 @@ void cCmdCtrl(void) } while (IOMapCmd.Tick == dTimerRead()); // delay until scheduled time } - break; + break; case VM_RUN_PAUSE: { @@ -2079,7 +2079,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) { VarsCmd.DatalogBuffer.Datalogs[j] = NOT_A_DS_ID; } - + // now that we've loaded program, prime memmgr dopevectors based upon number of handles in ds. ULONG numHandles= DV_ARRAY[0].Count/2; if(numHandles > 200) @@ -3535,13 +3535,14 @@ NXT_STATUS cCmdDatalogRead(UBYTE * pBuffer, UWORD Length, UBYTE Remove) return Status; } + // // Color Sensor Functions // NXT_STATUS cCmdColorSensorRead (UBYTE Port, SWORD * SensorValue, UWORD * RawArray, UWORD * NormalizedArray, SWORD * ScaledArray, UBYTE * InvalidData) { - ULONG i; + ULONG i; //Make sure Port is valid for Color Sensor INPUTSTRUCT * pIn = &(pMapInput->Inputs[Port]); UBYTE sType = pIn->SensorType; @@ -4559,8 +4560,8 @@ afterCompaction: else if (Status == CLUMP_SUSPEND || Status == BREAKOUT_REQ || Status == ROTATE_QUEUE) // already requeued { pClumpRec->PC = pInstr + gPCDelta; - //Throw error if we ever advance beyond the clump's codespace - if (pInstr > lastClumpInstr) + //Throw error if we ever advance beyond the clump's codespace + if (pInstr > lastClumpInstr) { NXT_BREAK; Status = ERR_INSTR; @@ -5153,7 +5154,7 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) } break; - default: + default: { //Fatal error: Unrecognized instruction NXT_BREAK; @@ -5205,8 +5206,8 @@ NXT_STATUS cCmdInterpPolyUnop2(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset else { ArgVal2= cCmdGetScalarValFromDataArg(Arg2, Offset2); - if (opCode == OP_MOV) - ArgVal1 = ArgVal2; + if(opCode == OP_MOV) + ArgVal1= ArgVal2; else ArgVal1 = cCmdUnop2(Code, ArgVal2, TypeCode2); cCmdSetVal(pArg1, TypeCode1, ArgVal1); @@ -5215,10 +5216,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 && opCode == OP_MOV) { TYPE_CODE tc1, tc2; - tc1 = cCmdDSType(INC_ID(Arg1)); - tc2 = cCmdDSType(INC_ID(Arg2)); + tc1= cCmdDSType(INC_ID(Arg1)); + tc2= cCmdDSType(INC_ID(Arg2)); if((tc1 <= TC_LAST_INT_SCALAR || tc1 == TC_FLOAT) && tc1 == tc2) { void *pArg1, *pArg2; ULONG Count = cCmdArrayCount(Arg2, Offset2); @@ -5504,12 +5506,12 @@ NXT_STATUS cCmdInterpScalarBinop(CODE_WORD * const pCode) if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { ArgVal2= GetProcArray[TypeCode2](VarsCmd.pDataspace + dsTOC2Ptr->DSOffset); ArgVal3= GetProcArray[TypeCode3](VarsCmd.pDataspace + dsTOC3Ptr->DSOffset); - ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); DS_TOC_ENTRY *dsTOC1Ptr= &VarsCmd.pDataspaceTOC[Arg1]; SetProcArray[dsTOC1Ptr->TypeCode](VarsCmd.pDataspace + dsTOC1Ptr->DSOffset, ArgVal1); - scalarCmp++; - Status = NO_ERR; - } + scalarCmp++; + Status = NO_ERR; + } else if (TypeCode2 == TC_ARRAY) // two strings { // memcmp(); here or in compareagg, could use memcmp to speed up string compares ??? @@ -5523,31 +5525,31 @@ NXT_STATUS cCmdInterpScalarBinop(CODE_WORD * const pCode) } } else if(opCode == OP_BRCMP) { // t2 and t3 guaranteed scalar - TYPE_CODE TypeCode2, TypeCode3; - ULONG ArgVal2, ArgVal3; + TYPE_CODE TypeCode2, TypeCode3; + ULONG ArgVal2, ArgVal3; - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; - TypeCode2= cCmdDSType(Arg2); - TypeCode3= cCmdDSType(Arg3); - ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); - ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + Arg1 = pCode[1]; + Arg2 = pCode[2]; + Arg3 = pCode[3]; + TypeCode2= cCmdDSType(Arg2); + TypeCode3= cCmdDSType(Arg3); + ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); + ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); + CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); - if (CmpBool) - gPCDelta = (SWORD)Arg1; - else - gPCDelta= 4; - Status= NO_ERR; - } + if (CmpBool) + gPCDelta = (SWORD)Arg1; + else + gPCDelta= 4; + Status= NO_ERR; + } else if(opCode >= OP_SETIN && opCode <= OP_GETOUT) { - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; + Arg1 = pCode[1]; + Arg2 = pCode[2]; + Arg3 = pCode[3]; Status= cCmdIOGetSet(opCode, Arg1, Arg2, Arg3); gPCDelta= 4; - } + } else { scalarOther ++; Status= cCmdInterpBinop(pCode); @@ -5573,10 +5575,10 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) gPCDelta= 4; NXT_ASSERT(pCode != NULL); - opCode = OP_CODE(pCode); - Arg1 = pCode[1]; - Arg2 = pCode[2]; - Arg3 = pCode[3]; + opCode = OP_CODE(pCode); + Arg1 = pCode[1]; + Arg2 = pCode[2]; + Arg3 = pCode[3]; if ((opCode <= OP_XOR) || (opCode >= OP_LSL && opCode <= OP_ROTR) || @@ -5585,96 +5587,96 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) else if(opCode >= OP_SETIN && opCode <= OP_GETOUT) Status= cCmdIOGetSet(opCode, Arg1, Arg2, Arg3); else { - switch (opCode) + switch (opCode) + { + case OP_CMP: { - case OP_CMP: - { TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); - if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { - ULONG ArgVal1, ArgVal2, ArgVal3; - ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); - ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); - cCmdSetScalarValFromDataArg(Arg1, ArgVal1); - PolyScalarCmp++; - } - else if (IS_AGGREGATE_TYPE(TypeCode2) && IS_AGGREGATE_TYPE(TypeCode3) && !IS_AGGREGATE_TYPE(cCmdDSType(Arg1))) - { - //Compare Aggregates - Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); - cCmdSetScalarValFromDataArg(Arg1, CmpBool); - recursiveCmp++; - } - else - { - //Compare Elements - Status = cCmdInterpPolyBinop(*pCode, Arg1, 0, Arg2, 0, Arg3, 0); - polyPolyCmp++; - } - } - break; - - case OP_BRCMP: - { - TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); - if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { - ULONG ArgVal2, ArgVal3; + if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { + ULONG ArgVal1, ArgVal2, ArgVal3; ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); - CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + ArgVal1= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + cCmdSetScalarValFromDataArg(Arg1, ArgVal1); + PolyScalarCmp++; } - else //Compare Aggregates + else if (IS_AGGREGATE_TYPE(TypeCode2) && IS_AGGREGATE_TYPE(TypeCode3) && !IS_AGGREGATE_TYPE(cCmdDSType(Arg1))) + { + //Compare Aggregates Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); - - if (CmpBool) - gPCDelta = (SWORD)Arg1; + cCmdSetScalarValFromDataArg(Arg1, CmpBool); + recursiveCmp++; } - break; - - case OP_INDEX: + else { - ArgVal3 = (Arg3 != NOT_A_DS_ID) ? cCmdGetScalarValFromDataArg(Arg3, 0) : 0; - - DVIndex2 = cCmdGetDVIndex(Arg2, 0); - if (ArgVal3 >= DV_ARRAY[DVIndex2].Count) - return (ERR_ARG); - - Status = cCmdInterpPolyUnop2(OP_MOV, Arg1, 0, INC_ID(Arg2), ARRAY_ELEM_OFFSET(DVIndex2, ArgVal3)); + //Compare Elements + Status = cCmdInterpPolyBinop(*pCode, Arg1, 0, Arg2, 0, Arg3, 0); + polyPolyCmp++; } - break; - - case OP_ARRINIT: - { - //Arg1 - Dst, Arg2 - element type/default val, Arg3 - length - + } + break; + + case OP_BRCMP: + { + TYPE_CODE TypeCode2= cCmdDSType(Arg2), TypeCode3= cCmdDSType(Arg3); + if(TypeCode2 <= TC_LAST_INT_SCALAR && TypeCode3 <= TC_LAST_INT_SCALAR) { + ULONG ArgVal2, ArgVal3; + ArgVal2= cCmdGetScalarValFromDataArg(Arg2, 0); + ArgVal3= cCmdGetScalarValFromDataArg(Arg3, 0); + CmpBool= cCmdCompare(COMP_CODE(pCode), ArgVal2, ArgVal3, TypeCode2, TypeCode3); + } + else //Compare Aggregates + Status = cCmdCompareAggregates(COMP_CODE(pCode), &CmpBool, Arg2, 0, Arg3, 0); + + if (CmpBool) + gPCDelta = (SWORD)Arg1; + } + break; + + case OP_INDEX: + { + ArgVal3 = (Arg3 != NOT_A_DS_ID) ? cCmdGetScalarValFromDataArg(Arg3, 0) : 0; + + DVIndex2 = cCmdGetDVIndex(Arg2, 0); + if (ArgVal3 >= DV_ARRAY[DVIndex2].Count) + return (ERR_ARG); + + Status = cCmdInterpPolyUnop2(OP_MOV, Arg1, 0, INC_ID(Arg2), ARRAY_ELEM_OFFSET(DVIndex2, ArgVal3)); + } + break; + + case OP_ARRINIT: + { + //Arg1 - Dst, Arg2 - element type/default val, Arg3 - length + 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); + + Status = cCmdDSArrayAlloc(Arg1, 0, (UWORD)ArgVal3); if (!IS_ERR(Status)) { - DVIndex1 = cCmdGetDVIndex(Arg1, 0); + DVIndex1 = cCmdGetDVIndex(Arg1, 0); if(cCmdDSType(Arg2) <= TC_LAST_INT_SCALAR && TypeCode <= TC_LAST_INT_SCALAR) { ULONG val= cCmdGetScalarValFromDataArg(Arg2, 0); for (i = 0; i < ArgVal3; i++) // could init ptr and incr by offset GM??? - { - //copy Arg2 into each element of Arg1 + { + //copy Arg2 into each element of Arg1 cCmdSetVal(VarsCmd.pDataspace + ARRAY_ELEM_OFFSET(DVIndex1, i), TypeCode, val); } } else for (i = 0; i < ArgVal3; i++) //copy Arg2 into each element of Arg1 - Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg1), ARRAY_ELEM_OFFSET(DVIndex1, i), Arg2, 0); - } + Status = cCmdInterpPolyUnop2(OP_MOV, INC_ID(Arg1), ARRAY_ELEM_OFFSET(DVIndex1, i), Arg2, 0); } - break; - + } + break; + case OP_FMTNUM: { //Check that the destination is a string (array of bytes) @@ -5682,13 +5684,13 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) 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); @@ -5697,7 +5699,7 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) Status = ERR_INSTR; return (Status); } - + char fmtBuf[256]; // arbitrary limit!!! // handle floats separately from scalar types if (TypeCode3 == TC_FLOAT) { @@ -5717,17 +5719,17 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) 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); } @@ -5748,14 +5750,14 @@ NXT_STATUS cCmdInterpBinop(CODE_WORD * const pCode) } break; - default: - { - //Fatal error: Unrecognized instruction - NXT_BREAK; - Status = ERR_INSTR; - } - break; + default: + { + //Fatal error: Unrecognized instruction + NXT_BREAK; + Status = ERR_INSTR; } + break; + } } return (Status); } @@ -5800,10 +5802,10 @@ NXT_STATUS cCmdInterpPolyBinop(CODE_WORD const Code, DATA_ARG Arg1, UWORD Offset } else { - ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, Offset2); - ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, Offset3); - ArgVal1 = cCmdBinop(Code, ArgVal2, ArgVal3, TypeCode2, TypeCode3); - cCmdSetVal(pArg1, TypeCode1, ArgVal1); + ArgVal2 = cCmdGetScalarValFromDataArg(Arg2, Offset2); + ArgVal3 = cCmdGetScalarValFromDataArg(Arg3, Offset3); + ArgVal1 = cCmdBinop(Code, ArgVal2, ArgVal3, TypeCode2, TypeCode3); + cCmdSetVal(pArg1, TypeCode1, ArgVal1); } return Status; } @@ -6219,7 +6221,7 @@ NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2) *(UWORD*)pArg1= *(UWORD*)pArg2; Status= NO_ERR; } - else + else { moveDiffInt++; ULONG val= cCmdGetScalarValFromDataArg(Arg2, 0); @@ -8683,6 +8685,7 @@ void cCmdWriteBenchmarkFile() } #endif + ///////////////////////////////////////////////////////////// // Dymanic syscall implementations //////////////////////////////////////////////////////////// diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 5f9caa6..3af20cd 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -362,6 +362,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)) + // //Definitions related to dataflow scheduling // diff --git a/AT91SAM7S256/Source/c_cmd_drawing.inc b/AT91SAM7S256/Source/c_cmd_drawing.inc index 01d90fd..9a62c12 100644 --- a/AT91SAM7S256/Source/c_cmd_drawing.inc +++ b/AT91SAM7S256/Source/c_cmd_drawing.inc @@ -306,10 +306,12 @@ void cCmdDrawTextHelper(ULONG DrawOptions, UBYTE *pString, IMG_PT * pPt) NXT_STATUS cCmdWrapDrawText(UBYTE * ArgV[]) { IMG_PT * pPt = (IMG_PT*) ArgV[1]; + ArgV[2] = (UBYTE*)cCmdDVPtr(*(DV_INDEX *)(ArgV[2])); //Resolve array argument cCmdDrawTextHelper(*(ULONG*)ArgV[3], ArgV[2], pPt); // Set return value *((SBYTE*)(ArgV[0])) = NO_ERR; + return NO_ERR; } @@ -382,8 +384,10 @@ NXT_STATUS cCmdWrapDrawCircle(UBYTE * ArgV[]) cCmdDrawCircle(pPt->X, pPt->Y, radius, pixelMode, fillMode); pMapDisplay->UpdateMask |= SCREEN_BIT(SCREEN_BACKGROUND); + // Set return value *((SBYTE*)(ArgV[0])) = NO_ERR; + return NO_ERR; } @@ -1533,6 +1537,7 @@ void cCmdSetPixel(SLONG X, SLONG Y, ULONG PixelMode) pMapDisplay->pFunc(DISPLAY_PIXEL, (UBYTE)PixelMode, (UBYTE)X, (UBYTE)Y, 0, 0); } + //----------------------------------------------------------------- //cCmdWrapSetScreenMode //ArgV[0]: (Function return) Status code, SBYTE diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c index 610d369..f550ca3 100644 --- a/AT91SAM7S256/Source/c_comm.c +++ b/AT91SAM7S256/Source/c_comm.c @@ -219,6 +219,7 @@ void cCommCtrl(void) } } break; + case BT_ARM_DATA_MODE: case BT_ARM_GPS_MODE: case BT_ARM_RAW_MODE: @@ -1229,16 +1230,16 @@ UWORD cCommReceivedBtData(void) { if (VarsComm.BtState == BT_ARM_DATA_MODE) { - + /* 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; - + /* 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 sent then send it */ if (IOMapComm.BtOutBuf.InPtr) { diff --git a/AT91SAM7S256/Source/c_lowspeed.c b/AT91SAM7S256/Source/c_lowspeed.c index de0cf77..f8baa92 100644 --- a/AT91SAM7S256/Source/c_lowspeed.c +++ b/AT91SAM7S256/Source/c_lowspeed.c @@ -58,147 +58,147 @@ void cLowSpeedCtrl(void) for (ChannelNumber = 0; ChannelNumber < NO_OF_LOWSPEED_COM_CHANNEL; ChannelNumber++) { //Lowspeed com is activated - switch (IOMapLowSpeed.ChannelState[ChannelNumber]) - { - case LOWSPEED_IDLE: + switch (IOMapLowSpeed.ChannelState[ChannelNumber]) + { + case LOWSPEED_IDLE: + { + } + break; + + case LOWSPEED_INIT: + { + if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) { + if (VarsLowSpeed.TimerState == TIMER_STOPPED) + { + dLowSpeedStartTimer(); + VarsLowSpeed.TimerState = TIMER_RUNNING; + } + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_LOAD_BUFFER; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_NO_ERROR; + VarsLowSpeed.ErrorCount[ChannelNumber] = 0; + dLowSpeedInitPins(ChannelNumber); } - break; - - case LOWSPEED_INIT: + else { - if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) - { - if (VarsLowSpeed.TimerState == TIMER_STOPPED) - { - dLowSpeedStartTimer(); - VarsLowSpeed.TimerState = TIMER_RUNNING; - } - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_LOAD_BUFFER; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_NO_ERROR; - VarsLowSpeed.ErrorCount[ChannelNumber] = 0; - dLowSpeedInitPins(ChannelNumber); - } - else - { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; - } + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; } - break; + } + break; - case LOWSPEED_LOAD_BUFFER: + case LOWSPEED_LOAD_BUFFER: + { + if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) { - if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) + VarsLowSpeed.OutputBuf[ChannelNumber].OutPtr = 0; + for (VarsLowSpeed.OutputBuf[ChannelNumber].InPtr = 0; VarsLowSpeed.OutputBuf[ChannelNumber].InPtr < IOMapLowSpeed.OutBuf[ChannelNumber].InPtr; VarsLowSpeed.OutputBuf[ChannelNumber].InPtr++) { - VarsLowSpeed.OutputBuf[ChannelNumber].OutPtr = 0; - for (VarsLowSpeed.OutputBuf[ChannelNumber].InPtr = 0; VarsLowSpeed.OutputBuf[ChannelNumber].InPtr < IOMapLowSpeed.OutBuf[ChannelNumber].InPtr; VarsLowSpeed.OutputBuf[ChannelNumber].InPtr++) - { - VarsLowSpeed.OutputBuf[ChannelNumber].Buf[VarsLowSpeed.OutputBuf[ChannelNumber].InPtr] = IOMapLowSpeed.OutBuf[ChannelNumber].Buf[IOMapLowSpeed.OutBuf[ChannelNumber].OutPtr]; - IOMapLowSpeed.OutBuf[ChannelNumber].OutPtr++; - } - if (dLowSpeedSendData(ChannelNumber, &VarsLowSpeed.OutputBuf[ChannelNumber].Buf[0], (VarsLowSpeed.OutputBuf[ChannelNumber].InPtr - VarsLowSpeed.OutputBuf[ChannelNumber].OutPtr))) - { - if (IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx != 0) - { - dLowSpeedReceiveData(ChannelNumber, &VarsLowSpeed.InputBuf[ChannelNumber].Buf[0], IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx, IOMapLowSpeed.NoRestartOnRead); - VarsLowSpeed.RxTimeCnt[ChannelNumber] = 0; - } - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_COMMUNICATING; - IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_TRANSMITTING; - } - else + VarsLowSpeed.OutputBuf[ChannelNumber].Buf[VarsLowSpeed.OutputBuf[ChannelNumber].InPtr] = IOMapLowSpeed.OutBuf[ChannelNumber].Buf[IOMapLowSpeed.OutBuf[ChannelNumber].OutPtr]; + IOMapLowSpeed.OutBuf[ChannelNumber].OutPtr++; + } + if (dLowSpeedSendData(ChannelNumber, &VarsLowSpeed.OutputBuf[ChannelNumber].Buf[0], (VarsLowSpeed.OutputBuf[ChannelNumber].InPtr - VarsLowSpeed.OutputBuf[ChannelNumber].OutPtr))) + { + if (IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx != 0) { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; + dLowSpeedReceiveData(ChannelNumber, &VarsLowSpeed.InputBuf[ChannelNumber].Buf[0], IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx, IOMapLowSpeed.NoRestartOnRead); + VarsLowSpeed.RxTimeCnt[ChannelNumber] = 0; } - } + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_COMMUNICATING; + IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_TRANSMITTING; + } else { IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; } } - break; + else + { + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; + } + } + break; - case LOWSPEED_COMMUNICATING: + case LOWSPEED_COMMUNICATING: + { + if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) { - if ((pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED) || (pMapInput->Inputs[ChannelNumber].SensorType == LOWSPEED_9V)) - { - if (IOMapLowSpeed.Mode[ChannelNumber] == LOWSPEED_TRANSMITTING) - { - Temp = dLowSpeedComTxStatus(ChannelNumber); // Returns 0x00 if not done, 0x01 if success, 0xFF if error - - if (Temp == LOWSPEED_COMMUNICATION_SUCCESS) - { - if (IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx != 0) - { - IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_RECEIVING; - } - else - { - IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_DATA_RECEIVED; - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_DONE; - } - } - if (Temp == LOWSPEED_COMMUNICATION_ERROR) - { - //ERROR in Communication, No ACK received from SLAVE, retry send data 3 times! - VarsLowSpeed.ErrorCount[ChannelNumber]++; - if (VarsLowSpeed.ErrorCount[ChannelNumber] > MAX_RETRY_TX_COUNT) - { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_TX_ERROR; - } - else - { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_LOAD_BUFFER; - } - } - } - if (IOMapLowSpeed.Mode[ChannelNumber] == LOWSPEED_RECEIVING) - { - VarsLowSpeed.RxTimeCnt[ChannelNumber]++; - if (VarsLowSpeed.RxTimeCnt[ChannelNumber] > LOWSPEED_RX_TIMEOUT) + if (IOMapLowSpeed.Mode[ChannelNumber] == LOWSPEED_TRANSMITTING) + { + Temp = dLowSpeedComTxStatus(ChannelNumber); // Returns 0x00 if not done, 0x01 if success, 0xFF if error + + if (Temp == LOWSPEED_COMMUNICATION_SUCCESS) + { + if (IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx != 0) { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_RX_ERROR; + IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_RECEIVING; } - Temp = dLowSpeedComRxStatus(ChannelNumber); - if (Temp == LOWSPEED_COMMUNICATION_SUCCESS) + else { - for (VarsLowSpeed.InputBuf[ChannelNumber].OutPtr = 0; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr < IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr++) - { - IOMapLowSpeed.InBuf[ChannelNumber].Buf[IOMapLowSpeed.InBuf[ChannelNumber].InPtr] = VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr]; - IOMapLowSpeed.InBuf[ChannelNumber].InPtr++; - if (IOMapLowSpeed.InBuf[ChannelNumber].InPtr >= SIZE_OF_LSBUF) - { - IOMapLowSpeed.InBuf[ChannelNumber].InPtr = 0; - } - VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr] = 0; - } IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_DATA_RECEIVED; IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_DONE; } - if (Temp == LOWSPEED_COMMUNICATION_ERROR) + } + if (Temp == LOWSPEED_COMMUNICATION_ERROR) + { + //ERROR in Communication, No ACK received from SLAVE, retry send data 3 times! + VarsLowSpeed.ErrorCount[ChannelNumber]++; + if (VarsLowSpeed.ErrorCount[ChannelNumber] > MAX_RETRY_TX_COUNT) + { + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_TX_ERROR; + } + else + { + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_LOAD_BUFFER; + } + } + } + if (IOMapLowSpeed.Mode[ChannelNumber] == LOWSPEED_RECEIVING) + { + VarsLowSpeed.RxTimeCnt[ChannelNumber]++; + if (VarsLowSpeed.RxTimeCnt[ChannelNumber] > LOWSPEED_RX_TIMEOUT) + { + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_RX_ERROR; + } + Temp = dLowSpeedComRxStatus(ChannelNumber); + if (Temp == LOWSPEED_COMMUNICATION_SUCCESS) + { + for (VarsLowSpeed.InputBuf[ChannelNumber].OutPtr = 0; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr < IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr++) { - //There was and error in receiving data from the device - for (VarsLowSpeed.InputBuf[ChannelNumber].OutPtr = 0; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr < IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr++) + IOMapLowSpeed.InBuf[ChannelNumber].Buf[IOMapLowSpeed.InBuf[ChannelNumber].InPtr] = VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr]; + IOMapLowSpeed.InBuf[ChannelNumber].InPtr++; + if (IOMapLowSpeed.InBuf[ChannelNumber].InPtr >= SIZE_OF_LSBUF) { - VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr] = 0; + IOMapLowSpeed.InBuf[ChannelNumber].InPtr = 0; } - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_RX_ERROR; - } + VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr] = 0; + } + IOMapLowSpeed.Mode[ChannelNumber] = LOWSPEED_DATA_RECEIVED; + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_DONE; } - } - else - { - IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; - IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; - } - } - break; + if (Temp == LOWSPEED_COMMUNICATION_ERROR) + { + //There was and error in receiving data from the device + for (VarsLowSpeed.InputBuf[ChannelNumber].OutPtr = 0; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr < IOMapLowSpeed.InBuf[ChannelNumber].BytesToRx; VarsLowSpeed.InputBuf[ChannelNumber].OutPtr++) + { + VarsLowSpeed.InputBuf[ChannelNumber].Buf[VarsLowSpeed.InputBuf[ChannelNumber].OutPtr] = 0; + } + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_RX_ERROR; + } + } + } + else + { + IOMapLowSpeed.ChannelState[ChannelNumber] = LOWSPEED_ERROR; + IOMapLowSpeed.ErrorType[ChannelNumber] = LOWSPEED_CH_NOT_READY; + } + } + break; case LOWSPEED_ERROR: { diff --git a/AT91SAM7S256/Source/c_output.c b/AT91SAM7S256/Source/c_output.c index 23e0e28..ca3c494 100644 --- a/AT91SAM7S256/Source/c_output.c +++ b/AT91SAM7S256/Source/c_output.c @@ -48,10 +48,10 @@ void cOutputInit(void* pHeader) { OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); pOut->Mode = 0x00; - pOut->Speed = 0x00; - pOut->ActualSpeed = 0x00; - pOut->TachoCnt = 0x00; - pOut->RunState = 0x00; + pOut->Speed = 0x00; + pOut->ActualSpeed = 0x00; + pOut->TachoCnt = 0x00; + pOut->RunState = 0x00; pOut->TachoLimit = 0x00; pOut->RegPParameter = DEFAULT_P_GAIN_FACTOR; pOut->RegIParameter = DEFAULT_I_GAIN_FACTOR; @@ -71,71 +71,71 @@ void cOutputCtrl(void) { OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); if (pOut->Flags != 0) - { - if (pOut->Flags & UPDATE_RESET_ROTATION_COUNT) + { + if (pOut->Flags & UPDATE_RESET_ROTATION_COUNT) { pOut->Flags &= ~UPDATE_RESET_ROTATION_COUNT; dOutputResetRotationCaptureCount(Tmp); } if (pOut->Flags & UPDATE_RESET_COUNT) - { - pOut->Flags &= ~UPDATE_RESET_COUNT; - dOutputResetTachoLimit(Tmp); - } + { + pOut->Flags &= ~UPDATE_RESET_COUNT; + dOutputResetTachoLimit(Tmp); + } if (pOut->Flags & UPDATE_RESET_BLOCK_COUNT) { pOut->Flags &= ~UPDATE_RESET_BLOCK_COUNT; - dOutputResetBlockTachoLimit(Tmp); + dOutputResetBlockTachoLimit(Tmp); } if (pOut->Flags & UPDATE_SPEED) - { - pOut->Flags &= ~UPDATE_SPEED; - if (pOut->Mode & MOTORON) - { - dOutputSetSpeed(Tmp, pOut->RunState, pOut->Speed, pOut->SyncTurnParameter); - } - } + { + pOut->Flags &= ~UPDATE_SPEED; + if (pOut->Mode & MOTORON) + { + dOutputSetSpeed(Tmp, pOut->RunState, pOut->Speed, pOut->SyncTurnParameter); + } + } if (pOut->Flags & UPDATE_TACHO_LIMIT) - { - pOut->Flags &= ~UPDATE_TACHO_LIMIT; - dOutputSetTachoLimit(Tmp, pOut->TachoLimit, pOut->Options); - } - if (pOut->Flags & UPDATE_MODE) - { + { + pOut->Flags &= ~UPDATE_TACHO_LIMIT; + dOutputSetTachoLimit(Tmp, pOut->TachoLimit, pOut->Options); + } + if (pOut->Flags & UPDATE_MODE) + { pOut->Flags &= ~UPDATE_MODE; - if (pOut->Mode & BRAKE) + if (pOut->Mode & BRAKE) { // Motor is Braked dOutputSetMode(Tmp, BRAKE); - } + } else { // Motor is floated dOutputSetMode(Tmp, 0x00); } - if (pOut->Mode & MOTORON) + if (pOut->Mode & MOTORON) { - if (pOut->Mode & REGULATED) - { - dOutputEnableRegulation(Tmp, pOut->RegMode); - } - else - { - dOutputDisableRegulation(Tmp); - } - } - else - { - dOutputSetSpeed(Tmp, 0x00, 0x00, 0x00); + if (pOut->Mode & REGULATED) + { + dOutputEnableRegulation(Tmp, pOut->RegMode); + } + else + { + dOutputDisableRegulation(Tmp); + } + } + else + { + dOutputSetSpeed(Tmp, 0x00, 0x00, 0x00); dOutputDisableRegulation(Tmp); - } - } + } + } if (pOut->Flags & UPDATE_PID_VALUES) - { - pOut->Flags &= ~UPDATE_PID_VALUES; - dOutputSetPIDParameters(Tmp, pOut->RegPParameter, pOut->RegIParameter, pOut->RegDParameter); - } - } + { + pOut->Flags &= ~UPDATE_PID_VALUES; + dOutputSetPIDParameters(Tmp, pOut->RegPParameter, pOut->RegIParameter, pOut->RegDParameter); + } + } } dOutputCtrl(); cOutputUpdateIomap(); @@ -143,30 +143,30 @@ void cOutputCtrl(void) void cOutputUpdateIomap(void) { - UBYTE TempCurrentMotorSpeed[NO_OF_OUTPUTS]; - UBYTE TempRunState[NO_OF_OUTPUTS]; + UBYTE TempCurrentMotorSpeed[NO_OF_OUTPUTS]; + UBYTE TempRunState[NO_OF_OUTPUTS]; UBYTE TempMotorOverloaded[NO_OF_OUTPUTS]; - SLONG TempTachoCount[NO_OF_OUTPUTS]; + SLONG TempTachoCount[NO_OF_OUTPUTS]; SLONG TempBlockTachoCount[NO_OF_OUTPUTS]; SLONG TempRotationCount[NO_OF_OUTPUTS]; UBYTE Tmp; - dOutputGetMotorParameters(TempCurrentMotorSpeed, TempTachoCount, TempBlockTachoCount, TempRunState, TempMotorOverloaded,TempRotationCount); + dOutputGetMotorParameters(TempCurrentMotorSpeed, TempTachoCount, TempBlockTachoCount, TempRunState, TempMotorOverloaded,TempRotationCount); - for(Tmp = 0; Tmp < NO_OF_OUTPUTS; Tmp++) + for(Tmp = 0; Tmp < NO_OF_OUTPUTS; Tmp++) { - OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); - pOut->ActualSpeed = TempCurrentMotorSpeed[Tmp]; + OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); + pOut->ActualSpeed = TempCurrentMotorSpeed[Tmp]; pOut->TachoCnt = TempTachoCount[Tmp]; pOut->BlockTachoCount = TempBlockTachoCount[Tmp]; - pOut->RotationCount = TempRotationCount[Tmp]; + pOut->RotationCount = TempRotationCount[Tmp]; pOut->Overloaded = TempMotorOverloaded[Tmp]; if (!(pOut->Flags & PENDING_UPDATES)) { pOut->RunState = TempRunState[Tmp]; } - } + } } void cOutputExit(void) diff --git a/AT91SAM7S256/Source/d_hispeed.r b/AT91SAM7S256/Source/d_hispeed.r index 371b76d..949f0f5 100644 --- a/AT91SAM7S256/Source/d_hispeed.r +++ b/AT91SAM7S256/Source/d_hispeed.r @@ -27,7 +27,7 @@ #define PER_ID6_UART_0 0x40 #define UART0_INQ 0x40 -#define BAUD_RATE 921600L +#define BAUD_RATE 921600L #define SIZE_OF_INBUF 128 #define NO_OF_INBUFFERS 2 @@ -46,10 +46,10 @@ static UBYTE MsgIn; static UBYTE InBufOutCnt; #define HIGHSPEEDInit {\ - *AT91C_PIOA_PER = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Enable PIO on PA07, PA06 & PA05 */\ - *AT91C_PIOA_PPUDR = HIGHSPEED_RX_PIN | HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN; /* Disable Pull-up resistor */\ + *AT91C_PIOA_PER = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Enable PIO on PA07, PA06 & PA05 */\ + *AT91C_PIOA_PPUDR = HIGHSPEED_RX_PIN | HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN; /* Disable Pull-up resistor */\ *AT91C_PIOA_OER = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* PA07 & PA06 set to Output */\ - *AT91C_PIOA_CODR = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Set output low */\ + *AT91C_PIOA_CODR = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Set output low */\ } #define HIGHSPEEDSetupUart(_baud, _mode) {\ @@ -94,7 +94,7 @@ static UBYTE InBufOutCnt; #define HIGHSPEEDInitReceiver(InputBuffer)\ {\ - UBYTE Tmp;\ + UBYTE Tmp;\ pBuffer = InputBuffer;\ *AT91C_US0_PTCR = (AT91C_PDC_RXTDIS | AT91C_PDC_TXTDIS); /* Disable of TX & RX with DMA */\ *AT91C_US0_RCR = 0; /* Receive Counter Register */\ @@ -174,7 +174,7 @@ static UBYTE InBufOutCnt; #define HIGHSPEEDExit {\ *AT91C_PMC_PCDR = PER_ID6_UART_0; /* Disable PMC clock for UART 0*/\ *AT91C_PIOA_PER = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Enable PIO on PA07, PA06 & PA05 */\ - *AT91C_PIOA_PPUDR = HIGHSPEED_RX_PIN | HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN; /* Disable Pull-up resistor */\ + *AT91C_PIOA_PPUDR = HIGHSPEED_RX_PIN | HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN; /* Disable Pull-up resistor */\ *AT91C_PIOA_OER = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* PA07 & PA06 set to Output */\ *AT91C_PIOA_CODR = HIGHSPEED_TX_PIN | HIGHSPEED_RTS_PIN | HIGHSPEED_RX_PIN; /* Set output low */\ } diff --git a/AT91SAM7S256/Source/d_input.h b/AT91SAM7S256/Source/d_input.h index 3805103..d365dd1 100644 --- a/AT91SAM7S256/Source/d_input.h +++ b/AT91SAM7S256/Source/d_input.h @@ -45,6 +45,4 @@ void dInputClearColor100msTimer(UBYTE No); UBYTE dInputChkColor100msTimer(UBYTE No); - - #endif diff --git a/AT91SAM7S256/Source/d_input.r b/AT91SAM7S256/Source/d_input.r index ffcac78..3dc567e 100644 --- a/AT91SAM7S256/Source/d_input.r +++ b/AT91SAM7S256/Source/d_input.r @@ -247,7 +247,7 @@ static ULONG ColorTimer[NO_OF_INPUTS]; {\ V = TRUE;\ } - + void rInputSingleADC(UBYTE Port, UWORD *Val) diff --git a/AT91SAM7S256/Source/d_lowspeed.r b/AT91SAM7S256/Source/d_lowspeed.r index e215b3c..3ca660d 100644 --- a/AT91SAM7S256/Source/d_lowspeed.r +++ b/AT91SAM7S256/Source/d_lowspeed.r @@ -74,17 +74,17 @@ const ULONG CLK_OR_DATA_PINS[4] = {CHANNEL_ONE_CLK | CHANNEL_ONE_DATA, #define PIO_INQ 0x04 //Used for variable ChannelState -#define LOWSPEED_IDLE 0x00 -#define LOWSPEED_TX_STOP_BIT 0x01 +#define LOWSPEED_IDLE 0x00 +#define LOWSPEED_TX_STOP_BIT 0x01 #define LOWSPEED_TRANSMITTING 0x02 -#define LOWSPEED_RECEIVING 0x04 +#define LOWSPEED_RECEIVING 0x04 #define LOWSPEED_TEST_WAIT_STATE 0x08 #define LOWSPEED_RESTART_CONDITION 0x10 #define LOWSPEED_WAIT_BEFORE_RX 0x20 //Used for variable TxState -#define TX_IDLE 0x00 -#define TX_DATA_MORE_DATA 0x01 +#define TX_IDLE 0x00 +#define TX_DATA_MORE_DATA 0x01 #define TX_DATA_CLK_HIGH 0x02 #define TX_EVALUATE_ACK_CLK_HIGH 0x03 #define TX_DATA_READ_ACK_CLK_LOW 0x04 @@ -92,56 +92,57 @@ const ULONG CLK_OR_DATA_PINS[4] = {CHANNEL_ONE_CLK | CHANNEL_ONE_DATA, #define TX_ACK_EVALUATED_CLK_LOW 0x06 //Used for variable RxState -#define RX_IDLE 0x00 -#define RX_START_BIT_CLK_HIGH 0x01 +#define RX_IDLE 0x00 +#define RX_START_BIT_CLK_HIGH 0x01 #define RX_DATA_CLK_HIGH 0x02 #define RX_ACK_TX_CLK_HIGH 0x03 -#define RX_DATA_CLK_LOW 0x04 +#define RX_DATA_CLK_LOW 0x04 #define RX_DONE_OR_NOT_CLK_LOW 0x05 //Used for variable ReStart #define RESTART_STATE_IDLE 0x00 -#define RESTART_STATE_ONE 0x01 -#define RESTART_STATE_TWO 0x02 +#define RESTART_STATE_ONE 0x01 +#define RESTART_STATE_TWO 0x02 #define RESTART_STATE_THREE 0x03 #define RESTART_STATE_FOUR 0x04 #define RESTART_STATE_FIVE 0x05 #define RESTART_STATE_SIX 0x06 #define RESTART_STATE_SEVEN 0x07 -#define LOWSpeedTxInit {\ - LowSpeedData[LOWSPEED_CHANNEL1].ChannelState = 0;\ - LowSpeedData[LOWSPEED_CHANNEL2].ChannelState = 0;\ - LowSpeedData[LOWSPEED_CHANNEL3].ChannelState = 0;\ - LowSpeedData[LOWSPEED_CHANNEL4].ChannelState = 0;\ -} - -#define LOWSpeedTimerInit {\ - *AT91C_PMC_PCER = 0x400; /* Enable clock for PWM, PID10*/\ - *AT91C_PWMC_MR = 0x01; /* CLKA is output from prescaler */\ - *AT91C_PWMC_MR |= 0x600; /* Prescaler MCK divided with 64 */\ - *AT91C_PWMC_CH0_CMR = 0x06; /* Channel 0 uses MCK divided by 64 */\ - *AT91C_PWMC_CH0_CMR &= 0xFFFFFEFF; /* Left alignment on periode */\ - *AT91C_PWMC_CH0_CPRDR = 0x20; /* Set to 39 => 52uSecondes interrupt */\ - *AT91C_PWMC_IDR = AT91C_PWMC_CHID0; /* Disable interrupt for PWM output channel 0 */\ - *AT91C_AIC_IDCR = 0x400; /* Disable AIC intterupt on ID10 PWM */\ - AT91C_AIC_SVR[10] = (unsigned int)LowSpeedPwmIrqHandler;\ - AT91C_AIC_SMR[10] = 0x01; /* Enable trigger on level */\ - *AT91C_AIC_ICCR = 0x400; /* Clear interrupt register PID10*/\ - *AT91C_PWMC_IER = AT91C_PWMC_CHID0; /* Enable interrupt for PWM output channel 0 */\ - *AT91C_AIC_IECR = 0x400; /* Enable interrupt from PWM */\ -} +#define LOWSpeedTxInit {\ + LowSpeedData[LOWSPEED_CHANNEL1].ChannelState = 0;\ + LowSpeedData[LOWSPEED_CHANNEL2].ChannelState = 0;\ + LowSpeedData[LOWSPEED_CHANNEL3].ChannelState = 0;\ + LowSpeedData[LOWSPEED_CHANNEL4].ChannelState = 0;\ + } + +#define LOWSpeedTimerInit {\ + *AT91C_PMC_PCER = 0x400; /* Enable clock for PWM, PID10*/\ + *AT91C_PWMC_MR = 0x01; /* CLKA is output from prescaler */\ + *AT91C_PWMC_MR |= 0x600; /* Prescaler MCK divided with 64 */\ + *AT91C_PWMC_CH0_CMR = 0x06; /* Channel 0 uses MCK divided by 64 */\ + *AT91C_PWMC_CH0_CMR &= 0xFFFFFEFF; /* Left alignment on periode */\ + *AT91C_PWMC_CH0_CPRDR = 0x20; /* Set to 39 => 52uSecondes interrupt */\ + *AT91C_PWMC_IDR = AT91C_PWMC_CHID0; /* Disable interrupt for PWM output channel 0 */\ + *AT91C_AIC_IDCR = 0x400; /* Disable AIC intterupt on ID10 PWM */\ + AT91C_AIC_SVR[10] = (unsigned int)LowSpeedPwmIrqHandler;\ + AT91C_AIC_SMR[10] = 0x01; /* Enable trigger on level */\ + *AT91C_AIC_ICCR = 0x400; /* Clear interrupt register PID10*/\ + *AT91C_PWMC_IER = AT91C_PWMC_CHID0; /* Enable interrupt for PWM output channel 0 */\ + *AT91C_AIC_IECR = 0x400; /* Enable interrupt from PWM */\ + } #define LOWSpeedExit -#define ENABLEDebugOutput {\ - *AT91C_PIOA_PER = AT91C_PIO_PA29; /* Enable PIO on PA029 */\ - *AT91C_PIOA_OER = AT91C_PIO_PA29; /* PA029 set to Output */\ - *AT91C_PIOA_CODR = 0x20000000;\ -} +#define ENABLEDebugOutput {\ + *AT91C_PIOA_PER = AT91C_PIO_PA29; /* Enable PIO on PA029 */\ + *AT91C_PIOA_OER = AT91C_PIO_PA29; /* PA029 set to Output */\ + *AT91C_PIOA_CODR = 0x20000000;\ + } + +#define SETDebugOutputHigh *AT91C_PIOA_SODR = 0x20000000 -#define SETDebugOutputHigh *AT91C_PIOA_SODR = 0x20000000 -#define SETDebugOutputLow *AT91C_PIOA_CODR = 0x20000000 +#define SETDebugOutputLow *AT91C_PIOA_CODR = 0x20000000 #define SETClkComOneHigh *AT91C_PIOA_SODR = CHANNEL_ONE_CLK #define SETClkComOneLow *AT91C_PIOA_CODR = CHANNEL_ONE_CLK @@ -253,13 +254,13 @@ const ULONG CLK_OR_DATA_PINS[4] = {CHANNEL_ONE_CLK | CHANNEL_ONE_DATA, *AT91C_PWMC_DIS = AT91C_PWMC_CHID0; /* Disable PWM output channel 0 */\ } -#define OLD_DISABLEPWMTimerForLowCom {\ - *AT91C_PWMC_DIS = AT91C_PWMC_CHID0; /* Disable PWM output channel 0 */\ - *AT91C_PWMC_IDR = AT91C_PWMC_CHID0; /* Disable interrupt from PWM output channel 0 */\ - *AT91C_AIC_IDCR = 0x400; /* Disable Irq from PID10 */\ - *AT91C_AIC_ICCR = 0x400; /* Clear interrupt register PID10*/\ - *AT91C_PMC_PCDR = 0x400; /* Disable clock for PWM, PID10*/\ -} +#define OLD_DISABLEPWMTimerForLowCom {\ + *AT91C_PWMC_DIS = AT91C_PWMC_CHID0; /* Disable PWM output channel 0 */\ + *AT91C_PWMC_IDR = AT91C_PWMC_CHID0; /* Disable interrupt from PWM output channel 0 */\ + *AT91C_AIC_IDCR = 0x400; /* Disable Irq from PID10 */\ + *AT91C_AIC_ICCR = 0x400; /* Clear interrupt register PID10*/\ + *AT91C_PMC_PCDR = 0x400; /* Disable clock for PWM, PID10*/\ + } __ramfunc void LowSpeedPwmIrqHandler(void) { @@ -452,11 +453,11 @@ __ramfunc void LowSpeedPwmIrqHandler(void) LowSpeedData[ChannelNr].ReStartBit = 0; LowSpeedData[ChannelNr].pComOutBuffer = &LowSpeedData[ChannelNr].ComDeviceAddress; *LowSpeedData[ChannelNr].pComOutBuffer += 0x01; - LowSpeedData[ChannelNr].ChannelState = LOWSPEED_TRANSMITTING; - LowSpeedData[ChannelNr].MaskBit = MASK_BIT_8; - LowSpeedData[ChannelNr].TxByteCnt = 0x01; - LowSpeedData[ChannelNr].TxState = TX_DATA_CLK_HIGH; - LowSpeedData[ChannelNr].AckStatus = 0; + LowSpeedData[ChannelNr].ChannelState = LOWSPEED_TRANSMITTING; + LowSpeedData[ChannelNr].MaskBit = MASK_BIT_8; + LowSpeedData[ChannelNr].TxByteCnt = 0x01; + LowSpeedData[ChannelNr].TxState = TX_DATA_CLK_HIGH; + LowSpeedData[ChannelNr].AckStatus = 0; } break; } @@ -514,9 +515,9 @@ __ramfunc void LowSpeedPwmIrqHandler(void) SETClkLow(ChannelNr); SETDataToInput(ChannelNr); LowSpeedData[ChannelNr].pComInBuffer++; - LowSpeedData[ChannelNr].RxByteCnt--; - LowSpeedData[ChannelNr].RxBitCnt = 0; - LowSpeedData[ChannelNr].RxState = RX_DONE_OR_NOT_CLK_LOW; + LowSpeedData[ChannelNr].RxByteCnt--; + LowSpeedData[ChannelNr].RxBitCnt = 0; + LowSpeedData[ChannelNr].RxState = RX_DONE_OR_NOT_CLK_LOW; } break; @@ -611,69 +612,69 @@ __ramfunc void LowSpeedPwmIrqHandler(void) } -#define STATUSTxCom(ChannelNumber, Status) {\ - if (LowSpeedData[ChannelNumber].ChannelState != 0)\ - {\ - if ((LowSpeedData[ChannelNumber].TxByteCnt == 0) && (LowSpeedData[ChannelNumber].ChannelState != LOWSPEED_RESTART_CONDITION))\ - {\ - if (LowSpeedData[ChannelNumber].MaskBit == 0)\ - {\ - if (LowSpeedData[ChannelNumber].AckStatus == 1)\ - {\ - Status = 0x01; /* TX SUCCESS */\ - }\ - else\ - {\ - Status = 0xFF; /* TX ERROR */\ - }\ - }\ - else\ - {\ - Status = 0;\ - }\ - }\ - else\ - {\ - Status = 0;\ - }\ - }\ - else\ - {\ - if (LowSpeedData[ChannelNumber].RxByteCnt == 0)\ - {\ - if (LowSpeedData[ChannelNumber].AckStatus == 1)\ - {\ - Status = 0x01; /* TX SUCCESS */\ - }\ - else\ - {\ - Status = 0xFF; /* TX ERROR */\ - }\ - }\ - else\ - {\ - Status = 0xFF; /* TX ERROR */\ - }\ - }\ -} +#define STATUSTxCom(ChannelNumber, Status) {\ + if (LowSpeedData[ChannelNumber].ChannelState != 0)\ + {\ + if ((LowSpeedData[ChannelNumber].TxByteCnt == 0) && (LowSpeedData[ChannelNumber].ChannelState != LOWSPEED_RESTART_CONDITION))\ + {\ + if (LowSpeedData[ChannelNumber].MaskBit == 0)\ + {\ + if (LowSpeedData[ChannelNumber].AckStatus == 1)\ + {\ + Status = 0x01; /* TX SUCCESS */\ + }\ + else\ + {\ + Status = 0xFF; /* TX ERROR */\ + }\ + }\ + else\ + {\ + Status = 0;\ + }\ + }\ + else\ + {\ + Status = 0;\ + }\ + }\ + else\ + {\ + if (LowSpeedData[ChannelNumber].RxByteCnt == 0)\ + {\ + if (LowSpeedData[ChannelNumber].AckStatus == 1)\ + {\ + Status = 0x01; /* TX SUCCESS */\ + }\ + else\ + {\ + Status = 0xFF; /* TX ERROR */\ + }\ + }\ + else\ + {\ + Status = 0xFF; /* TX ERROR */\ + }\ + }\ + } -#define STATUSRxCom(ChannelNumber, Status) {\ - if (LowSpeedData[ChannelNumber].ChannelState == LOWSPEED_IDLE)\ - {\ - if (LowSpeedData[ChannelNumber].RxByteCnt == 0)\ - {\ - Status = 0x01; /* RX SUCCESS */\ - }\ - else\ - {\ - Status = 0xFF; /* RX ERROR */\ - }\ - }\ - else\ - {\ - Status = 0;\ - }\ -} +#define STATUSRxCom(ChannelNumber, Status) {\ + if (LowSpeedData[ChannelNumber].ChannelState == LOWSPEED_IDLE)\ + {\ + if (LowSpeedData[ChannelNumber].RxByteCnt == 0)\ + {\ + Status = 0x01; /* RX SUCCESS */\ + }\ + else\ + {\ + Status = 0xFF; /* RX ERROR */\ + }\ + }\ + else\ + {\ + Status = 0;\ + }\ + } #endif diff --git a/AT91SAM7S256/Source/d_output.c b/AT91SAM7S256/Source/d_output.c index 64f5e56..843db57 100644 --- a/AT91SAM7S256/Source/d_output.c +++ b/AT91SAM7S256/Source/d_output.c @@ -1125,13 +1125,12 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) { //Synchronise motor A & B MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; + MotorData[MotorOne].MotorTargetSpeed = 0; MotorData[MotorOne].MotorActualSpeed = 0; MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; + MotorData[MotorTwo].MotorTargetSpeed = 0; MotorData[MotorTwo].MotorActualSpeed = 0; MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; @@ -1143,12 +1142,12 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) { //Synchronise motor A & C MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; + MotorData[MotorOne].MotorTargetSpeed = 0; MotorData[MotorOne].MotorActualSpeed = 0; MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; + MotorData[MotorTwo].MotorTargetSpeed = 0; MotorData[MotorTwo].MotorActualSpeed = 0; MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; @@ -1157,7 +1156,7 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) { //Only Motor A has Sync setting => Stop normal MotorData[MotorNr].MotorSetSpeed = 0; - MotorData[MotorNr].MotorTargetSpeed = 0; + MotorData[MotorNr].MotorTargetSpeed = 0; MotorData[MotorNr].MotorActualSpeed = 0; MotorData[MotorNr].MotorRunState = pOne->RunStateAtLimit; MotorData[MotorNr].RegulationMode = REGSTATE_IDLE; @@ -1244,7 +1243,7 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) { //Only Motor C has Sync settings => Stop normal MotorData[MotorNr].MotorSetSpeed = 0; - MotorData[MotorNr].MotorTargetSpeed = 0; + MotorData[MotorNr].MotorTargetSpeed = 0; MotorData[MotorNr].MotorActualSpeed = 0; MotorData[MotorNr].MotorRunState = pOne->RunStateAtLimit; MotorData[MotorNr].RegulationMode = REGSTATE_IDLE; diff --git a/AT91SAM7S256/Source/d_output.r b/AT91SAM7S256/Source/d_output.r index a856920..1a30c5f 100644 --- a/AT91SAM7S256/Source/d_output.r +++ b/AT91SAM7S256/Source/d_output.r @@ -91,11 +91,11 @@ static TACHOPARAMETERS MotorTachoValue[3]; *AT91C_PIOA_PER = MOTOR_A_DIR; /* Enable PIO on PA1 */\ *AT91C_PIOA_ODR = MOTOR_A_DIR; /* PA1 set to input */\ *AT91C_PIOA_IFER = MOTOR_A_INT | MOTOR_A_DIR; /* Enable filter on PA15 & PA1 */\ - *AT91C_PMC_PCER = TIMER_1_ID13; /* Enable clock for TC1*/\ - *AT91C_TCB_BMR = AT91C_TCB_TC1XC1S_NONE; /* No external clock signal XC2 */\ - *AT91C_TCB_BCR = 0x0; /* Clear SYNC */\ - *AT91C_TC1_CMR = *AT91C_TC1_CMR & 0X00000000; /* Clear all bits in TC1_CMR */\ - *AT91C_TC1_CMR = *AT91C_TC1_CMR & 0xFFFF7FFF; /* Enable capture mode */\ + *AT91C_PMC_PCER = TIMER_1_ID13; /* Enable clock for TC1*/\ + *AT91C_TCB_BMR = AT91C_TCB_TC1XC1S_NONE; /* No external clock signal XC2 */\ + *AT91C_TCB_BCR = 0x0; /* Clear SYNC */\ + *AT91C_TC1_CMR = *AT91C_TC1_CMR & 0X00000000; /* Clear all bits in TC1_CMR */\ + *AT91C_TC1_CMR = *AT91C_TC1_CMR & 0xFFFF7FFF; /* Enable capture mode */\ *AT91C_TC1_CMR = *AT91C_TC1_CMR | AT91C_TC_CLKS_TIMER_DIV5_CLOCK; /* Set clock for timer to Clock5 = div 1024*/\ *AT91C_TC1_CMR = *AT91C_TC1_CMR | AT91C_TC_ABETRG; /* Use external trigger for TIO1*/\ *AT91C_TC1_CMR = *AT91C_TC1_CMR | AT91C_TC_EEVTEDG_BOTH; /* Trigger on both edges */\ @@ -118,14 +118,14 @@ static TACHOPARAMETERS MotorTachoValue[3]; *AT91C_PIOA_PPUDR = MOTOR_B_INT | MOTOR_B_DIR; /* Disable Pull Up resistor on PA26 & PA09 */\ *AT91C_PIOA_ODR = MOTOR_B_DIR; /* PA09 set to input */\ *AT91C_PIOA_IFER = MOTOR_B_INT | MOTOR_B_DIR; /* Enable filter on PA26 & PA09 */\ - *AT91C_PMC_PCER = TIMER_2_ID14; /* Enable clock for TC2*/\ - *AT91C_TCB_BMR = AT91C_TCB_TC2XC2S_NONE; /* No external clock signal */\ - *AT91C_TCB_BCR = 0x0; /* Clear SYNC */\ - *AT91C_TC2_CMR = *AT91C_TC2_CMR & 0X00000000; /* Clear all bits in TC1_CMR */\ - *AT91C_TC2_CMR = *AT91C_TC2_CMR & 0xFFFF7FFF; /* Enable capture mode */\ - *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_CLKS_TIMER_DIV5_CLOCK; /* Set clock for timer to Clock5 = div 1024*/\ + *AT91C_PMC_PCER = TIMER_2_ID14; /* Enable clock for TC2*/\ + *AT91C_TCB_BMR = AT91C_TCB_TC2XC2S_NONE; /* No external clock signal */\ + *AT91C_TCB_BCR = 0x0; /* Clear SYNC */\ + *AT91C_TC2_CMR = *AT91C_TC2_CMR & 0X00000000; /* Clear all bits in TC1_CMR */\ + *AT91C_TC2_CMR = *AT91C_TC2_CMR & 0xFFFF7FFF; /* Enable capture mode */\ + *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_CLKS_TIMER_DIV5_CLOCK; /* Set clock for timer to Clock5 = div 1024*/\ *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_ABETRG; /* Use external trigger for TIO2*/\ - *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_EEVTEDG_BOTH; /* Trigger on both edges */\ + *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_EEVTEDG_BOTH; /* Trigger on both edges */\ *AT91C_TC2_CMR = *AT91C_TC2_CMR | AT91C_TC_LDRA_RISING; /* RA loading register set */\ *AT91C_AIC_IDCR = TIMER_2_ID14; /* Irq controller setup */\ AT91C_AIC_SVR[14] = (unsigned int)CaptureBInt; \ @@ -145,13 +145,13 @@ static TACHOPARAMETERS MotorTachoValue[3]; *AT91C_PIOA_PPUDR = MOTOR_C_INT | MOTOR_C_DIR; /* Disable Pull Up resistor on PA0 & PA08 */\ *AT91C_PIOA_ODR = MOTOR_C_DIR; /* PA08 set to input */\ *AT91C_PIOA_IFER = MOTOR_C_INT | MOTOR_C_DIR; /* Enable filter on PA26 & PA09 */\ - *AT91C_PMC_PCER = TIMER_0_ID12; /* Enable clock for TC0*/\ - *AT91C_TCB_BMR = AT91C_TCB_TC0XC0S_NONE; /* No external clock signal */\ - *AT91C_TC0_CMR = *AT91C_TC0_CMR & 0X00000000; /* Clear all bits in TC0_CMR */\ - *AT91C_TC0_CMR = *AT91C_TC0_CMR & 0xFFFF7FFF; /* Enable capture mode */\ - *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_CLKS_TIMER_DIV5_CLOCK; /* Set clock for timer to Clock5 = div 1024*/\ - *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_ABETRG; /* Use external trigger for TI0*/\ - *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_EEVTEDG_BOTH; /* Trigger on both edges */\ + *AT91C_PMC_PCER = TIMER_0_ID12; /* Enable clock for TC0*/\ + *AT91C_TCB_BMR = AT91C_TCB_TC0XC0S_NONE; /* No external clock signal */\ + *AT91C_TC0_CMR = *AT91C_TC0_CMR & 0X00000000; /* Clear all bits in TC0_CMR */\ + *AT91C_TC0_CMR = *AT91C_TC0_CMR & 0xFFFF7FFF; /* Enable capture mode */\ + *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_CLKS_TIMER_DIV5_CLOCK; /* Set clock for timer to Clock5 = div 1024*/\ + *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_ABETRG; /* Use external trigger for TI0*/\ + *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_EEVTEDG_BOTH; /* Trigger on both edges */\ *AT91C_TC0_CMR = *AT91C_TC0_CMR | AT91C_TC_LDRA_RISING; /* RA loading register set */\ *AT91C_AIC_IDCR = TIMER_0_ID12; /* Disable interrupt */\ AT91C_AIC_SVR[12] = (unsigned int)CaptureCInt; \ @@ -270,29 +270,29 @@ __ramfunc void CaptureCInt(void) } } -#define OUTPUTExit {\ - *AT91C_AIC_IDCR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Disable interrupts for the timers */\ - *AT91C_AIC_ICCR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Clear penting interrupt register for timers*/\ - *AT91C_PMC_PCDR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Disable the clock for each of the timers*/\ - *AT91C_PIOA_PER = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Enable PIO on PA15, PA11, PA26, PA09, PA27 & PA08 */\ - *AT91C_PIOA_ODR = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Set to input PA15, PA11, PA26, PA09, PA27 & PA08 */\ - *AT91C_PIOA_PPUDR = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Enable Pullup on PA15, PA11, PA26, PA09, PA27 & PA08 */\ - } +#define OUTPUTExit {\ + *AT91C_AIC_IDCR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Disable interrupts for the timers */\ + *AT91C_AIC_ICCR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Clear penting interrupt register for timers*/\ + *AT91C_PMC_PCDR = TIMER_0_ID12 | TIMER_1_ID13 | TIMER_2_ID14; /* Disable the clock for each of the timers*/\ + *AT91C_PIOA_PER = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Enable PIO on PA15, PA11, PA26, PA09, PA27 & PA08 */\ + *AT91C_PIOA_ODR = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Set to input PA15, PA11, PA26, PA09, PA27 & PA08 */\ + *AT91C_PIOA_PPUDR = MOTOR_A_DIR | MOTOR_A_INT | MOTOR_B_DIR | MOTOR_B_INT | MOTOR_C_DIR | MOTOR_C_INT; /* Enable Pullup on PA15, PA11, PA26, PA09, PA27 & PA08 */\ + } -#define TACHOCountReset(MotorNr) {\ - MotorTachoValue[MotorNr].TachoCountTable = 0;\ - MotorTachoValue[MotorNr].TachoCountTableOld = 0;\ - } +#define TACHOCountReset(MotorNr) {\ + MotorTachoValue[MotorNr].TachoCountTable = 0;\ + MotorTachoValue[MotorNr].TachoCountTableOld = 0;\ + } #define TACHOCaptureReadResetAll(MotorDataA,MotorDataB,MotorDataC){\ - MotorDataA = (MotorTachoValue[MOTOR_A].TachoCountTable - MotorTachoValue[MOTOR_A].TachoCountTableOld);\ - MotorTachoValue[MOTOR_A].TachoCountTableOld = MotorTachoValue[MOTOR_A].TachoCountTable;\ - MotorDataB = (MotorTachoValue[MOTOR_B].TachoCountTable - MotorTachoValue[MOTOR_B].TachoCountTableOld);\ - MotorTachoValue[MOTOR_B].TachoCountTableOld = MotorTachoValue[MOTOR_B].TachoCountTable;\ - MotorDataC = (MotorTachoValue[MOTOR_C].TachoCountTable - MotorTachoValue[MOTOR_C].TachoCountTableOld);\ - MotorTachoValue[MOTOR_C].TachoCountTableOld = MotorTachoValue[MOTOR_C].TachoCountTable;\ - } + MotorDataA = (MotorTachoValue[MOTOR_A].TachoCountTable - MotorTachoValue[MOTOR_A].TachoCountTableOld);\ + MotorTachoValue[MOTOR_A].TachoCountTableOld = MotorTachoValue[MOTOR_A].TachoCountTable;\ + MotorDataB = (MotorTachoValue[MOTOR_B].TachoCountTable - MotorTachoValue[MOTOR_B].TachoCountTableOld);\ + MotorTachoValue[MOTOR_B].TachoCountTableOld = MotorTachoValue[MOTOR_B].TachoCountTable;\ + MotorDataC = (MotorTachoValue[MOTOR_C].TachoCountTable - MotorTachoValue[MOTOR_C].TachoCountTableOld);\ + MotorTachoValue[MOTOR_C].TachoCountTableOld = MotorTachoValue[MOTOR_C].TachoCountTable;\ + } -- cgit v1.2.3 From 5b2218485038b329377c6a83bd36bf5df1c43549 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Wed, 13 Oct 2010 16:47:42 +0000 Subject: Added memory manager system call git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@18 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 20 +++++++++++++++++++- AT91SAM7S256/Source/c_cmd.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 41136b0..4b25362 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -255,7 +255,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapDrawPolygon, cCmdWrapDrawEllipse, cCmdWrapDrawFont, // 95 - cCmdWrapUndefinedSysCall, + cCmdWrapMemoryManager, cCmdWrapUndefinedSysCall, cCmdWrapUndefinedSysCall, cCmdWrapUndefinedSysCall // 99 --> 100 system call slots @@ -9521,6 +9521,24 @@ NXT_STATUS cCmdWrapFileResize(UBYTE * ArgV[]) 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); +} + NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]) { return (NO_ERR); diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 3af20cd..489e0cc 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -905,6 +905,7 @@ 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 cCmdWrapUndefinedSysCall(UBYTE * ArgV[]); -- cgit v1.2.3 From 565424ed7a688f910f63fc1ce82e39ebf0dfb28f Mon Sep 17 00:00:00 2001 From: John Hansen Date: Sat, 16 Oct 2010 18:12:46 +0000 Subject: NBCNXC_131 git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc_128/trunk@21 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep | 4142 ++++++++++---------- .../SAM7S256/Tools/settings/LMS_ARM.cspy.bat | 8 +- AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt | 14 +- AT91SAM7S256/Source/BtTest.inc | 1 - AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt | 125 + AT91SAM7S256/Source/c_cmd.c | 194 +- AT91SAM7S256/Source/c_cmd.h | 13 +- AT91SAM7S256/Source/c_cmd.iom | 12 +- AT91SAM7S256/Source/c_cmd_drawing.inc | 2 +- AT91SAM7S256/Source/c_comm.c | 148 +- AT91SAM7S256/Source/c_comm.iom | 14 +- AT91SAM7S256/Source/c_display.c | 4 +- AT91SAM7S256/Source/c_input.c | 28 +- AT91SAM7S256/Source/c_loader.c | 5 +- AT91SAM7S256/Source/c_loader.iom | 6 +- AT91SAM7S256/Source/c_output.c | 2 +- AT91SAM7S256/Source/d_loader.c | 10 +- AT91SAM7S256/Source/d_loader.h | 6 +- AT91SAM7S256/Source/d_lowspeed.r | 44 +- AT91SAM7S256/Source/d_output.c | 366 +- 20 files changed, 2567 insertions(+), 2577 deletions(-) create mode 100644 AT91SAM7S256/Source/cCmdWriteIOMapOffsetsFile.txt (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep index 1570295..5fb29bc 100644 --- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep +++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep @@ -6,266 +6,303 @@ Benchmark + $PROJ_DIR$\Benchmark\Obj\d_usb.pbi + $PROJ_DIR$\Benchmark\Obj\d_input.r79 + $PROJ_DIR$\Benchmark\Obj\c_loader.r79 + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 + $PROJ_DIR$\Benchmark\Obj\c_comm.pbi + $PROJ_DIR$\..\..\Source\c_button.c $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\Benchmark\Obj\c_display.pbi - $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\Benchmark\Obj\d_display.r79 - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\..\..\Source\Submenu06.rms - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\Submenu04.rms + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\Submenu02.rms + $PROJ_DIR$\Benchmark\Obj\c_cmd.pbi + $PROJ_DIR$\Benchmark\Obj\d_hispeed.r79 + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\d_button.h + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\Benchmark\Obj\c_sound.pbi + $PROJ_DIR$\Benchmark\Obj\c_loader.pbi + $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi + $PROJ_DIR$\Benchmark\Obj\m_sched.r79 + $PROJ_DIR$\..\..\Source\d_loader.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 + $PROJ_DIR$\Benchmark\Obj\c_ui.pbi + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\Benchmark\Obj\d_loader.pbi $PROJ_DIR$\..\..\Source\modules.h - $PROJ_DIR$\Benchmark\Obj\d_bt.r79 - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\Benchmark\Obj\c_output.pbi - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt - $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\Benchmark\Obj\d_input.r79 $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\d_output.h $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_display.r $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\Benchmark\Obj\c_loader.r79 - $PROJ_DIR$\Benchmark\Obj\d_usb.pbi - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $PROJ_DIR$\Benchmark\Obj\d_timer.r79 - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\Benchmark\Obj\c_ui.pbi - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_button.h + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 + $PROJ_DIR$\Benchmark\Obj\d_display.r79 + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\Benchmark\Obj\c_display.pbi $PROJ_DIR$\Benchmark\Obj\d_button.pbi $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\d_display.h $PROJ_DIR$\Benchmark\Obj\Cstartup.r79 - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\Include\sam7s256.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\Benchmark\Obj\d_timer.r79 + $PROJ_DIR$\..\..\Source\BtTest.inc + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\Wait.txt + $TOOLKIT_DIR$\inc\xtls.h + $TOOLKIT_DIR$\inc\xlocaleuse.h $PROJ_DIR$\..\..\Source\c_loader.h - $PROJ_DIR$\..\..\Source\d_output.h $PROJ_DIR$\Benchmark\Obj\c_button.pbi $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\xlocaleuse.h $PROJ_DIR$\Benchmark\Obj\m_sched.pbi - $PROJ_DIR$\..\..\Source\RCXintro_9.txt $PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi - $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h $PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79 + $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\d_sound.h + $TOOLKIT_DIR$\inc\yvals.h $TOOLKIT_DIR$\inc\xlocale_c.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $PROJ_DIR$\Benchmark\Obj\c_ioctrl.pbi + $PROJ_DIR$\..\..\Source\d_hispeed.h + $PROJ_DIR$\Benchmark\Obj\c_sound.r79 + $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\..\..\Source\c_cmd.iom $PROJ_DIR$\..\..\Source\d_hispeed.r + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\..\Source\stdconst.h $PROJ_DIR$\Benchmark\Obj\c_cmd.r79 + $TOOLKIT_DIR$\inc\string.h + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt $PROJ_DIR$\Benchmark\Obj\c_output.r79 + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\sam7s256.h $PROJ_DIR$\Benchmark\Obj\d_bt.pbi $PROJ_DIR$\..\..\Source\Test2.txt $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 - $PROJ_DIR$\Benchmark\Obj\d_loader.pbi - $PROJ_DIR$\Benchmark\Obj\c_ioctrl.pbi - $PROJ_DIR$\Benchmark\Obj\c_sound.r79 - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $PROJ_DIR$\Benchmark\Obj\c_input.r79 - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\c_ui.iom $PROJ_DIR$\Benchmark\Obj\d_display.pbi $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\c_ui.h $PROJ_DIR$\..\..\Source\Ok.txt $PROJ_DIR$\Benchmark\Obj\c_display.r79 $PROJ_DIR$\Benchmark\Obj\d_input.pbi - $PROJ_DIR$\..\..\Source\RCXintro_2.txt $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\c_ui.h $PROJ_DIR$\..\..\Source\Devices.txt $PROJ_DIR$\Benchmark\Obj\c_button.r79 - $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt $PROJ_DIR$\..\..\Source\d_loader.r $PROJ_DIR$\Benchmark\Obj\c_comm.r79 $PROJ_DIR$\Benchmark\Obj\c_input.pbi - $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms $PROJ_DIR$\Benchmark\Obj\c_ui.r79 $PROJ_DIR$\Benchmark\Obj\d_button.r79 - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\Benchmark\Obj\d_bt.r79 + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\Benchmark\Obj\c_lowspeed.pbi $PROJ_DIR$\Benchmark\Obj\d_output.pbi $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\Benchmark\Obj\c_input.r79 $PROJ_DIR$\..\..\Source\c_ioctrl.iom $PROJ_DIR$\..\..\Source\Submenu07.rms $PROJ_DIR$\Benchmark\Obj\d_usb.r79 - $PROJ_DIR$\..\..\Source\RCXintro_3.txt $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.pbi - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\Benchmark\Obj\c_comm.pbi - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\Benchmark\Obj\d_loader.r79 - $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\Benchmark\Obj\c_output.pbi + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\Benchmark\Obj\d_sound.pbi + $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\d_timer.h $PROJ_DIR$\..\..\Source\Status.txt $PROJ_DIR$\..\..\Source\Step.txt $PROJ_DIR$\..\..\Source\c_sound.iom $PROJ_DIR$\Benchmark\Obj\d_sound.r79 - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h $PROJ_DIR$\..\..\Source\c_display.iom $PROJ_DIR$\Benchmark\Obj\d_output.r79 + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\Benchmark\Obj\d_loader.r79 + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\Benchmark\Obj\d_timer.pbi - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\Submenu04.rms - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\Benchmark\Obj\d_hispeed.r79 - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\Benchmark\Obj\c_cmd.pbi - $PROJ_DIR$\Benchmark\Obj\c_sound.pbi - $PROJ_DIR$\Benchmark\Obj\c_loader.pbi - $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi - $PROJ_DIR$\Benchmark\Obj\m_sched.r79 - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\..\Source\d_loader.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.iom - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\c_button.c - XLINK - 27 + BICOMP + 91 + + + ICCARM + 139 + + + BICOMP + 119 65 186 76 49 + + + ICCARM + 119 65 186 76 49 + + $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 68 + BICOMP + 45 - BICOMP - 176 + ICCARM + 120 - ICCARM - 50 15 66 136 17 133 53 147 8 151 92 181 26 150 143 139 76 156 117 78 183 34 58 52 90 116 + BICOMP + 119 65 116 197 165 193 130 175 76 177 179 58 72 39 172 189 107 42 63 56 85 92 121 12 181 - BICOMP - 50 15 66 136 17 133 53 147 8 151 92 181 26 150 143 139 76 156 78 183 34 58 52 90 116 + ICCARM + 119 65 116 197 165 193 130 175 76 177 179 58 72 39 172 189 107 42 182 63 56 85 92 121 12 181 - $PROJ_DIR$\..\..\Source\c_comm.c + [ROOT_NODE] - ICCARM - 111 + XLINK + 5 + + + + $PROJ_DIR$\..\..\Source\c_comm.c + BICOMP - 130 + 8 - - ICCARM - 50 15 92 133 124 53 66 151 121 95 84 97 52 76 156 117 78 183 34 58 2 105 12 41 90 59 65 83 24 19 + 142 + + BICOMP - 50 15 92 133 124 53 66 151 121 95 84 97 52 76 156 78 183 34 58 2 105 12 41 90 59 65 83 24 19 + 119 65 179 193 161 130 116 177 180 152 113 171 121 107 42 63 56 85 92 82 137 88 79 12 89 108 115 66 125 + + + ICCARM + 119 65 179 193 161 130 116 177 180 152 113 171 121 107 42 182 63 56 85 92 82 137 88 79 12 89 108 115 66 125 - $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\c_display.c + + + BICOMP + 77 + + + ICCARM + 135 + + - BILINK - 128 57 176 130 6 112 81 178 118 18 177 36 70 40 99 179 103 86 80 62 119 144 153 30 60 + BICOMP + 121 107 42 63 56 85 92 119 65 177 40 80 + + + ICCARM + 121 107 42 182 63 56 85 92 119 65 177 40 80 @@ -273,22 +310,22 @@ $PROJ_DIR$\..\..\Source\c_input.c - ICCARM - 89 + BICOMP + 143 - BICOMP - 112 + ICCARM + 160 - ICCARM - 50 15 93 17 28 136 + BICOMP + 119 65 153 165 4 197 - BICOMP - 50 15 93 17 28 136 + ICCARM + 119 65 153 165 4 197 @@ -296,22 +333,22 @@ $PROJ_DIR$\..\..\Source\c_ioctrl.c - ICCARM - 64 + BICOMP + 112 - BICOMP - 81 + ICCARM + 103 - ICCARM - 50 15 124 49 162 + BICOMP + 119 65 161 122 47 - BICOMP - 50 15 124 49 162 + ICCARM + 119 65 161 122 47 @@ -319,22 +356,22 @@ $PROJ_DIR$\..\..\Source\c_loader.c - ICCARM - 29 + BICOMP + 52 - BICOMP - 178 + ICCARM + 2 - ICCARM - 50 15 133 124 182 55 + BICOMP + 119 65 193 161 55 90 - BICOMP - 50 15 133 124 182 55 + ICCARM + 119 65 193 161 55 90 @@ -342,22 +379,22 @@ $PROJ_DIR$\..\..\Source\c_lowspeed.c - ICCARM - 21 + BICOMP + 157 - BICOMP - 118 + ICCARM + 7 - ICCARM - 50 15 181 17 158 54 + BICOMP + 119 65 58 165 43 101 - BICOMP - 50 15 181 17 158 54 + ICCARM + 119 65 58 165 43 101 @@ -365,22 +402,22 @@ $PROJ_DIR$\..\..\Source\c_output.c - ICCARM - 69 + BICOMP + 167 - BICOMP - 18 + ICCARM + 124 - ICCARM - 139 76 156 117 78 183 34 58 47 50 15 136 174 56 151 + BICOMP + 189 107 42 63 56 85 92 102 119 65 197 50 68 177 - BICOMP - 139 76 156 78 183 34 58 47 50 15 136 174 56 151 + ICCARM + 189 107 42 182 63 56 85 92 102 119 65 197 50 68 177 @@ -388,22 +425,22 @@ $PROJ_DIR$\..\..\Source\c_sound.c - ICCARM - 82 + BICOMP + 51 - BICOMP - 177 + ICCARM + 114 - ICCARM - 90 76 156 117 78 183 34 58 52 50 15 147 133 123 75 + BICOMP + 12 107 42 63 56 85 92 121 119 65 175 193 149 106 - BICOMP - 90 76 156 78 183 34 58 52 50 15 147 133 123 75 + ICCARM + 12 107 42 182 63 56 85 92 121 119 65 175 193 149 106 @@ -411,22 +448,22 @@ $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 114 + BICOMP + 60 - BICOMP - 36 + ICCARM + 146 - ICCARM - 139 76 156 117 78 183 34 58 52 2 105 12 41 90 59 65 83 24 19 50 15 53 106 31 51 88 151 133 8 147 17 136 124 66 92 181 122 37 3 146 137 140 197 101 13 85 141 38 46 104 127 63 14 44 159 22 61 109 20 149 132 113 91 134 145 107 129 73 96 100 160 155 35 11 125 195 32 131 71 + BICOMP + 189 107 42 63 56 85 92 121 82 137 88 79 12 89 108 115 66 125 119 65 130 133 155 126 100 177 193 76 175 165 197 161 116 179 58 183 67 151 174 184 188 57 134 87 95 190 61 111 140 3 118 168 109 48 70 97 144 123 38 185 166 156 187 173 138 195 104 6 132 44 41 86 145 162 35 84 192 128 - BICOMP - 139 76 156 78 183 34 58 52 2 105 12 41 90 59 65 83 24 19 50 15 53 106 31 51 88 151 133 8 147 17 136 124 66 92 181 122 37 3 146 137 140 197 101 13 85 141 38 46 104 127 63 14 44 159 22 61 109 20 149 132 113 91 134 145 107 129 73 96 100 160 155 35 11 125 195 32 131 71 + ICCARM + 189 107 42 182 63 56 85 92 121 82 137 88 79 12 89 108 115 66 125 119 65 130 133 155 126 100 177 193 76 175 165 197 161 116 179 58 183 67 151 174 184 188 57 134 87 95 190 61 111 140 3 118 168 109 48 70 97 144 123 38 185 166 156 187 173 138 195 104 6 132 44 41 86 145 162 35 84 192 128 @@ -435,13 +472,13 @@ AARM - 43 + 81 AARM - 72 + 129 @@ -449,22 +486,22 @@ $PROJ_DIR$\..\Include\Cstartup_SAM7.c - ICCARM - 7 + BICOMP + 164 - BICOMP - 128 + ICCARM + 150 - ICCARM - 48 + BICOMP + 98 - BICOMP - 48 + ICCARM + 98 @@ -472,22 +509,22 @@ $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 16 + BICOMP + 127 - BICOMP - 70 + ICCARM + 148 - ICCARM - 50 15 31 51 88 97 77 52 76 156 117 78 183 34 58 + BICOMP + 119 65 155 126 100 171 62 121 107 42 63 56 85 92 - BICOMP - 50 15 31 51 88 97 77 52 76 156 78 183 34 58 + ICCARM + 119 65 155 126 100 171 62 121 107 42 182 63 56 85 92 @@ -495,160 +532,114 @@ $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 115 + BICOMP + 78 - BICOMP - 40 + ICCARM + 147 - ICCARM - 50 31 51 88 39 135 + BICOMP + 119 155 126 100 49 194 - BICOMP - 50 31 51 88 39 135 + ICCARM + 119 155 126 100 49 194 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 102 + BICOMP + 131 - BICOMP - 6 + ICCARM + 75 - ICCARM - 52 76 156 117 78 183 34 58 50 15 151 157 1 + BICOMP + 119 155 126 100 121 107 42 63 56 85 92 80 71 - BICOMP - 52 76 156 78 183 34 58 50 15 151 157 1 + ICCARM + 119 155 126 100 80 71 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 108 + BICOMP + 53 - BICOMP - 57 + ICCARM + 46 - ICCARM - 50 15 138 8 39 + BICOMP + 119 155 126 100 113 117 - BICOMP - 50 15 138 8 39 + ICCARM + 119 155 126 100 113 117 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 9 + BICOMP + 136 - BICOMP - 99 + ICCARM + 1 - ICCARM - 50 31 51 88 1 42 + BICOMP + 119 155 126 100 153 165 4 154 - BICOMP - 50 31 51 88 52 76 156 78 183 34 58 1 42 + ICCARM + 119 155 126 100 153 165 4 154 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - - ICCARM - 161 - - - BICOMP - 179 - - - - - ICCARM - 50 31 51 88 84 67 - BICOMP - 50 31 51 88 84 67 + 96 - - - - $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 23 - - - BICOMP - 103 + 59 - - ICCARM - 50 31 51 88 93 17 28 94 - - - BICOMP - 50 31 51 88 93 17 28 94 - - - - - $PROJ_DIR$\..\..\Source\d_ioctrl.c - - - ICCARM - 79 - BICOMP - 86 + 121 107 42 63 56 85 92 119 155 126 100 47 69 - - ICCARM - 52 76 156 117 78 183 34 58 50 31 51 88 162 25 - - - BICOMP - 52 76 156 78 183 34 58 50 31 51 88 162 25 + 121 107 42 182 63 56 85 92 119 155 126 100 47 69 @@ -656,22 +647,22 @@ $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 142 + BICOMP + 64 - BICOMP - 80 + ICCARM + 191 - ICCARM - 50 15 31 51 88 182 110 52 76 156 117 78 183 34 58 2 105 12 41 90 59 65 83 24 19 + BICOMP + 119 65 155 126 100 55 141 121 107 42 63 56 85 92 82 137 88 79 12 89 108 115 66 125 - BICOMP - 50 15 31 51 88 182 110 52 76 156 78 183 34 58 2 105 12 41 90 59 65 83 24 19 + ICCARM + 119 65 155 126 100 55 141 121 107 42 182 63 56 85 92 82 137 88 79 12 89 108 115 66 125 @@ -679,22 +670,22 @@ $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 4 + BICOMP + 94 - BICOMP - 62 + ICCARM + 74 - ICCARM - 50 31 51 88 54 120 + BICOMP + 119 155 126 100 101 159 - BICOMP - 50 31 51 88 54 120 + ICCARM + 119 155 126 100 101 159 @@ -702,22 +693,22 @@ $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 152 + BICOMP + 158 - BICOMP - 119 + ICCARM + 178 - ICCARM - 50 31 51 88 56 87 + BICOMP + 119 155 126 100 68 99 - BICOMP - 50 31 51 88 56 87 + ICCARM + 119 155 126 100 68 99 @@ -725,22 +716,22 @@ $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 148 + BICOMP + 169 - BICOMP - 144 + ICCARM + 176 - ICCARM - 50 31 51 88 75 74 + BICOMP + 119 155 126 100 106 105 - BICOMP - 50 31 51 88 75 74 + ICCARM + 119 155 126 100 106 105 @@ -748,22 +739,22 @@ $PROJ_DIR$\..\..\Source\d_timer.c - ICCARM - 33 + BICOMP + 196 - BICOMP - 153 + ICCARM + 83 - ICCARM - 50 31 51 88 143 154 + BICOMP + 119 155 126 100 172 37 - BICOMP - 50 31 51 88 143 154 + ICCARM + 119 155 126 100 172 37 @@ -771,22 +762,22 @@ $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 126 + BICOMP + 0 - BICOMP - 30 + ICCARM + 163 - ICCARM - 50 31 51 88 95 10 + BICOMP + 119 155 126 100 152 73 - BICOMP - 50 31 51 88 95 10 + ICCARM + 119 155 126 100 152 73 @@ -794,22 +785,31 @@ $PROJ_DIR$\..\..\Source\m_sched.c - ICCARM - 180 + BICOMP + 93 - BICOMP - 60 + ICCARM + 54 + + BICOMP + 119 65 155 126 100 110 180 153 165 186 76 90 149 40 43 50 72 39 116 122 133 + ICCARM - 50 15 31 51 88 45 121 93 17 138 8 55 123 157 158 174 26 150 66 49 106 + 119 65 155 126 100 110 180 153 165 186 76 90 149 40 43 50 72 39 116 122 133 + + + + $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + - BICOMP - 50 15 31 51 88 45 121 93 17 138 8 55 123 157 158 174 26 150 66 49 106 + BILINK + 164 91 45 8 77 143 112 52 157 167 51 60 127 78 131 53 136 96 64 94 158 169 196 0 93 @@ -824,126 +824,21 @@ Bin Output - $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\..\..\Source\Submenu06.rms - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\modules.h - $PROJ_DIR$\..\..\Source\c_input.iom - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_button.h - $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\Include\sam7s256.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $PROJ_DIR$\..\..\Source\c_loader.h - $PROJ_DIR$\..\..\Source\d_output.h - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\d_usb.h $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\Object\d_output.r79 - $PROJ_DIR$\..\Object\d_display.r79 - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\Object\d_usb.s - $PROJ_DIR$\..\Object\c_cmd.pbi - $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\d_timer.s - $PROJ_DIR$\..\Object\d_ioctrl.s - $PROJ_DIR$\..\Object\m_sched.r79 - $PROJ_DIR$\..\Object\d_loader.s - $PROJ_DIR$\..\Object\d_button.pbi - $PROJ_DIR$\..\Object\c_cmd.s - $PROJ_DIR$\..\Object\c_loader.s - $PROJ_DIR$\..\Object\d_output.s - $PROJ_DIR$\..\Object\d_input.r79 - $PROJ_DIR$\..\Object\d_usb.pbi - $PROJ_DIR$\..\Object\d_hispeed.s - $PROJ_DIR$\..\Object\c_input.s - $PROJ_DIR$\..\Object\Cstartup_SAM7.s - $PROJ_DIR$\..\Object\c_button.r79 - $PROJ_DIR$\..\Object\LMS_ARM.map - $PROJ_DIR$\..\Object\c_comm.s + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\Object\d_bt.r79 + $PROJ_DIR$\..\Object\d_button.s + $PROJ_DIR$\..\Object\c_led.r79 + $PROJ_DIR$\..\Object\d_input.pbi $PROJ_DIR$\..\Object\d_sound.pbi $PROJ_DIR$\..\Object\d_sound.s $PROJ_DIR$\..\Object\c_input.r79 $PROJ_DIR$\..\Object\d_ioctrl.pbi + $PROJ_DIR$\..\Object\d_display.r79 $PROJ_DIR$\..\Object\LMS_ARM.a79 $PROJ_DIR$\..\Object\c_output.r79 $PROJ_DIR$\..\Object\c_sound.r79 @@ -954,45 +849,55 @@ $PROJ_DIR$\..\Object\d_loader.r79 $PROJ_DIR$\..\Object\c_ui.s $PROJ_DIR$\..\Object\m_sched.s - $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\c_button.s - $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\Object\c_input.pbi - $PROJ_DIR$\..\Object\c_sound.s - $PROJ_DIR$\..\..\Source\d_led.r - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\at91SAM7S256_Remap.xcl - $PROJ_DIR$\..\Object\c_lowspeed.s - $PROJ_DIR$\..\Object\c_display.s - $PROJ_DIR$\..\Object\c_sound.pbi - $PROJ_DIR$\..\Object\d_bt.pbi - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\Object\d_lowspeed.s - $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\Object\c_display.pbi + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c $PROJ_DIR$\..\Object\c_ioctrl.r79 $PROJ_DIR$\..\Object\d_loader.pbi $PROJ_DIR$\..\Object\c_loader.r79 $PROJ_DIR$\..\Object\c_ioctrl.s $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\d_display.pbi + $PROJ_DIR$\..\..\Source\c_led.iom $PROJ_DIR$\..\Object\LMS_ARM.d79 - $TOOLKIT_DIR$\inc\limits.h - $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\Object\d_lowspeed.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi $PROJ_DIR$\..\Object\c_button.pbi $PROJ_DIR$\..\Object\d_sound.r79 $PROJ_DIR$\..\Object\c_comm.r79 - $PROJ_DIR$\..\..\Source\c_led.iom - $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 + $PROJ_DIR$\..\Object\d_lowspeed.pbi + $PROJ_DIR$\..\Object\d_hispeed.pbi $PROJ_DIR$\..\Object\c_output.s - $PROJ_DIR$\..\Object\d_lowspeed.r79 $PROJ_DIR$\..\Object\d_timer.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.s $PROJ_DIR$\..\Object\c_ioctrl.pbi $PROJ_DIR$\..\Object\d_ioctrl.r79 $PROJ_DIR$\..\Object\m_sched.pbi $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $TOOLKIT_DIR$\inc\math.h $PROJ_DIR$\..\Object\d_timer.pbi $PROJ_DIR$\..\Object\c_output.pbi $PROJ_DIR$\..\Object\d_bt.s @@ -1002,1139 +907,1131 @@ $PROJ_DIR$\..\Object\c_ui.pbi $PROJ_DIR$\..\Object\c_ui.r79 $PROJ_DIR$\..\Object\d_button.r79 - $PROJ_DIR$\..\Object\d_lowspeed.pbi - $PROJ_DIR$\..\Object\d_hispeed.pbi - $TOOLKIT_DIR$\inc\math.h $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\Object\d_bt.r79 - $PROJ_DIR$\..\Object\d_button.s - $PROJ_DIR$\..\Object\c_led.r79 - $PROJ_DIR$\..\Object\d_input.pbi - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\Object\d_led.r79 $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\Object\c_sound.s + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\at91SAM7S256_Remap.xcl + $PROJ_DIR$\..\Object\c_lowspeed.s + $PROJ_DIR$\..\Object\c_display.s + $PROJ_DIR$\..\Object\c_sound.pbi + $PROJ_DIR$\..\Object\d_bt.pbi + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\Object\d_lowspeed.s + $PROJ_DIR$\..\Object\c_cmd.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 + $PROJ_DIR$\..\Object\c_lowspeed.r79 + $PROJ_DIR$\..\Object\d_ioctrl.s + $PROJ_DIR$\..\Object\d_output.r79 + $PROJ_DIR$\..\Object\d_usb.s + $PROJ_DIR$\..\Object\c_cmd.pbi + $PROJ_DIR$\..\Object\c_display.pbi + $PROJ_DIR$\..\Object\m_sched.r79 + $PROJ_DIR$\..\Object\d_loader.s + $PROJ_DIR$\..\Object\d_button.pbi + $PROJ_DIR$\..\Object\c_cmd.s + $PROJ_DIR$\..\Object\c_loader.s + $PROJ_DIR$\..\Object\d_output.s + $PROJ_DIR$\..\Object\d_input.r79 + $PROJ_DIR$\..\Object\d_usb.pbi + $PROJ_DIR$\..\Object\d_hispeed.s + $PROJ_DIR$\..\Object\c_input.s + $PROJ_DIR$\..\Object\d_display.pbi + $PROJ_DIR$\..\Object\c_button.r79 + $PROJ_DIR$\..\Object\LMS_ARM.map + $PROJ_DIR$\..\Object\c_comm.s + $PROJ_DIR$\..\Object\d_timer.s + $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\c_input.pbi + $PROJ_DIR$\..\..\Source\d_timer.r $PROJ_DIR$\..\..\Source\RCXintro_12.txt $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h $PROJ_DIR$\..\..\Source\Submenu04.rms $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\c_display.h $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt $PROJ_DIR$\..\..\Source\Submenu02.rms $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\d_button.h $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\..\Source\d_loader.h $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\Object\c_display.r79 - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\Wait.txt + $TOOLKIT_DIR$\inc\xtls.h + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\c_loader.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\d_sound.h + $TOOLKIT_DIR$\inc\yvals.h + $TOOLKIT_DIR$\inc\xlocale_c.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\string.h + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\d_timer.h + $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\c_display.iom + $PROJ_DIR$\..\Object\c_lowspeed.pbi + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_output.iom - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\c_button.c - XLINK - 153 114 120 + BICOMP + 61 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 145 - - - BICOMP - 98 + 118 - ICCARM - 35 11 47 187 12 91 38 197 5 200 64 222 20 36 61 18 199 194 190 54 203 80 56 224 22 42 37 62 180 130 154 79 + BICOMP + 184 143 230 152 134 - BICOMP - 35 11 47 187 12 91 38 197 5 200 64 222 20 36 61 18 199 194 190 54 203 56 224 22 42 37 62 180 130 154 79 + ICCARM + 184 143 230 152 134 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 158 + BICOMP + 105 - BICOMP - 126 + ICCARM + 99 - ICCARM - 35 11 64 91 85 38 47 200 82 67 58 69 37 54 203 80 56 224 22 42 2 73 8 27 62 43 46 57 16 13 + BICOMP + 184 143 181 239 212 236 192 220 152 221 223 139 207 189 168 150 126 216 233 174 129 142 137 157 163 185 27 73 217 122 225 - BICOMP - 35 11 64 91 85 38 47 200 82 67 58 69 37 54 203 56 224 22 42 2 73 8 27 62 43 46 57 16 13 + ICCARM + 184 143 181 239 212 236 192 220 152 221 223 139 207 189 168 150 126 216 233 174 129 226 142 137 157 163 185 27 73 217 122 225 - $PROJ_DIR$\..\Object\d_usb.s + [ROOT_NODE] - AARM - 172 + XLINK + 58 119 15 - $PROJ_DIR$\..\Object\d_timer.s + $PROJ_DIR$\..\Object\d_button.s AARM - 163 + 82 - $PROJ_DIR$\..\Object\d_ioctrl.s + $PROJ_DIR$\..\Object\d_sound.s AARM - 165 + 62 - $PROJ_DIR$\..\Object\d_loader.s + $PROJ_DIR$\..\Object\d_display.s AARM - 127 + 14 - $PROJ_DIR$\..\Object\c_cmd.s + $PROJ_DIR$\..\Object\c_ui.s AARM - 145 + 81 - $PROJ_DIR$\..\Object\c_loader.s + $PROJ_DIR$\..\Object\m_sched.s AARM - 149 + 107 - $PROJ_DIR$\..\Object\d_output.s + $PROJ_DIR$\..\Object\c_button.s AARM - 94 + 118 - $PROJ_DIR$\..\Object\d_hispeed.s + $PROJ_DIR$\..\..\Source\c_comm.c - AARM - 155 + BICOMP + 21 - - - - $PROJ_DIR$\..\Object\c_input.s - - AARM - 118 + ICCARM + 63 - - - $PROJ_DIR$\..\Object\Cstartup_SAM7.s - + - AARM - 160 + BICOMP + 184 143 223 236 210 192 181 221 224 204 179 215 185 174 129 142 137 157 163 155 196 160 153 27 161 175 180 144 188 - - - - $PROJ_DIR$\..\Object\c_comm.s - - AARM - 158 + ICCARM + 184 143 223 236 210 192 181 221 224 204 179 215 185 174 129 226 142 137 157 163 155 196 160 153 27 161 175 180 144 188 - + - $PROJ_DIR$\..\Object\d_sound.s + $PROJ_DIR$\..\..\Source\c_display.c - AARM - 157 + BICOMP + 106 - - - - $PROJ_DIR$\..\Object\d_display.s - - AARM - 95 + ICCARM + 87 - - - $PROJ_DIR$\..\Object\c_ui.s - + - AARM - 176 + BICOMP + 185 174 129 142 137 157 163 184 143 221 127 154 - - - - $PROJ_DIR$\..\Object\m_sched.s - - AARM - 102 + ICCARM + 185 174 129 226 142 137 157 163 184 143 221 127 154 - + - $PROJ_DIR$\..\Object\c_button.s + $PROJ_DIR$\..\..\Source\c_input.c - AARM - 113 + BICOMP + 123 - - - - $PROJ_DIR$\..\..\Source\d_led.c - ICCARM - 96 + 12 + + BICOMP + 184 143 205 212 1 239 236 185 174 129 142 137 157 163 + ICCARM - 35 20 36 61 181 135 + 184 143 205 212 1 239 236 185 174 129 226 142 137 157 163 - $PROJ_DIR$\..\Object\c_sound.s + $PROJ_DIR$\..\..\Source\c_ioctrl.c - AARM - 122 + BICOMP + 69 - - - - $PROJ_DIR$\..\Object\c_lowspeed.s - - AARM - 99 + ICCARM + 52 - - - $PROJ_DIR$\..\Object\c_display.s - + - AARM - 225 + BICOMP + 184 143 210 186 132 - - - - $PROJ_DIR$\..\Object\d_lowspeed.s - - AARM - 162 + ICCARM + 184 143 210 186 132 - + - $PROJ_DIR$\..\Object\c_ioctrl.s + $PROJ_DIR$\..\..\Source\c_loader.c - AARM - 147 + BICOMP + 20 + + + ICCARM + 54 - - - $PROJ_DIR$\..\Object\LMS_ARM.pbd - BILINK - 168 156 98 126 146 133 164 125 92 170 141 175 142 104 152 179 185 119 148 178 124 116 169 109 166 + BICOMP + 184 143 236 210 136 162 185 174 129 142 137 157 163 + + + ICCARM + 184 143 236 210 136 162 185 174 129 226 142 137 157 163 - $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\..\Source\c_lowspeed.c - XLINK - 114 120 + BICOMP + 222 + + + ICCARM + 101 - XLINK - 138 173 160 113 145 158 225 118 147 149 99 121 122 176 182 177 95 155 108 165 127 162 94 157 163 172 102 167 + BICOMP + 184 143 139 212 130 169 + + + ICCARM + 184 143 139 212 130 169 - $PROJ_DIR$\..\Object\c_output.s + $PROJ_DIR$\..\..\Source\c_output.c - AARM - 121 + BICOMP + 75 - - - - $PROJ_DIR$\..\Object\d_bt.s - - AARM - 182 + ICCARM + 16 - - - $PROJ_DIR$\..\Object\d_input.s - + - AARM - 108 + BICOMP + 233 174 129 142 137 157 163 170 184 143 239 135 146 221 - - - - $PROJ_DIR$\..\Object\d_button.s - - AARM - 177 + ICCARM + 233 174 129 226 142 137 157 163 170 184 143 239 135 146 221 - + - $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\..\Source\c_sound.c + + BICOMP + 95 + ICCARM - 184 + 17 + + BICOMP + 27 174 129 142 137 157 163 185 184 143 220 236 202 173 + ICCARM - 35 11 159 136 181 + 27 174 129 226 142 137 157 163 185 184 143 220 236 202 173 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 118 + BICOMP + 80 - BICOMP - 133 + ICCARM + 81 - ICCARM - 35 11 65 12 19 187 91 37 54 203 80 56 224 22 42 + BICOMP + 233 174 129 142 137 157 163 185 155 196 160 153 27 161 175 180 144 188 184 143 192 194 207 189 168 221 236 152 220 212 239 210 181 223 139 227 145 203 219 228 232 138 195 159 164 234 140 178 198 0 183 214 176 133 148 165 200 187 125 229 213 208 231 218 197 238 171 2 193 131 91 128 158 201 211 50 156 235 190 - BICOMP - 35 11 65 12 19 187 91 37 54 203 56 224 22 42 + ICCARM + 233 174 129 226 142 137 157 163 185 155 196 160 153 27 161 175 180 144 188 184 143 192 194 207 189 168 221 236 152 220 212 239 210 181 223 139 227 145 203 219 228 232 138 195 159 164 234 140 178 198 0 183 214 176 133 148 165 200 187 125 229 213 208 231 218 197 238 171 2 193 131 91 128 158 201 211 50 156 235 190 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\Include\Cstartup.s79 - ICCARM - 147 - - - BICOMP - 164 + AARM + 78 - ICCARM - 35 11 85 34 208 - - - BICOMP - 35 11 85 34 208 + AARM + 191 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - ICCARM - 149 + BICOMP + 60 - BICOMP - 125 + ICCARM + 100 - ICCARM - 35 11 91 85 223 40 37 54 203 80 56 224 22 42 + BICOMP + 166 - BICOMP - 35 11 91 85 223 40 37 54 203 56 224 22 42 + ICCARM + 166 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 99 + BICOMP + 96 - BICOMP - 92 + ICCARM + 6 - ICCARM - 35 11 222 12 205 39 + BICOMP + 184 143 207 189 168 215 141 185 174 129 142 137 157 163 - BICOMP - 35 11 222 12 205 39 + ICCARM + 184 143 207 189 168 215 141 185 174 129 226 142 137 157 163 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 121 + BICOMP + 109 - BICOMP - 170 + ICCARM + 82 - ICCARM - 190 54 203 80 56 224 22 42 32 35 11 187 220 41 200 + BICOMP + 184 207 189 168 134 237 - BICOMP - 190 54 203 56 224 22 42 32 35 11 187 220 41 200 + ICCARM + 184 207 189 168 134 237 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 122 + BICOMP + 117 - BICOMP - 141 + ICCARM + 14 - ICCARM - 62 54 203 80 56 224 22 42 37 35 11 197 91 84 53 + BICOMP + 184 207 189 168 154 149 - BICOMP - 62 54 203 56 224 22 42 37 35 11 197 91 84 53 + ICCARM + 184 207 189 168 154 149 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - - ICCARM - 176 - BICOMP - 175 + 65 - - ICCARM - 190 54 203 80 56 224 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 200 91 5 197 12 187 85 47 64 222 83 24 3 196 188 192 239 71 9 59 193 25 31 72 87 45 10 29 206 15 44 76 14 198 90 78 63 93 195 75 88 51 68 70 207 137 202 23 7 86 237 21 89 49 + 90 + + BICOMP - 190 54 203 56 224 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 200 91 5 197 12 187 85 47 64 222 83 24 3 196 188 192 239 71 9 59 193 25 31 72 87 45 10 29 206 15 44 76 14 198 90 78 63 93 195 75 88 51 68 70 207 137 202 23 7 86 237 21 89 49 - - - - - $PROJ_DIR$\..\Include\Cstartup.s79 - - - AARM - 173 + 184 207 189 168 179 182 - - - AARM - 50 + ICCARM + 184 207 189 168 179 182 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 160 + BICOMP + 9 - BICOMP - 168 + ICCARM + 113 - ICCARM - 33 + BICOMP + 184 207 189 168 205 212 1 206 - BICOMP - 33 + ICCARM + 184 207 189 168 205 212 1 206 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 182 + BICOMP + 13 - BICOMP - 142 + ICCARM + 70 - ICCARM - 35 11 20 36 61 69 55 37 54 203 80 56 224 22 42 + BICOMP + 185 174 129 142 137 157 163 184 207 189 168 132 147 - BICOMP - 35 11 20 36 61 69 55 37 54 203 56 224 22 42 + ICCARM + 185 174 129 226 142 137 157 163 184 207 189 168 132 147 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 177 + BICOMP + 53 - BICOMP - 104 + ICCARM + 22 - ICCARM - 35 20 36 61 26 186 + BICOMP + 184 143 207 189 168 136 199 185 174 129 142 137 157 163 155 196 160 153 27 161 175 180 144 188 - BICOMP - 35 20 36 61 26 186 + ICCARM + 184 143 207 189 168 136 199 185 174 129 226 142 137 157 163 155 196 160 153 27 161 175 180 144 188 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 225 + BICOMP + 64 - BICOMP - 146 + ICCARM + 59 - ICCARM - 37 54 203 80 56 224 22 42 35 11 200 204 1 + BICOMP + 184 207 189 168 169 209 - BICOMP - 37 54 203 56 224 22 42 35 11 200 204 1 + ICCARM + 184 207 189 168 169 209 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 113 + BICOMP + 19 - BICOMP - 156 + ICCARM + 103 - ICCARM - 35 11 189 5 26 + BICOMP + 184 207 189 168 146 167 - BICOMP - 35 11 189 5 26 + ICCARM + 184 207 189 168 146 167 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 95 + BICOMP + 10 - BICOMP - 152 + ICCARM + 62 - ICCARM - 35 20 36 61 1 28 + BICOMP + 184 207 189 168 173 172 97 - BICOMP - 35 20 36 61 1 28 + ICCARM + 184 207 189 168 173 172 97 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_timer.c - ICCARM - 155 + BICOMP + 74 - BICOMP - 179 + ICCARM + 67 - ICCARM - 35 20 36 61 58 48 + BICOMP + 184 207 189 168 216 124 - BICOMP - 35 20 36 61 58 48 + ICCARM + 184 207 189 168 216 124 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 108 + BICOMP + 114 - BICOMP - 185 + ICCARM + 77 - ICCARM - 35 20 36 61 65 12 19 66 + BICOMP + 184 207 189 168 204 151 - BICOMP - 35 20 36 61 65 12 19 66 + ICCARM + 184 207 189 168 204 151 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\m_sched.c - ICCARM - 165 + BICOMP + 71 - BICOMP - 119 + ICCARM + 107 - ICCARM - 37 54 203 80 56 224 22 42 35 20 36 61 208 17 + BICOMP + 184 143 207 189 168 177 224 205 212 230 152 162 202 127 130 135 150 126 181 186 194 - BICOMP - 37 54 203 56 224 22 42 35 20 36 61 208 17 + ICCARM + 184 143 207 189 168 177 224 205 212 230 152 162 202 127 130 135 150 126 181 186 194 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\Object\c_ioctrl.s - ICCARM - 127 - - - BICOMP - 148 + AARM + 52 + + + $PROJ_DIR$\..\Object\LMS_ARM.pbd - ICCARM - 35 11 20 36 61 223 77 37 54 203 80 56 224 22 42 2 73 8 27 62 43 46 57 16 13 - - - BICOMP - 35 11 20 36 61 223 77 37 54 203 56 224 22 42 2 73 8 27 62 43 46 57 16 13 + BILINK + 60 61 105 21 106 123 69 20 222 75 95 80 96 109 117 65 9 13 53 64 19 10 74 114 71 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Object\LMS_ARM.d79 - ICCARM - 162 - - - BICOMP - 178 + XLINK + 119 15 - ICCARM - 35 20 36 61 39 81 - - - BICOMP - 35 20 36 61 39 81 + XLINK + 92 78 100 118 99 63 87 12 52 54 101 16 17 81 6 82 14 90 113 70 22 59 103 62 67 77 107 72 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Object\c_output.s - ICCARM - 94 + AARM + 16 + + + + $PROJ_DIR$\..\Object\Cstartup_SAM7.s + - BICOMP - 124 + AARM + 100 - + + + $PROJ_DIR$\..\Object\d_bt.s + - ICCARM - 35 20 36 61 41 60 + AARM + 6 + + + + $PROJ_DIR$\..\Object\d_input.s + - BICOMP - 35 20 36 61 41 60 + AARM + 113 - + - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\c_led.c ICCARM - 157 - - - BICOMP - 116 + 8 ICCARM - 35 20 36 61 53 52 143 - - - BICOMP - 35 20 36 61 53 52 143 + 184 143 57 89 83 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 163 - - - BICOMP - 169 + 84 ICCARM - 35 20 36 61 194 201 - - - BICOMP - 35 20 36 61 194 201 + 184 207 189 168 83 5 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\Object\c_sound.s - ICCARM - 172 + AARM + 17 - - BICOMP - 109 + + + + $PROJ_DIR$\..\Object\c_lowspeed.s + + + AARM + 101 - + + + $PROJ_DIR$\..\Object\c_display.s + - ICCARM - 35 20 36 61 67 6 + AARM + 87 + + + + $PROJ_DIR$\..\Object\d_lowspeed.s + - BICOMP - 35 20 36 61 67 6 + AARM + 59 - + - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\Object\d_ioctrl.s - ICCARM - 102 + AARM + 70 + + + + + $PROJ_DIR$\..\Object\d_usb.s + + + AARM + 77 + + + + $PROJ_DIR$\..\Object\d_loader.s + - BICOMP - 166 + AARM + 22 - + + + $PROJ_DIR$\..\Object\c_cmd.s + - ICCARM - 35 11 20 36 61 30 82 65 12 189 5 40 84 204 205 220 18 199 47 34 74 + AARM + 99 + + + + $PROJ_DIR$\..\Object\c_loader.s + - BICOMP - 35 11 20 36 61 30 82 65 12 189 5 40 84 204 205 220 18 199 47 34 74 + AARM + 54 - + + + + $PROJ_DIR$\..\Object\d_output.s + + + AARM + 103 + + + + + $PROJ_DIR$\..\Object\d_hispeed.s + + + AARM + 90 + + + + + $PROJ_DIR$\..\Object\c_input.s + + + AARM + 12 + + + + + $PROJ_DIR$\..\Object\c_comm.s + + + AARM + 63 + + + + + $PROJ_DIR$\..\Object\d_timer.s + + + AARM + 67 + + Flash Debug - $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\..\..\Source\Submenu06.rms - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\modules.h - $PROJ_DIR$\..\..\Source\c_input.iom - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_button.h - $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\Include\sam7s256.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $PROJ_DIR$\..\..\Source\c_loader.h - $PROJ_DIR$\..\..\Source\d_output.h - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\d_usb.h $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\Object\d_output.r79 - $PROJ_DIR$\..\Object\d_display.r79 - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\Object\c_cmd.pbi - $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\m_sched.r79 - $PROJ_DIR$\..\Object\d_button.pbi - $PROJ_DIR$\..\Object\d_input.r79 - $PROJ_DIR$\..\Object\d_usb.pbi - $PROJ_DIR$\..\..\Source\d_avrcomm.h - $PROJ_DIR$\..\..\Source\c_bt.c - $PROJ_DIR$\..\Object\c_button.r79 - $PROJ_DIR$\..\Object\LMS_ARM.map + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\Object\d_bt.r79 + $PROJ_DIR$\..\Object\c_led.r79 + $PROJ_DIR$\..\Object\d_input.pbi $PROJ_DIR$\..\Object\d_sound.pbi $PROJ_DIR$\..\Object\c_input.r79 $PROJ_DIR$\..\Object\d_ioctrl.pbi + $PROJ_DIR$\..\Object\d_display.r79 $PROJ_DIR$\..\Object\c_output.r79 $PROJ_DIR$\..\Object\c_sound.r79 $PROJ_DIR$\..\Object\d_output.pbi $PROJ_DIR$\..\Object\c_loader.pbi $PROJ_DIR$\..\Object\c_comm.pbi $PROJ_DIR$\..\Object\d_loader.r79 - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\Object\c_input.pbi - $PROJ_DIR$\..\..\Source\d_led.r - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\at91SAM7S256_Remap.xcl - $PROJ_DIR$\..\Object\c_sound.pbi - $PROJ_DIR$\..\Object\d_bt.pbi - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\Object\c_display.pbi - $PROJ_DIR$\..\Object\c_ioctrl.r79 - $PROJ_DIR$\..\Object\d_loader.pbi - $PROJ_DIR$\..\Object\c_loader.r79 - $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\d_display.pbi - $PROJ_DIR$\..\Object\LMS_ARM.d79 - $TOOLKIT_DIR$\inc\limits.h - $PROJ_DIR$\..\Object\d_hispeed.r79 - $PROJ_DIR$\..\Object\c_button.pbi - $PROJ_DIR$\..\Object\d_sound.r79 - $PROJ_DIR$\..\Object\c_comm.r79 - $PROJ_DIR$\..\..\Source\c_led.iom - $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 - $PROJ_DIR$\..\Object\d_lowspeed.r79 - $PROJ_DIR$\..\Object\d_timer.r79 - $PROJ_DIR$\..\Object\c_ioctrl.pbi - $PROJ_DIR$\..\Object\d_ioctrl.r79 - $PROJ_DIR$\..\Object\m_sched.pbi - $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi - $PROJ_DIR$\..\Object\d_timer.pbi - $PROJ_DIR$\..\Object\c_output.pbi - $PROJ_DIR$\..\Object\d_usb.r79 - $PROJ_DIR$\..\Object\Cstartup.r79 - $PROJ_DIR$\..\Object\c_ui.pbi - $PROJ_DIR$\..\Object\c_ui.r79 - $PROJ_DIR$\..\Object\d_button.r79 + $PROJ_DIR$\..\..\Source\c_bt.c + $PROJ_DIR$\..\..\Source\c_net.c + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\Object\c_ioctrl.r79 + $PROJ_DIR$\..\Object\d_loader.pbi + $PROJ_DIR$\..\Object\c_loader.r79 + $PROJ_DIR$\..\Object\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\c_led.iom + $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\d_lowspeed.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\c_button.pbi + $PROJ_DIR$\..\Object\d_sound.r79 + $PROJ_DIR$\..\Object\c_comm.r79 $PROJ_DIR$\..\Object\d_lowspeed.pbi $PROJ_DIR$\..\Object\d_hispeed.pbi + $PROJ_DIR$\..\Object\d_timer.r79 + $PROJ_DIR$\..\Object\c_ioctrl.pbi + $PROJ_DIR$\..\Object\d_ioctrl.r79 + $PROJ_DIR$\..\Object\m_sched.pbi + $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\Object\c_output.pbi + $PROJ_DIR$\..\Object\d_usb.r79 + $PROJ_DIR$\..\Object\Cstartup.r79 + $PROJ_DIR$\..\Object\c_ui.pbi + $PROJ_DIR$\..\Object\c_ui.r79 + $PROJ_DIR$\..\Object\d_button.r79 $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\Object\d_bt.r79 - $PROJ_DIR$\..\Object\c_led.r79 - $PROJ_DIR$\..\Object\d_input.pbi - $PROJ_DIR$\..\..\Source\d_sensor.c - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\Source\c_usb.iom + $PROJ_DIR$\..\Object\d_led.r79 + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\..\Source\d_avrcomm.h $PROJ_DIR$\..\..\Source\c_net.h $PROJ_DIR$\..\Object\c_hispeed.r79 - $PROJ_DIR$\..\..\Source\c_net.c - $PROJ_DIR$\..\..\Source\d_net.c - $PROJ_DIR$\..\..\Source\d_motor.c - $PROJ_DIR$\..\..\Source\c_usb.h - $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h - $PROJ_DIR$\..\..\Source\c_avrcomm.h - $PROJ_DIR$\..\..\Source\c_hispeed.iom - $PROJ_DIR$\..\..\Source\c_hispeed.c - $PROJ_DIR$\..\..\Source\d_motor.h - $PROJ_DIR$\..\..\Source\d_motor.r - $PROJ_DIR$\..\..\Source\d_sensor.h - $PROJ_DIR$\..\..\Source\c_sensor.iom - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_usb.c $PROJ_DIR$\..\Object\c_net.r79 - $PROJ_DIR$\..\..\Source\c_avrcomm.c - $PROJ_DIR$\..\..\Source\c_hispeed.h - $PROJ_DIR$\..\Object\c_avrcomm.r79 + $PROJ_DIR$\..\..\Source\c_bt.iom $PROJ_DIR$\..\..\Source\c_motor.c $PROJ_DIR$\..\..\Source\d_sensor.r $PROJ_DIR$\..\Object\d_avrcomm.r79 @@ -2143,959 +2040,1062 @@ $PROJ_DIR$\..\..\Source\c_sensor.c $PROJ_DIR$\..\..\Source\c_motor.iom $PROJ_DIR$\..\..\Source\d_net.h + $PROJ_DIR$\..\..\Source\c_bt.h + $PROJ_DIR$\..\..\Source\c_usb.iom + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c $PROJ_DIR$\..\Object\d_motor.r79 $PROJ_DIR$\..\Object\LMS_ARM.sim - $PROJ_DIR$\..\..\Source\c_bt.h - $PROJ_DIR$\..\..\Source\c_usb.c - $PROJ_DIR$\..\..\Source\c_bt.iom + $PROJ_DIR$\..\..\Source\d_net.c + $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\at91SAM7S256_Remap.xcl + $PROJ_DIR$\..\Object\c_sound.pbi + $PROJ_DIR$\..\Object\d_bt.pbi + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\Object\c_cmd.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 + $PROJ_DIR$\..\Object\c_lowspeed.r79 + $PROJ_DIR$\..\Object\d_output.r79 + $PROJ_DIR$\..\Object\c_cmd.pbi + $PROJ_DIR$\..\Object\c_display.pbi + $PROJ_DIR$\..\Object\m_sched.r79 + $PROJ_DIR$\..\Object\d_button.pbi + $PROJ_DIR$\..\Object\d_input.r79 + $PROJ_DIR$\..\Object\d_usb.pbi + $PROJ_DIR$\..\Object\d_display.pbi + $PROJ_DIR$\..\Object\c_button.r79 + $PROJ_DIR$\..\Object\LMS_ARM.map + $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\c_input.pbi + $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_usb.h + $PROJ_DIR$\..\..\Source\c_avrcomm.h + $PROJ_DIR$\..\..\Source\c_avrcomm.c + $PROJ_DIR$\..\..\Source\c_hispeed.h + $PROJ_DIR$\..\Object\c_avrcomm.r79 + $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h + $PROJ_DIR$\..\..\Source\c_sensor.h + $PROJ_DIR$\..\..\Source\c_hispeed.iom + $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\..\..\Source\d_motor.h + $PROJ_DIR$\..\..\Source\d_motor.r + $PROJ_DIR$\..\..\Source\d_sensor.h + $PROJ_DIR$\..\..\Source\c_sensor.iom + $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\d_avrcomm.c $PROJ_DIR$\..\Include\lib_AT91SAM7S64.h $PROJ_DIR$\..\..\Source\c_motor.h $PROJ_DIR$\..\Include\AT91SAM7S64.h $PROJ_DIR$\..\Include\ioat91sam7s64.h $PROJ_DIR$\SrcIAR\Board.h $PROJ_DIR$\..\Object\main.r79 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 $PROJ_DIR$\..\Object\c_sensor.r79 - $PROJ_DIR$\..\..\Source\c_sensor.h - $PROJ_DIR$\..\Object\d_sensor.r79 - $PROJ_DIR$\..\..\Source\d_avrcomm.c $PROJ_DIR$\Flash_Debug\Obj\main.r79 - $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\Object\d_sensor.r79 $PROJ_DIR$\SrcIAR\Cstartup.s79 $PROJ_DIR$\..\Object\d_net.r79 - $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 $PROJ_DIR$\..\Include\Board.h $PROJ_DIR$\..\Object\c_motor.r79 - $PROJ_DIR$\..\..\Source\c_led.c $PROJ_DIR$\..\..\include\AT91SAM7S64_inc.h $PROJ_DIR$\..\Object\c_bt.r79 $PROJ_DIR$\..\Object\c_usb.r79 $PROJ_DIR$\..\..\include\AT91SAM7S64.h - $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\d_timer.r $PROJ_DIR$\..\..\Source\RCXintro_12.txt $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h $PROJ_DIR$\..\..\Source\Submenu04.rms $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\c_display.h $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt $PROJ_DIR$\..\..\Source\Submenu02.rms $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\d_button.h $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\..\Source\d_loader.h $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\Object\c_display.r79 - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c $PROJ_DIR$\..\..\Source\Port.txt - - - [ROOT_NODE] - - - XLINK - 106 197 133 - - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - - - ICCARM - 126 - - - BICOMP - 97 - - - - - ICCARM - 35 11 47 164 12 91 38 230 5 233 64 255 20 36 61 18 232 227 167 54 236 80 56 257 22 42 37 62 157 116 134 79 - - - BICOMP - 35 11 47 164 12 91 38 230 5 233 64 255 20 36 61 18 232 227 167 54 236 56 257 22 42 37 62 157 116 134 79 - - - - - $PROJ_DIR$\..\..\Source\c_comm.c - - - ICCARM - 138 - - - BICOMP - 114 - - - - - ICCARM - 35 11 64 91 85 38 47 233 82 67 58 69 37 54 236 80 56 257 22 42 2 73 8 27 62 43 46 57 16 13 - - - BICOMP - 35 11 64 91 85 38 47 233 82 67 58 69 37 54 236 56 257 22 42 2 73 8 27 62 43 46 57 16 13 - - - - - $PROJ_DIR$\..\..\Source\c_bt.c - - - ICCARM - 222 - - - - - ICCARM - 35 11 200 198 69 47 - - - - - $PROJ_DIR$\..\..\Source\d_led.c - - - ICCARM - 96 - - - - - ICCARM - 35 20 36 61 158 119 - - - + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\Wait.txt + $TOOLKIT_DIR$\inc\xtls.h + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\c_loader.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\d_sound.h + $TOOLKIT_DIR$\inc\yvals.h + $TOOLKIT_DIR$\inc\xlocale_c.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\string.h + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\d_timer.h + $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\c_display.iom + $PROJ_DIR$\..\Object\c_lowspeed.pbi + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_output.iom + - $PROJ_DIR$\..\Object\LMS_ARM.pbd - + $PROJ_DIR$\..\..\Source\c_button.c + - BILINK - 147 136 97 114 127 118 143 113 92 149 123 152 124 100 132 156 161 109 129 155 112 107 148 102 145 + BICOMP + 55 - - - - $PROJ_DIR$\..\Object\LMS_ARM.d79 - - XLINK - 106 197 + ICCARM + 118 - XLINK - 122 151 140 105 126 138 258 108 128 130 98 110 111 153 159 154 95 135 101 144 115 141 94 137 142 150 99 146 + BICOMP + 217 176 263 185 167 + + + ICCARM + 217 176 263 185 167 - $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_cmd.c + + BICOMP + 111 + ICCARM - 211 + 107 + + BICOMP + 217 176 214 272 245 269 225 253 185 254 256 172 240 222 201 183 159 249 266 207 162 175 170 190 196 218 22 65 250 120 258 + ICCARM - 35 20 36 204 181 189 + 217 176 214 272 245 269 225 253 185 254 256 172 240 222 201 183 159 249 266 207 162 259 175 170 190 196 218 22 65 250 120 258 - $PROJ_DIR$\..\..\Source\c_net.c + [ROOT_NODE] - ICCARM - 184 + XLINK + 119 97 52 - - - ICCARM - 35 169 195 - - - $PROJ_DIR$\..\..\Source\d_net.c + $PROJ_DIR$\..\..\Source\c_bt.c ICCARM - 216 + 154 ICCARM - 35 20 36 204 195 191 + 217 176 84 93 248 214 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_net.c ICCARM - 196 + 83 ICCARM - 35 20 36 204 179 180 + 217 79 92 - $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\..\..\Source\c_comm.c + + BICOMP + 17 + ICCARM - 170 + 57 + + BICOMP + 217 176 256 269 243 225 214 254 257 237 212 248 218 207 162 175 170 190 196 188 229 193 186 22 194 208 213 177 221 + ICCARM - 35 11 177 186 58 + 217 176 256 269 243 225 214 254 257 237 212 248 218 207 162 259 175 170 190 196 188 229 193 186 22 194 208 213 177 221 - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\c_display.c + + BICOMP + 112 + ICCARM - 213 + 77 + + BICOMP + 218 207 162 175 170 190 196 217 176 254 160 187 + ICCARM - 205 224 175 + 218 207 162 259 175 170 190 196 217 176 254 160 187 - $PROJ_DIR$\..\..\Source\c_avrcomm.c + $PROJ_DIR$\..\..\Source\c_input.c + + BICOMP + 121 + ICCARM - 187 + 10 + + BICOMP + 217 176 238 245 1 272 269 218 207 162 175 170 190 196 + ICCARM - 35 176 103 + 217 176 238 245 1 272 269 218 207 162 259 175 170 190 196 - $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + + BICOMP + 61 + ICCARM - 219 + 47 + + BICOMP + 217 176 243 219 165 + ICCARM - 35 11 194 202 179 + 217 176 243 219 165 - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_loader.c + + BICOMP + 16 + ICCARM - 209 + 49 + + BICOMP + 217 176 269 243 169 195 218 207 162 175 170 190 196 + ICCARM - 35 11 182 210 181 + 217 176 269 243 169 195 218 207 162 259 175 170 190 196 - $PROJ_DIR$\..\..\Source\c_usb.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + + BICOMP + 255 + ICCARM - 223 + 109 + + BICOMP + 217 176 172 245 163 202 + ICCARM - 35 11 168 174 67 + 217 176 172 245 163 202 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_output.c + + BICOMP + 67 + ICCARM - 208 + 13 + + BICOMP + 266 207 162 175 170 190 196 203 217 176 272 168 179 254 + ICCARM - 205 224 175 + 266 207 162 259 175 170 190 196 203 217 176 272 168 179 254 - $PROJ_DIR$\..\..\Source\d_avrcomm.c + $PROJ_DIR$\..\..\Source\c_sound.c + + BICOMP + 104 + ICCARM - 190 + 14 + + BICOMP + 22 207 162 175 170 190 196 218 217 176 253 269 235 206 + ICCARM - 35 20 36 204 103 192 + 22 207 162 259 175 170 190 196 218 217 176 253 269 235 206 - $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\Source\c_ui.c + + BICOMP + 70 + ICCARM - 206 + 71 + + BICOMP + 266 207 162 175 170 190 196 218 188 229 193 186 22 194 208 213 177 221 217 176 225 227 240 222 201 254 269 185 253 245 272 243 214 256 172 260 178 236 252 261 265 171 228 192 197 267 173 211 231 0 216 247 209 166 181 198 233 220 158 262 246 241 264 251 230 271 204 2 226 164 102 161 191 234 244 45 189 268 223 + ICCARM - 218 203 201 + 266 207 162 259 175 170 190 196 218 188 229 193 186 22 194 208 213 177 221 217 176 225 227 240 222 201 254 269 185 253 245 272 243 214 256 172 260 178 236 252 261 265 171 228 192 197 267 173 211 231 0 216 247 209 166 181 198 233 220 158 262 246 241 264 251 230 271 204 2 226 164 102 161 191 234 244 45 189 268 223 - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup.s79 AARM - 217 + 69 AARM - 221 + 224 - $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + + BICOMP + 54 + ICCARM - 160 + 108 + + BICOMP + 199 + ICCARM - 35 11 139 120 158 + 199 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 108 + BICOMP + 105 - BICOMP - 118 + ICCARM + 6 - ICCARM - 35 11 65 12 19 164 91 37 54 236 80 56 257 22 42 + BICOMP + 217 176 240 222 201 248 174 218 207 162 175 170 190 196 - BICOMP - 35 11 65 12 19 164 91 37 54 236 56 257 22 42 + ICCARM + 217 176 240 222 201 248 174 218 207 162 259 175 170 190 196 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 128 + BICOMP + 114 - BICOMP - 143 + ICCARM + 72 - ICCARM - 35 11 85 34 241 + BICOMP + 217 240 222 201 167 270 - BICOMP - 35 11 85 34 241 + ICCARM + 217 240 222 201 167 270 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 130 + BICOMP + 117 - BICOMP - 113 + ICCARM + 12 - ICCARM - 35 11 91 85 256 40 37 54 236 80 56 257 22 42 + BICOMP + 217 240 222 201 187 182 - BICOMP - 35 11 91 85 256 40 37 54 236 56 257 22 42 + ICCARM + 217 240 222 201 187 182 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 98 + BICOMP + 59 - BICOMP - 92 + ICCARM + 101 - ICCARM - 35 11 255 12 238 39 + BICOMP + 217 240 222 201 212 215 - BICOMP - 35 11 255 12 238 39 + ICCARM + 217 240 222 201 212 215 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 110 + BICOMP + 8 - BICOMP - 149 + ICCARM + 115 - ICCARM - 167 54 236 80 56 257 22 42 32 35 11 164 253 41 233 + BICOMP + 217 240 222 201 238 245 1 239 - BICOMP - 167 54 236 56 257 22 42 32 35 11 164 253 41 233 + ICCARM + 217 240 222 201 238 245 1 239 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 111 + BICOMP + 11 - BICOMP - 123 + ICCARM + 62 - ICCARM - 62 54 236 80 56 257 22 42 37 35 11 230 91 84 53 + BICOMP + 218 207 162 175 170 190 196 217 240 222 201 165 180 - BICOMP - 62 54 236 56 257 22 42 37 35 11 230 91 84 53 + ICCARM + 218 207 162 259 175 170 190 196 217 240 222 201 165 180 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 153 + BICOMP + 48 - BICOMP - 152 + ICCARM + 18 - ICCARM - 167 54 236 80 56 257 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 233 91 5 230 12 164 85 47 64 255 83 24 3 229 165 225 272 71 9 59 226 25 31 72 87 45 10 29 239 15 44 76 14 231 90 78 63 93 228 75 88 51 68 70 240 121 235 23 7 86 270 21 89 49 + BICOMP + 217 176 240 222 201 169 232 218 207 162 175 170 190 196 188 229 193 186 22 194 208 213 177 221 - BICOMP - 167 54 236 56 257 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 233 91 5 230 12 164 85 47 64 255 83 24 3 229 165 225 272 71 9 59 226 25 31 72 87 45 10 29 239 15 44 76 14 231 90 78 63 93 228 75 88 51 68 70 240 121 235 23 7 86 270 21 89 49 + ICCARM + 217 176 240 222 201 169 232 218 207 162 259 175 170 190 196 188 229 193 186 22 194 208 213 177 221 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\d_lowspeed.c - AARM - 151 + BICOMP + 58 + + + ICCARM + 53 - AARM - 50 + BICOMP + 217 240 222 201 202 242 + + + ICCARM + 217 240 222 201 202 242 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 140 + BICOMP + 15 - BICOMP - 147 + ICCARM + 110 - ICCARM - 33 + BICOMP + 217 240 222 201 179 200 - BICOMP - 33 + ICCARM + 217 240 222 201 179 200 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 159 + BICOMP + 9 - BICOMP - 124 + ICCARM + 56 - ICCARM - 35 11 20 36 61 69 55 37 54 236 80 56 257 22 42 + BICOMP + 217 240 222 201 206 205 106 - BICOMP - 35 11 20 36 61 69 55 37 54 236 56 257 22 42 + ICCARM + 217 240 222 201 206 205 106 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_timer.c - ICCARM - 154 + BICOMP + 66 - BICOMP - 100 + ICCARM + 60 - ICCARM - 35 20 36 61 26 163 + BICOMP + 217 240 222 201 249 157 - BICOMP - 35 20 36 61 26 163 + ICCARM + 217 240 222 201 249 157 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 258 + BICOMP + 116 - BICOMP - 127 + ICCARM + 68 - ICCARM - 37 54 236 80 56 257 22 42 35 11 233 237 1 + BICOMP + 217 240 222 201 237 184 - BICOMP - 37 54 236 56 257 22 42 35 11 233 237 1 + ICCARM + 217 240 222 201 237 184 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\m_sched.c - ICCARM - 105 + BICOMP + 63 - BICOMP - 136 + ICCARM + 113 - ICCARM - 35 11 166 5 26 + BICOMP + 217 176 240 222 201 210 257 238 245 263 185 195 235 160 163 168 183 159 214 219 227 - BICOMP - 35 11 166 5 26 + ICCARM + 217 176 240 222 201 210 257 238 245 263 185 195 235 160 163 168 183 159 214 219 227 - $PROJ_DIR$\..\..\Source\d_display.c - + $PROJ_DIR$\..\Object\LMS_ARM.pbd + - ICCARM - 95 + BILINK + 54 55 111 17 112 121 61 16 255 67 104 70 105 114 117 59 8 11 48 58 15 9 66 116 63 + + + + $PROJ_DIR$\..\Object\LMS_ARM.d79 + - BICOMP - 132 + XLINK + 119 97 - ICCARM - 35 20 36 61 1 28 - - - BICOMP - 35 20 36 61 1 28 + XLINK + 103 69 108 118 107 57 77 10 47 49 109 13 14 71 6 72 12 101 115 62 18 53 110 56 60 68 113 64 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_led.c ICCARM - 135 - - - BICOMP - 156 + 7 ICCARM - 35 20 36 61 58 48 - - - BICOMP - 35 20 36 61 58 48 + 217 176 51 100 73 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 101 - - - BICOMP - 161 + 74 ICCARM - 35 20 36 61 65 12 19 66 - - - BICOMP - 35 20 36 61 65 12 19 66 + 217 240 222 201 73 5 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_sensor.c ICCARM - 144 - - - BICOMP - 109 + 148 ICCARM - 37 54 236 80 56 257 22 42 35 20 36 61 241 17 - - - BICOMP - 37 54 236 56 257 22 42 35 20 36 61 241 17 + 217 240 222 141 134 86 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_usb.c ICCARM - 115 - - - BICOMP - 129 + 155 ICCARM - 35 11 20 36 61 256 77 37 54 236 80 56 257 22 42 2 73 8 27 62 43 46 57 16 13 - - - BICOMP - 35 11 20 36 61 256 77 37 54 236 56 257 22 42 2 73 8 27 62 43 46 57 16 13 + 217 176 94 123 237 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM - 141 - - - BICOMP - 155 + 152 ICCARM - 35 20 36 61 39 81 - - - BICOMP - 35 20 36 61 39 81 + 217 176 91 139 132 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\c_sensor.c ICCARM - 94 - - - BICOMP - 112 + 146 ICCARM - 35 20 36 61 41 60 - - - BICOMP - 35 20 36 61 41 60 + 217 176 135 129 134 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c ICCARM - 137 - - - BICOMP - 107 + 99 ICCARM - 35 20 36 61 53 52 125 - - - BICOMP - 35 20 36 61 53 52 125 + 142 156 128 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_net.c ICCARM - 142 - - - BICOMP - 148 + 150 ICCARM - 35 20 36 61 227 234 - - - BICOMP - 35 20 36 61 227 234 + 217 240 222 141 92 88 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_motor.c ICCARM - 150 + 96 + + - BICOMP - 102 + ICCARM + 217 240 222 141 132 133 + + + + + $PROJ_DIR$\..\..\Source\c_avrcomm.c + + + ICCARM + 127 ICCARM - 35 20 36 61 67 6 + 217 124 78 + + + + $PROJ_DIR$\..\..\Source\c_hispeed.c + - BICOMP - 35 20 36 61 67 6 + ICCARM + 80 + + + + + ICCARM + 217 176 130 126 212 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\src\main.c ICCARM - 99 + 147 + + - BICOMP - 145 + ICCARM + 142 156 128 + + + + + $PROJ_DIR$\..\..\Source\d_avrcomm.c + + + ICCARM + 87 + + + + + ICCARM + 217 240 222 141 78 89 + + + + + $PROJ_DIR$\..\..\Source\main.c + + + ICCARM + 143 ICCARM - 35 11 20 36 61 30 82 65 12 166 5 40 84 237 238 253 18 232 47 34 74 + 151 140 138 + + + + $PROJ_DIR$\SrcIAR\Cstartup.s79 + - BICOMP - 35 11 20 36 61 30 82 65 12 166 5 40 84 237 238 253 18 232 47 34 74 + AARM + 145 + + + + + AARM + 153 @@ -3103,151 +3103,118 @@ RAM_Debug + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\c_button.c $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\..\..\Source\Submenu06.rms - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\modules.h - $PROJ_DIR$\..\..\Source\c_input.iom - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_button.h - $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\Include\sam7s256.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $PROJ_DIR$\..\..\Source\c_loader.h - $PROJ_DIR$\..\..\Source\d_output.h - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\RAM_Debug\Obj\c_button.r79 - $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_led.iom + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\..\Source\c_led.c $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\d_sensor.r + $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_motor.iom + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c $PROJ_DIR$\..\..\Source\c_led.h $PROJ_DIR$\..\..\Source\Submenu03.rms $PROJ_DIR$\..\..\Source\d_sound_adpcm.r $TOOLKIT_DIR$\inc\limits.h - $PROJ_DIR$\..\..\Source\c_led.iom - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\..\Source\d_sensor.c - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $TOOLKIT_DIR$\inc\stdio.h $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_sensor.h $PROJ_DIR$\..\..\Source\d_motor.h $PROJ_DIR$\..\..\Source\d_motor.r $PROJ_DIR$\..\..\Source\d_sensor.h $PROJ_DIR$\..\..\Source\c_sensor.iom $PROJ_DIR$\..\src\main.c - $PROJ_DIR$\..\..\Source\c_motor.c - $PROJ_DIR$\..\..\Source\d_sensor.r - $PROJ_DIR$\..\..\Source\c_sensor.c - $PROJ_DIR$\..\..\Source\c_motor.iom $PROJ_DIR$\..\..\Source\c_motor.h $PROJ_DIR$\..\Include\ioat91sam7s64.h - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\c_sensor.h $PROJ_DIR$\..\..\Source\main.c $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79 - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\RAM_Debug\Obj\m_sched.r79 $PROJ_DIR$\RAM_Debug\Obj\c_output.r79 - $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\RAM_Debug\Obj\c_ui.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi + $PROJ_DIR$\RAM_Debug\Obj\m_sched.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_led.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_ui.r79 + $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_usb.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_button.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_loader.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_comm.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_display.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_output.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_output.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_sound.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_button.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_comm.pbi + $PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79 + $PROJ_DIR$\RAM_Debug\Obj\c_led.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_sound.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_loader.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_loader.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_button.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_input.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_display.pbi + $PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi + $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi + $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd + $PROJ_DIR$\RAM_Debug\Obj\d_button.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_cmd.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_display.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_input.pbi + $TOOLKIT_DIR$\lib\dl4tptinl8n.h $PROJ_DIR$\RAM_Debug\Obj\sam7s256.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_input.r79 $PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_ui.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_motor.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79 $PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79 $PROJ_DIR$\RAM_Debug\Obj\d_input.pbi $PROJ_DIR$\RAM_Debug\Obj\d_motor.r79 $PROJ_DIR$\RAM_Debug\Obj\d_timer.pbi $PROJ_DIR$\RAM_Debug\Obj\d_loader.pbi $PROJ_DIR$\RAM_Debug\Obj\d_output.r79 - $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi $PROJ_DIR$\RAM_Debug\Obj\main.r79 $PROJ_DIR$\RAM_Debug\Obj\d_usb.r79 $PROJ_DIR$\RAM_Debug\Obj\d_bt.pbi @@ -3256,830 +3223,863 @@ $PROJ_DIR$\RAM_Debug\Obj\d_display.r79 $PROJ_DIR$\RAM_Debug\Obj\d_bt.r79 $PROJ_DIR$\RAM_Debug\Obj\c_sound.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_loader.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_comm.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_button.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_cmd.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_led.r79 - $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_usb.pbi - $PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_output.pbi - $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - $PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_display.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_input.pbi - $TOOLKIT_DIR$\lib\dl4tptinl8n.h - $PROJ_DIR$\RAM_Debug\Obj\d_display.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_output.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_sound.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_button.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_comm.pbi - $PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79 - $PROJ_DIR$\RAM_Debug\Obj\d_input.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.pbi + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\Submenu04.rms + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\Submenu02.rms + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\d_button.h + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\..\..\Source\d_loader.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\Wait.txt + $TOOLKIT_DIR$\inc\xtls.h + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\c_loader.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\d_sound.h + $TOOLKIT_DIR$\inc\yvals.h + $TOOLKIT_DIR$\inc\xlocale_c.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\string.h + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\d_timer.h + $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\Step.txt $PROJ_DIR$\..\..\Source\c_sound.iom - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\RAM_Debug\Obj\d_sound.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_ui.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_loader.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_button.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_input.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_display.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.pbi $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\RAM_Debug\Obj\c_led.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_loader.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_motor.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79 - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\Submenu04.rms - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\..\Source\d_loader.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_output.iom - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\c_button.c - XLINK - 177 + BICOMP + 81 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 149 - - - BICOMP - 158 + 66 - ICCARM - 35 11 47 105 12 90 38 180 5 190 64 217 20 36 61 18 182 131 108 54 198 170 56 219 22 42 37 62 101 93 99 79 + BICOMP + 180 139 224 148 130 - BICOMP - 35 11 47 105 12 90 38 180 5 190 64 217 20 36 61 18 182 131 108 54 198 56 219 22 42 37 62 101 93 99 79 + ICCARM + 180 139 224 148 130 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 155 + BICOMP + 89 - BICOMP - 176 + ICCARM + 116 - ICCARM - 35 11 64 90 84 38 47 190 81 67 58 69 37 54 198 170 56 219 22 42 2 73 8 27 62 43 46 57 16 13 + BICOMP + 180 139 177 233 208 230 188 216 148 217 218 135 203 185 164 146 122 212 227 170 125 138 133 153 159 181 7 33 213 46 220 - BICOMP - 35 11 64 90 84 38 47 190 81 67 58 69 37 54 198 56 219 22 42 2 73 8 27 62 43 46 57 16 13 + ICCARM + 180 139 177 233 208 230 188 216 148 217 218 135 203 185 164 146 122 212 227 170 125 95 138 133 153 159 181 7 33 213 46 220 - $PROJ_DIR$\..\Include\sam7s256.c + [ROOT_NODE] - ICCARM - 136 + XLINK + 75 - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\c_comm.c + + BICOMP + 74 + ICCARM - 159 + 68 + + BICOMP + 180 139 218 230 206 188 177 217 219 200 175 211 181 170 125 138 133 153 159 151 192 156 149 7 157 171 176 140 184 + ICCARM - 35 20 36 120 102 95 + 180 139 218 230 206 188 177 217 219 200 175 211 181 170 125 95 138 133 153 159 151 192 156 149 7 157 171 176 140 184 - $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_display.c + + BICOMP + 83 + ICCARM - 157 + 91 + + BICOMP + 181 170 125 138 133 153 159 180 139 217 123 150 + ICCARM - 35 20 36 120 112 116 + 181 170 125 95 138 133 153 159 180 139 217 123 150 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_input.c + + BICOMP + 94 + ICCARM - 140 + 82 + + BICOMP + 180 139 201 208 1 233 230 181 170 125 138 133 153 159 + ICCARM - 35 20 36 120 110 111 + 180 139 201 208 1 233 230 181 170 125 95 138 133 153 159 - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - ICCARM - 145 + BICOMP + 60 - - - - $PROJ_DIR$\..\..\Source\c_motor.c - ICCARM - 193 + 105 + + BICOMP + 180 139 206 182 128 + ICCARM - 35 11 118 119 110 + 180 139 206 182 128 - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_loader.c + + BICOMP + 67 + ICCARM - 194 + 80 + + BICOMP + 180 139 230 206 132 158 181 170 125 138 133 153 159 + ICCARM - 35 11 113 122 112 + 180 139 230 206 132 158 181 170 125 95 138 133 153 159 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + + BICOMP + 93 + ICCARM - 160 + 92 - - - $PROJ_DIR$\..\..\Source\main.c - + + + BICOMP + 180 139 135 208 126 165 + ICCARM - 145 + 180 139 135 208 126 165 - + - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_output.c - AARM - 138 + BICOMP + 70 - - - - $PROJ_DIR$\..\..\Source\c_led.c - ICCARM - 191 + 58 - ICCARM - 35 11 100 96 102 + BICOMP + 227 170 125 138 133 153 159 166 180 139 233 131 142 217 - - - - $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - - BILINK - 144 186 158 176 188 169 172 154 168 163 152 134 147 175 171 189 139 179 142 165 173 183 141 161 162 + ICCARM + 227 170 125 95 138 133 153 159 166 180 139 233 131 142 217 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_sound.c - ICCARM - 187 + BICOMP + 119 - BICOMP - 169 + ICCARM + 115 - ICCARM - 35 11 65 12 19 105 90 37 54 198 170 56 219 22 42 + BICOMP + 7 170 125 138 133 153 159 181 180 139 216 230 198 169 - BICOMP - 35 11 65 12 19 105 90 37 54 198 56 219 22 42 + ICCARM + 7 170 125 95 138 133 153 159 181 180 139 216 230 198 169 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 195 + BICOMP + 100 - BICOMP - 172 + ICCARM + 63 - ICCARM - 35 11 84 34 203 + BICOMP + 227 170 125 138 133 153 159 181 151 192 156 149 7 157 171 176 140 184 180 139 188 190 203 185 164 217 230 148 216 208 233 206 177 218 135 221 141 199 215 222 226 134 191 155 160 228 136 174 194 0 179 210 172 129 144 161 196 183 121 223 209 204 225 214 193 232 167 2 189 127 44 124 154 197 207 30 152 229 186 - BICOMP - 35 11 84 34 203 + ICCARM + 227 170 125 95 138 133 153 159 181 151 192 156 149 7 157 171 176 140 184 180 139 188 190 203 185 164 217 230 148 216 208 233 206 177 218 135 221 141 199 215 222 226 134 191 155 160 228 136 174 194 0 179 210 172 129 144 161 196 183 121 223 209 204 225 214 193 232 167 2 189 127 44 124 154 197 207 30 152 229 186 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\Include\Cstartup.s79 - ICCARM - 185 - - - BICOMP - 154 + AARM + 106 - ICCARM - 35 11 90 84 218 40 37 54 198 170 56 219 22 42 - - - BICOMP - 35 11 90 84 218 40 37 54 198 56 219 22 42 + AARM + 187 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - ICCARM - 167 + BICOMP + 85 - BICOMP - 168 + ICCARM + 64 - ICCARM - 35 11 217 12 200 39 + BICOMP + 162 - BICOMP - 35 11 217 12 200 39 + ICCARM + 162 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 128 + BICOMP + 114 - BICOMP - 163 + ICCARM + 118 - ICCARM - 108 54 198 170 56 219 22 42 32 35 11 105 215 41 190 + BICOMP + 180 139 203 185 164 211 137 181 170 125 138 133 153 159 - BICOMP - 108 54 198 56 219 22 42 32 35 11 105 215 41 190 + ICCARM + 180 139 203 185 164 211 137 181 170 125 95 138 133 153 159 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 148 + BICOMP + 73 - BICOMP - 152 + ICCARM + 87 - ICCARM - 62 54 198 170 56 219 22 42 37 35 11 180 90 83 53 + BICOMP + 180 203 185 164 130 231 - BICOMP - 62 54 198 56 219 22 42 37 35 11 180 90 83 53 + ICCARM + 180 203 185 164 130 231 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 184 + BICOMP + 69 - BICOMP - 134 + ICCARM + 117 - ICCARM - 108 54 198 170 56 219 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 190 90 5 180 12 105 84 47 64 217 82 24 3 133 106 129 233 71 9 59 130 25 31 72 86 45 10 29 201 15 44 76 14 181 89 78 63 91 132 75 87 51 68 70 202 97 197 23 7 85 231 21 88 49 + BICOMP + 180 203 185 164 150 145 - BICOMP - 108 54 198 56 219 22 42 37 2 73 8 27 62 43 46 57 16 13 35 11 38 74 20 36 61 190 90 5 180 12 105 84 47 64 217 82 24 3 133 106 129 233 71 9 59 130 25 31 72 86 45 10 29 201 15 44 76 14 181 89 78 63 91 132 75 87 51 68 70 202 97 197 23 7 85 231 21 88 49 + ICCARM + 180 203 185 164 150 145 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\d_hispeed.c - AARM - 138 + BICOMP + 102 + + + ICCARM + 101 - AARM - 50 + BICOMP + 180 203 185 164 175 178 + + + ICCARM + 180 203 185 164 175 178 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 160 + BICOMP + 107 - BICOMP - 144 + ICCARM + 97 - ICCARM - 33 + BICOMP + 180 203 185 164 201 208 1 202 - BICOMP - 33 + ICCARM + 180 203 185 164 201 208 1 202 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 151 + BICOMP + 77 - BICOMP - 147 + ICCARM + 99 - ICCARM - 35 11 20 36 61 69 55 37 54 198 170 56 219 22 42 + BICOMP + 181 170 125 138 133 153 159 180 203 185 164 128 143 - BICOMP - 35 11 20 36 61 69 55 37 54 198 56 219 22 42 + ICCARM + 181 170 125 95 138 133 153 159 180 203 185 164 128 143 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 156 + BICOMP + 110 - BICOMP - 175 + ICCARM + 79 - ICCARM - 35 20 36 61 26 104 + BICOMP + 180 139 203 185 164 132 195 181 170 125 138 133 153 159 151 192 156 149 7 157 171 176 140 184 - BICOMP - 35 20 36 61 26 104 + ICCARM + 180 139 203 185 164 132 195 181 170 125 95 138 133 153 159 151 192 156 149 7 157 171 176 140 184 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 166 + BICOMP + 90 - BICOMP - 188 + ICCARM + 98 - ICCARM - 37 54 198 170 56 219 22 42 35 11 190 199 1 + BICOMP + 180 203 185 164 165 205 - BICOMP - 37 54 198 56 219 22 42 35 11 190 199 1 + ICCARM + 180 203 185 164 165 205 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 92 + BICOMP + 71 - BICOMP - 186 + ICCARM + 111 - ICCARM - 35 11 107 5 26 + BICOMP + 180 203 185 164 142 163 - BICOMP - 35 11 107 5 26 + ICCARM + 180 203 185 164 142 163 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 150 + BICOMP + 78 - BICOMP - 171 + ICCARM + 72 - ICCARM - 35 20 36 61 1 28 + BICOMP + 180 203 185 164 169 168 45 - BICOMP - 35 20 36 61 1 28 + ICCARM + 180 203 185 164 169 168 45 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_timer.c - ICCARM - 125 + BICOMP + 109 - BICOMP - 189 + ICCARM + 59 - ICCARM - 35 20 36 61 58 48 + BICOMP + 180 203 185 164 212 120 - BICOMP - 35 20 36 61 58 48 + ICCARM + 180 203 185 164 212 120 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 178 + BICOMP + 65 - BICOMP - 139 + ICCARM + 113 - ICCARM - 35 20 36 61 65 12 19 66 + BICOMP + 180 203 185 164 200 147 - BICOMP - 35 20 36 61 65 12 19 66 + ICCARM + 180 203 185 164 200 147 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\m_sched.c - ICCARM - 135 + BICOMP + 84 - BICOMP - 179 + ICCARM + 61 - ICCARM - 37 54 198 170 56 219 22 42 35 20 36 61 203 17 + BICOMP + 180 139 203 185 164 173 219 201 208 224 148 158 198 123 126 131 146 122 177 182 190 - BICOMP - 37 54 198 56 219 22 42 35 20 36 61 203 17 + ICCARM + 180 139 203 185 164 173 219 201 208 224 148 158 198 123 126 131 146 122 177 182 190 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_led.c ICCARM - 192 - - - BICOMP - 142 + 76 ICCARM - 35 11 20 36 61 218 77 37 54 198 170 56 219 22 42 2 73 8 27 62 43 46 57 16 13 - - - BICOMP - 35 11 20 36 61 218 77 37 54 198 56 219 22 42 2 73 8 27 62 43 46 57 16 13 + 180 139 32 43 34 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 137 - - - BICOMP - 165 + 62 ICCARM - 35 20 36 61 39 80 - - - BICOMP - 35 20 36 61 39 80 + 180 203 185 55 34 5 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sensor.c ICCARM - 143 - - - BICOMP - 173 + 88 ICCARM - 35 20 36 61 41 60 - - - BICOMP - 35 20 36 61 41 60 + 180 203 185 55 51 39 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM - 174 - - - BICOMP - 183 + 103 ICCARM - 35 20 36 61 53 52 98 - - - BICOMP - 35 20 36 61 53 52 98 + 180 139 41 54 49 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\c_sensor.c ICCARM - 153 - - - BICOMP - 141 + 104 ICCARM - 35 20 36 61 131 196 - - - BICOMP - 35 20 36 61 131 196 + 180 139 52 48 51 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c ICCARM - 146 + 64 + + + + $PROJ_DIR$\..\..\Source\d_motor.c + - BICOMP - 161 + ICCARM + 108 ICCARM - 35 20 36 61 67 6 + 180 203 185 55 49 50 + + + + $PROJ_DIR$\..\src\main.c + - BICOMP - 35 20 36 61 67 6 + ICCARM + 112 - + - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\main.c ICCARM - 127 + 112 + + + + $PROJ_DIR$\SrcIAR\Cstartup.s79 + - BICOMP - 162 + AARM + 106 + + + $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - ICCARM - 35 11 20 36 61 30 81 65 12 107 5 40 83 199 200 215 18 182 47 34 74 + BILINK + 85 81 89 74 83 94 60 67 93 70 119 100 114 73 69 102 107 77 110 90 71 78 109 65 84 + + + + $PROJ_DIR$\..\Include\sam7s256.c + - BICOMP - 35 11 20 36 61 30 81 65 12 107 5 40 83 199 200 215 18 182 47 34 74 + ICCARM + 96 - + [MULTI_TOOL] diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat index 74f8699..43f6a2d 100644 --- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat +++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.cspy.bat @@ -22,11 +22,11 @@ @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\" --macro "D:\NXT\lms_nbcnxc_128\AT91SAM7S256\SAM7S256\Tools\SAM7.mac" --backend -B "--endian" "little" "--cpu" "ARM7TDMI" "--fpu" "None" "--proc_device_desc_file" "D:\NXT\lms_nbcnxc_128\AT91SAM7S256\SAM7S256\Tools\ioat91sam7s256.ddf" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32" +"C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\common\bin\cspybat" "C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\armproc.dll" "C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\armjlink.dll" %1 --plugin "C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\arm\bin\" --macro "D:\NXT\lms_nbcnxc_128\AT91SAM7S256\SAM7S256\Tools\SAM7.mac" --backend -B "--endian" "little" "--cpu" "ARM7TDMI" "--fpu" "None" "--proc_device_desc_file" "D:\NXT\lms_nbcnxc_128\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 +@REM C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\CodeCoverage\CodeCoverage.dll +@REM C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\Profiling\Profiling.dll +@REM C:\Program Files (x86)\IAR Systems\Embedded Workbench 4.0 LEGO\common\plugins\stack\stack.dll diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt index cdf06a1..1ebaf1e 100644 --- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt +++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt @@ -11,7 +11,7 @@ - 1563271307876 + 1233271307876 300Find-in-FilesDebug-Log1862724461 @@ -22,7 +22,7 @@ 45527 - 300Find-in-FilesBuild + 300BuildFind-in-Files @@ -32,7 +32,7 @@ - + TabID-32446-5425 @@ -40,24 +40,24 @@ Workspace - LMS_ARMLMS_ARM/c_cmd.cLMS_ARM/c_led.cLMS_ARM/d_bt.c + LMS_ARMLMS_ARM/c_led.c - 0TabID-25637-22042BuildBuildTabID-24384-30343Find in FilesFind-in-FilesTabID-7323-21632Debug LogDebug-Log0 + 0TabID-27191-10055BuildBuildTabID-29560-16542Find in FilesFind-in-Files1 - TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.c040061136031136030TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_comm.c033229270992725TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.iom03812834TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_loader.h00694700TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_ui.c08162117221172TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.h04461282912829TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_bt.c011124882488TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_bt.r02131623016230TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_hispeed.r00765765TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_bt.h0612611261TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_comm.h042107210800100000010000001 + TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.c096112721022721020TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_output.c0000TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_loader.c05597597TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_input.c02261189111904TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_comm.c0000TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.iom014761416145TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_bt.c0394834283460100000010000001 - iaridepm.enu1-2-2630223-2-20000142857750594-2-21681577-2-21579170100254020190000 + iaridepm.enu1-2-2463190-2-20000157119701357-2-21551224-2-212261571003273236802139935236802 diff --git a/AT91SAM7S256/Source/BtTest.inc b/AT91SAM7S256/Source/BtTest.inc index ff0de90..d2ab31d 100644 --- a/AT91SAM7S256/Source/BtTest.inc +++ b/AT91SAM7S256/Source/BtTest.inc @@ -4,7 +4,6 @@ #include "Test2.txt" //#define TESTPRG // If defined the test program will be included - extern void BtIo(void); const char BUILD_DATE[] = __DATE__; 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 4b25362..3fc28e4 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: 17-02-09 7:30 $ +// Revision date $Date: 26-02-10 11:38 $ // // Filename $Workfile:: c_cmd.c $ // -// Version $Revision: 13 $ +// Version $Revision: 15 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_cmd. $ // @@ -256,7 +256,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapDrawEllipse, cCmdWrapDrawFont, // 95 cCmdWrapMemoryManager, - cCmdWrapUndefinedSysCall, + cCmdWrapReadLastResponse, cCmdWrapUndefinedSysCall, cCmdWrapUndefinedSysCall // 99 --> 100 system call slots @@ -409,6 +409,100 @@ UBYTE cCmdBTGetDeviceType(UBYTE *pCOD) return (Result); } +UBYTE CMD_RESPONSE_LENGTH[255] = +{ + 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xD4-xDF) + 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) @@ -1226,12 +1320,15 @@ 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]]; + memcpy((PSZ)VarsCmd.LastResponseBuffer, (PSZ)(&pInBuf[0]), VarsCmd.LastResponseLength-1); } break; }; @@ -1418,10 +1515,9 @@ void cCmdCtrl(void) IOMapCmd.ProgStatus = PROG_OK; } } - else if (Status == CLUMP_SUSPEND || Status == CLUMP_DONE) { + else if (Status == CLUMP_SUSPEND || Status == CLUMP_DONE) Continue = TRUE; // queue isn't empty, didn't timeout //Only rotate RunQ on a "normal" finish, i.e. no error, clump end, or breakout request - } else if (Status == ROTATE_QUEUE) { // done and suspend do their own cCmdRotateQ(); Continue= TRUE; @@ -1434,7 +1530,6 @@ void cCmdCtrl(void) { Continue = FALSE; VarsCmd.VMState = VM_RESET1; -// IOMapCmd.ProgStatus = PROG_ERROR; IOMapCmd.ProgStatus = Status; } else if (Status == STOP_REQ) @@ -1476,7 +1571,6 @@ 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; IOMapCmd.ProgStatus = Status; VarsCmd.VMState = VM_RESET1; } @@ -2101,6 +2195,9 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) VarsCmd.Debugging = FALSE; VarsCmd.PauseClump = NOT_A_CLUMP; VarsCmd.PausePC = 0xFFFF; + // restore default data mode values + pMapComm->BtDataMode = DATA_MODE_NXT|DATA_MODE_UPDATE; + pMapComm->HsDataMode = DATA_MODE_RAW|DATA_MODE_UPDATE; return (Status); } @@ -2151,8 +2248,7 @@ void cCmdDeactivateProgram() tmp = i; //Close file if (*(VarsCmd.FileHandleTable[i]) != 0) - pMapLoader->pFunc(CLOSE, &tmp, NULL, NULL); -// pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL); + pMapLoader->pFunc(CROPDATAFILE, &tmp, NULL, NULL); /*CLOSE*/ } //Clear FileHandleTable @@ -4469,33 +4565,6 @@ NXT_STATUS cCmdInterpFromClump() pInstr = pClumpRec->PC; // abs lastClumpInstr= pClumpRec->CodeEnd; // abs -/* - // are we free running and reach a breakpoint? - if (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))) - { - VarsCmd.VMState = 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)) - { - VarsCmd.VMState = VM_RUN_PAUSE; - // turn off the auto pause flags - VarsCmd.PauseClump = NOT_A_CLUMP; - VarsCmd.PausePC = 0xFFFF; - return BREAKOUT_REQ; - } - } -*/ - if(VarsCmd.VMState == VM_RUN_FREE) i = pClumpRec->Priority; else @@ -5056,7 +5125,11 @@ NXT_STATUS cCmdInterpUnop2(CODE_WORD * const pCode) if (TypeCode2 == TC_FLOAT) { FltArgVal2 = cCmdGetFloatValFromDataArg(Arg2, 0); - Count = sprintf(Buffer, "%.4f", FltArgVal2); + if ((FltArgVal2 > (float)99999999999.9999)||(FltArgVal2 < (float)-9999999999.9999)){ // these are the widest %.4f numbers that will fit on display + Count = sprintf(Buffer, "%.6g", FltArgVal2); + } + else + Count = sprintf(Buffer, "%.4f", FltArgVal2); Count++; //add room for null terminator // remove trailing zeros while (Buffer[Count-2] == 0x30) { @@ -5984,7 +6057,7 @@ ULONG cCmdBinop(CODE_WORD const Code, ULONG LeftOp, ULONG RightOp, TYPE_CODE Lef case OP_XOR: { - return ((LeftOp | RightOp) & (~(LeftOp & RightOp))); // LeftOp ^ RightOp + return ((LeftOp | RightOp) & (~(LeftOp & RightOp))); } case OP_CMP: @@ -6229,7 +6302,7 @@ NXT_STATUS cCmdMove(DATA_ARG Arg1, DATA_ARG Arg2) Status= NO_ERR; } } - else if(tc1 == TC_FLOAT && tc2 == TC_FLOAT) { + else if(tc1 == TC_FLOAT && tc2 == TC_FLOAT) { // may also need to speed up float to int and int to float conversions moveFloat++; pArg1= VarsCmd.pDataspace + TOC1Ptr->DSOffset; pArg2= VarsCmd.pDataspace + TOC2Ptr->DSOffset; @@ -9539,6 +9612,47 @@ NXT_STATUS cCmdWrapMemoryManager(UBYTE * ArgV[]) 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); +} + NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]) { return (NO_ERR); diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 489e0cc..b23e9f6 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -63,7 +63,7 @@ void cCmdExit(void); #define WRITE_IOMAP_OFFSETS 0 #if WRITE_IOMAP_OFFSETS -void cCmdWriteIOMapOffsetsFile(); +void cCmdWriteIOMapOffsetsFile(); #endif // @@ -566,6 +566,10 @@ typedef struct 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; @@ -575,10 +579,8 @@ typedef struct ULONG CompactionCount; ULONG LastCompactionTick; ULONG MaxCompactionTime; - ULONG CmdCtrlOverTimeCnt; - ULONG MaxCmdCtrlOverTimeLen; - ULONG OpcodeBenchmarks[OPCODE_COUNT][3]; - ULONG SyscallBenchmarks[SYSCALL_COUNT][3]; + ULONG OpcodeBenchmarks[OPCODE_COUNT][4]; + ULONG SyscallBenchmarks[SYSCALL_COUNT][4]; UBYTE Buffer[256]; #endif @@ -906,6 +908,7 @@ 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 cCmdWrapUndefinedSysCall(UBYTE * ArgV[]); diff --git a/AT91SAM7S256/Source/c_cmd.iom b/AT91SAM7S256/Source/c_cmd.iom index 09a6477..820f01d 100644 --- a/AT91SAM7S256/Source/c_cmd.iom +++ b/AT91SAM7S256/Source/c_cmd.iom @@ -168,17 +168,7 @@ typedef SBYTE PROGRAM_STATUS; #define PROG_ERROR 0x03 #define PROG_ABORT 0x04 #define PROG_RESET 0x05 -/* -typedef enum -{ - PROG_IDLE, - PROG_OK, - PROG_RUNNING, - PROG_ERROR, - PROG_ABORT, - PROG_RESET -} PROGRAM_STATUS; -*/ + //Maximum size of memory pool, in bytes //!!! Code assumes this value is evenly divisible by 4! #define POOL_MAX_SIZE 32768 diff --git a/AT91SAM7S256/Source/c_cmd_drawing.inc b/AT91SAM7S256/Source/c_cmd_drawing.inc index 9a62c12..41e405a 100644 --- a/AT91SAM7S256/Source/c_cmd_drawing.inc +++ b/AT91SAM7S256/Source/c_cmd_drawing.inc @@ -1709,7 +1709,7 @@ void cCmdDrawString(UBYTE *pString, ULONG X, ULONG Y, UBYTE InvertMode, UBYTE Lo //------------------------------------------------------------------ // cCmdRestoreDefaultScreen - Restore to Default 'Running' screen -__ramfunc void cCmdRestoreDefaultScreen(void) +void cCmdRestoreDefaultScreen(void) { //If this program has taken over the display, reset it for the UI if (VarsCmd.DirtyDisplay == TRUE) diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c index f550ca3..1c9db04 100644 --- a/AT91SAM7S256/Source/c_comm.c +++ b/AT91SAM7S256/Source/c_comm.c @@ -62,11 +62,11 @@ enum dBtClearArm7CmdSignal();\ dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)CMD_MODE, FALSE); -#define SETBtDataState(_m) IOMapComm.BtInBuf.InPtr = 0;\ - VarsComm.BtState = _m;\ +#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, (_m == BT_ARM_DATA_MODE ? FALSE : TRUE)); + dBtInitReceive(VarsComm.BtModuleInBuf.Buf, (UBYTE)STREAM_MODE, IOMapComm.BtDataMode != DATA_MODE_NXT); #define SETBtOff VarsComm.BtState = BT_ARM_OFF;\ dBtSetBcResetPinLow() @@ -160,9 +160,10 @@ void cCommInit(void* pHeader) } IOMapComm.BtDeviceCnt = 0; IOMapComm.BrickData.BtStateStatus = 0; - IOMapComm.HsSpeed = HS_BAUD_921600; - IOMapComm.HsMode = HS_MODE_8N1; - IOMapComm.BtState = BT_ARM_DATA_MODE; + IOMapComm.HsSpeed = HS_BAUD_921600; + IOMapComm.HsMode = HS_MODE_8N1; + IOMapComm.BtDataMode = DATA_MODE_NXT; + IOMapComm.HsDataMode = DATA_MODE_RAW; cCommClrConnTable(); @@ -180,7 +181,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()) { @@ -206,7 +218,7 @@ void cCommCtrl(void) switch (VarsComm.BtState) { - /* Bluetooth device can either be in CMD, DATA, STREAM or OFF state at top level */ + /* Bluetooth device can either be in CMD, DATA or OFF state at top level */ case BT_ARM_OFF: { } @@ -215,14 +227,12 @@ void cCommCtrl(void) { if (VarsComm.BtBcPinLevel) { - SETBtDataState(IOMapComm.BtState); + SETBtDataState; } } break; case BT_ARM_DATA_MODE: - case BT_ARM_GPS_MODE: - case BT_ARM_RAW_MODE: { if (!(VarsComm.BtBcPinLevel)) { @@ -232,8 +242,8 @@ void cCommCtrl(void) break; } } - // don't overwrite this byte when we are in GPS or RAW mode - if (VarsComm.BtState != BT_ARM_GPS_MODE && VarsComm.BtState != BT_ARM_RAW_MODE) + // 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; @@ -427,8 +437,10 @@ 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 */ @@ -478,6 +490,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: @@ -671,13 +686,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); @@ -890,13 +911,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 @@ -1097,10 +1123,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]) { @@ -1157,12 +1187,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)) { @@ -1202,7 +1243,7 @@ UWORD cCommReceivedBtData(void) UWORD BytesToGo; UWORD RtnVal; - RtnVal = dBtReceivedData(&NumberOfBytes, &BytesToGo); + RtnVal = dBtReceivedData(&NumberOfBytes, &BytesToGo, IOMapComm.BtDataMode != DATA_MODE_NXT); if (TRUE == RtnVal) { @@ -1226,9 +1267,9 @@ UWORD cCommReceivedBtData(void) /* ActiveUpdate has to be idle because BC4 can send stream data even if CMD */ /* mode has been requested - dont try to interprete the data */ /* VarsComm.CmdSwitchCnt != 0 if a transition to Cmd mode is in process */ - if (0 == VarsComm.CmdSwitchCnt) + if ((VarsComm.BtState == BT_ARM_DATA_MODE) && (0 == VarsComm.CmdSwitchCnt)) { - if (VarsComm.BtState == BT_ARM_DATA_MODE) + if (IOMapComm.BtDataMode == DATA_MODE_NXT) { /* Move the inptr ahead */ @@ -1240,20 +1281,20 @@ UWORD cCommReceivedBtData(void) /* 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 sent then send it */ + /* if there is a reply to be send then send it */ if (IOMapComm.BtOutBuf.InPtr) { dBtSendMsg(IOMapComm.BtOutBuf.Buf, IOMapComm.BtOutBuf.InPtr, IOMapComm.BtOutBuf.InPtr); IOMapComm.BtOutBuf.InPtr = 0; } } - else if (VarsComm.BtState == BT_ARM_GPS_MODE) + else if (IOMapComm.BtDataMode == DATA_MODE_GPS) { /* Move the inptr ahead */ IOMapComm.BtInBuf.InPtr = NumberOfBytes; // interpret GPS sentence? } - else if (VarsComm.BtState == BT_ARM_RAW_MODE) + else if (IOMapComm.BtDataMode == DATA_MODE_RAW) { /* Move the inptr ahead */ IOMapComm.BtInBuf.InPtr = NumberOfBytes; @@ -1470,18 +1511,45 @@ void cCommReceivedHiSpeedData(void) if (NumberOfBytes != 0) { - for (Tmp = 0; Tmp < NumberOfBytes; Tmp++) + if (IOMapComm.HsDataMode != DATA_MODE_NXT) { - IOMapComm.HsInBuf.Buf[IOMapComm.HsInBuf.InPtr] = VarsComm.HsModuleInBuf.Buf[Tmp]; - IOMapComm.HsInBuf.InPtr++; - if (IOMapComm.HsInBuf.InPtr > (SIZE_OF_HSBUF - 1)) + // this is the normal way to handle incoming hi-speed data + for (Tmp = 0; Tmp < NumberOfBytes; Tmp++) { - IOMapComm.HsInBuf.InPtr = 0; + IOMapComm.HsInBuf.Buf[IOMapComm.HsInBuf.InPtr] = VarsComm.HsModuleInBuf.Buf[Tmp]; + IOMapComm.HsInBuf.InPtr++; + if (IOMapComm.HsInBuf.InPtr > (SIZE_OF_HSBUF - 1)) + { + IOMapComm.HsInBuf.InPtr = 0; + } + VarsComm.HsModuleInBuf.Buf[Tmp] = 0; } - VarsComm.HsModuleInBuf.Buf[Tmp] = 0; - } /* Now new data is available from the HIGH SPEED port ! */ + } + else + { + // receiving hi-speed data in NXT mode + /* Copy the bytes into the IOMapBuffer */ + memcpy((IOMapComm.HsInBuf.Buf), (VarsComm.HsModuleInBuf.Buf), NumberOfBytes); + + + /* Move the inptr ahead */ + IOMapComm.HsInBuf.InPtr = NumberOfBytes; + + /* using the outbuf inptr in order to get the number of bytes in the return answer at the right place*/ + IOMapComm.HsOutBuf.InPtr = NumberOfBytes; + + /* call the data stream interpreter */ + cCommInterprete(IOMapComm.HsInBuf.Buf, IOMapComm.HsOutBuf.Buf, &(IOMapComm.HsOutBuf.InPtr), (UBYTE) HS_CMD_READY, NumberOfBytes); + + /* if there is a reply to be sent then send it */ + if (IOMapComm.HsOutBuf.InPtr) + { + dHiSpeedSendData(IOMapComm.HsOutBuf.Buf, IOMapComm.HsOutBuf.InPtr); + IOMapComm.HsOutBuf.InPtr = 0; + } + } } } @@ -1857,7 +1925,7 @@ void cCommUpdateBt(void) { IOMapComm.BtConnectTable[(VarsComm.BtUpdateDataConnectNr & ~0x80)].StreamStatus = 1; *(VarsComm.pRetVal) = SUCCESS; - SETBtDataState(IOMapComm.BtState); + SETBtDataState; SETBtStateIdle; } } @@ -2653,7 +2721,7 @@ void cCommUpdateBt(void) { IOMapComm.BtConnectTable[0].StreamStatus = 1; *(VarsComm.pRetVal) = SUCCESS; - SETBtDataState(IOMapComm.BtState); + SETBtDataState; SETBtStateIdle; } } @@ -3335,7 +3403,7 @@ void cCommsOpenStream(UBYTE *pNextState) { if (VarsComm.BtBcPinLevel) { - SETBtDataState(IOMapComm.BtState); + SETBtDataState; IOMapComm.BtConnectTable[VarsComm.BtCmdData.ParamTwo].StreamStatus = 1; VarsComm.StreamStateCnt = 0; (*pNextState)++; diff --git a/AT91SAM7S256/Source/c_comm.iom b/AT91SAM7S256/Source/c_comm.iom index 0f6648b..98edff7 100644 --- a/AT91SAM7S256/Source/c_comm.iom +++ b/AT91SAM7S256/Source/c_comm.iom @@ -38,10 +38,15 @@ enum BT_ARM_OFF, BT_ARM_CMD_MODE, BT_ARM_DATA_MODE, - BT_ARM_GPS_MODE, - BT_ARM_RAW_MODE }; +// Constants refering to BtDataMode and HsDataMode +#define DATA_MODE_NXT 0x00 +#define DATA_MODE_GPS 0x01 +#define DATA_MODE_RAW 0x02 +#define DATA_MODE_MASK 0x07 +#define DATA_MODE_UPDATE 0x08 + //Constant reffering to BtStateStatus #define BT_BRICK_VISIBILITY 0x01 #define BT_BRICK_PORT_OPEN 0x02 @@ -267,11 +272,12 @@ typedef struct UBYTE HsState; UBYTE UsbState; + UBYTE Spare1; // fill the vacant byte that would otherwise be here UWORD HsMode; - UBYTE BtState; // off, cmd, data, gps, raw - UBYTE Unused1; + UBYTE BtDataMode; // nxt, gps, raw + UBYTE HsDataMode; // nxt, gps, raw }IOMAPCOMM; diff --git a/AT91SAM7S256/Source/c_display.c b/AT91SAM7S256/Source/c_display.c index 0c6f1b2..1732667 100644 --- a/AT91SAM7S256/Source/c_display.c +++ b/AT91SAM7S256/Source/c_display.c @@ -336,8 +336,7 @@ void cDisplayLineX(UBYTE X1, UBYTE X2, UBYTE Y, UBYTE PixelMode) M = 1 << (Y % 8); Y >>= 3; - - for (X=X1; X<=X2; X++) + for (X = X1;X <= X2;X++) { switch (PixelMode) { @@ -461,6 +460,7 @@ void cDisplayFillScreen(SCREEN_CORDINATE *pCord, UBYTE PixelMode) } } + void cDisplayDraw(UBYTE Cmd,UBYTE PixelMode,UBYTE X1,UBYTE Y1,UBYTE X2,UBYTE Y2) { SCREEN_CORDINATE Coord; diff --git a/AT91SAM7S256/Source/c_input.c b/AT91SAM7S256/Source/c_input.c index 2786326..4c4dc01 100644 --- a/AT91SAM7S256/Source/c_input.c +++ b/AT91SAM7S256/Source/c_input.c @@ -2,11 +2,11 @@ // // Date init 14.12.2004 // -// Revision date $Date:: 3/21/09 10:31a $ +// Revision date $Date:: 19-03-10 12:36 $ // // Filename $Workfile:: c_input.c $ // -// Version $Revision:: 39 $ +// Version $Revision:: 40 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_inpu $ // @@ -263,9 +263,12 @@ void cInputCtrl(void) /* A type change has been carried out earlier - waiting for valid data */ /* The color sensor requires special startup sequence with communication */ - if ((sType == COLORFULL) || (sType == COLORRED) || - (sType == COLORGREEN)|| (sType == COLORBLUE) || - (sType == COLOREXIT) || (sType == COLORNONE)) + if ((sType == COLORFULL) || + (sType == COLORRED) || + (sType == COLORGREEN)|| + (sType == COLORBLUE) || + (sType == COLOREXIT) || + (sType == COLORNONE)) { cInputCalcSensorValues(Tmp); } @@ -359,10 +362,11 @@ void cInputCalcSensorValues(UBYTE No) &(VarsInput.EdgeCnt[No]), ((IOMapInput.Inputs[No].SensorMode) & SLOPEMASK), ((IOMapInput.Inputs[No].SensorMode) & MODEMASK)); + } break; - /* Triple case intended */ + /* Tripple case intended */ case LOWSPEED: case LOWSPEED_9V: case HIGHSPEED: @@ -382,11 +386,6 @@ void cInputCalcSensorValues(UBYTE No) { case SENSOROFF: { - - /* Make sure that sensor data are invalid while unplugged*/ - VarsInput.InvalidTimer[No] = INVALID_RELOAD_COLOR; - IOMapInput.Inputs[No].InvalidData = INVALID_DATA; - /* Check if sensor has been attached */ if (dInputCheckColorStatus(No)) { @@ -449,11 +448,6 @@ void cInputCalcSensorValues(UBYTE No) { case SENSOROFF: { - - /* Make sure that sensor data are invalid while unplugged */ - VarsInput.InvalidTimer[No] = INVALID_RELOAD_COLOR; - IOMapInput.Inputs[No].InvalidData = INVALID_DATA; - /* Check if sensor has been attached */ if (dInputCheckColorStatus(No)) { @@ -1109,6 +1103,8 @@ void cInputSetupType(UBYTE Port, UBYTE newType, UBYTE OldType) dInputSetDirInDigi1(Port); IOMapInput.Colors[Port].CalibrationState = SENSORCAL; VarsInput.VarsColor[Port].ColorInitState = 0; + + IOMapInput.Inputs[Port].SensorValue = BLACKCOLOR; } break; diff --git a/AT91SAM7S256/Source/c_loader.c b/AT91SAM7S256/Source/c_loader.c index d6ee342..b9f290f 100644 --- a/AT91SAM7S256/Source/c_loader.c +++ b/AT91SAM7S256/Source/c_loader.c @@ -312,10 +312,7 @@ UWORD cLoaderFileRq(UBYTE Cmd, UBYTE *pFileName, UBYTE *pBuffer, ULONG *pLen case DELETE: { ReturnState = cLoaderDeleteFile(pFileName); -/* - ReturnState = dLoaderDelete(pFileName); - IOMapLoader.FreeUserFlash = dLoaderReturnFreeUserFlash(); -*/ + } break; case DELETEUSERFLASH: diff --git a/AT91SAM7S256/Source/c_loader.iom b/AT91SAM7S256/Source/c_loader.iom index 6ad2d53..c0549b1 100644 --- a/AT91SAM7S256/Source/c_loader.iom +++ b/AT91SAM7S256/Source/c_loader.iom @@ -1,11 +1,11 @@ // // Date init 14.12.2004 // -// Revision date $Date:: 16-12-08 12:11 $ +// Revision date $Date:: 19-03-10 12:36 $ // // Filename $Workfile:: c_loader.iom $ // -// Version $Revision:: 14 $ +// Version $Revision:: 17 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/c_load $ // @@ -21,7 +21,7 @@ //For example, version 1.5 would be 0x0105 //If these switch to little-endian, be sure to update //definition and usages of VM_OLDEST_COMPATIBLE_VERSION, too! -#define FIRMWAREVERSION 0x011C //1.28 +#define FIRMWAREVERSION 0x011F //1.31 #define PROTOCOLVERSION 0x017C //1.124 enum diff --git a/AT91SAM7S256/Source/c_output.c b/AT91SAM7S256/Source/c_output.c index ca3c494..212cc89 100644 --- a/AT91SAM7S256/Source/c_output.c +++ b/AT91SAM7S256/Source/c_output.c @@ -92,7 +92,7 @@ void cOutputCtrl(void) pOut->Flags &= ~UPDATE_SPEED; if (pOut->Mode & MOTORON) { - dOutputSetSpeed(Tmp, pOut->RunState, pOut->Speed, pOut->SyncTurnParameter); + dOutputSetSpeed (Tmp, pOut->RunState, pOut->Speed, pOut->SyncTurnParameter); } } if (pOut->Flags & UPDATE_TACHO_LIMIT) diff --git a/AT91SAM7S256/Source/d_loader.c b/AT91SAM7S256/Source/d_loader.c index 86f428f..99624e8 100644 --- a/AT91SAM7S256/Source/d_loader.c +++ b/AT91SAM7S256/Source/d_loader.c @@ -1,11 +1,11 @@ // // Date init 14.12.2004 // -// Revision date $Date:: 2-12-08 14:30 $ +// Revision date $Date:: 24-06-09 8:53 $ // // Filename $Workfile:: d_loader.c $ // -// Version $Revision:: 16 $ +// Version $Revision:: 18 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/d_load $ // @@ -20,7 +20,7 @@ #include #include -#define FILEVERSION (0x0000010CL) +#define FILEVERSION (0x0000010DL) //(0x0000010CL) #define MAX_FILES ((FILETABLE_SIZE) - 1) /* Last file entry is used for file version*/ #define FILEVERSIONINDEX ((FILETABLE_SIZE) - 1) /* Last file entry is used for file version*/ @@ -219,7 +219,9 @@ UWORD dLoaderDeleteFilePtr(UWORD Handle) /* Update the HandleTable[].FileIndex */ for (LongCnt = 0; LongCnt < MAX_HANDLES; LongCnt++) { - if ((HandleTable[Handle].FileIndex <= HandleTable[LongCnt].FileIndex) && (FREE != HandleTable[LongCnt].Status)) + + /* FileIndex must not be decremented for to the file to be deleted (when Handle = LongCnt)*/ + if ((HandleTable[Handle].FileIndex < HandleTable[LongCnt].FileIndex) && (FREE != HandleTable[LongCnt].Status)) { (HandleTable[LongCnt].FileIndex)--; } diff --git a/AT91SAM7S256/Source/d_loader.h b/AT91SAM7S256/Source/d_loader.h index 2f564ba..e5ecb82 100644 --- a/AT91SAM7S256/Source/d_loader.h +++ b/AT91SAM7S256/Source/d_loader.h @@ -1,11 +1,11 @@ // // Date init 14.12.2004 // -// Revision date $Date:: 3/21/09 10:03a $ +// Revision date $Date:: 24-06-09 12:15 $ // // Filename $Workfile:: d_loader.h $ // -// Version $Revision:: 17 $ +// Version $Revision:: 18 $ // // Archive $Archive:: /LMS2006/Sys01/Main_V02/Firmware/Source/d_load $ // @@ -18,7 +18,7 @@ #define FILETABLE_SIZE ((2 * SECTORSIZE)/4) #define STARTOFFILETABLE (0x140000L - (FILETABLE_SIZE*4)) #define FILEPTRTABLE ((const ULONG*)(0x140000L - (FILETABLE_SIZE*4))) -#define STARTOFUSERFLASH (0x125800L)//(0x124600L) +#define STARTOFUSERFLASH (0x125800L)//(0x124600L) 1.31 == (0x122100L) #define SIZEOFUSERFLASH ((ULONG)STARTOFFILETABLE - STARTOFUSERFLASH) #define SIZEOFFLASH 262144L diff --git a/AT91SAM7S256/Source/d_lowspeed.r b/AT91SAM7S256/Source/d_lowspeed.r index 3ca660d..30e71b8 100644 --- a/AT91SAM7S256/Source/d_lowspeed.r +++ b/AT91SAM7S256/Source/d_lowspeed.r @@ -144,87 +144,121 @@ const ULONG CLK_OR_DATA_PINS[4] = {CHANNEL_ONE_CLK | CHANNEL_ONE_DATA, #define SETDebugOutputLow *AT91C_PIOA_CODR = 0x20000000 + #define SETClkComOneHigh *AT91C_PIOA_SODR = CHANNEL_ONE_CLK + #define SETClkComOneLow *AT91C_PIOA_CODR = CHANNEL_ONE_CLK + #define GetClkComOnePinLevel *AT91C_PIOA_PDSR & CHANNEL_ONE_CLK #define SETClkComTwoHigh *AT91C_PIOA_SODR = CHANNEL_TWO_CLK + #define SETClkComTwoLow *AT91C_PIOA_CODR = CHANNEL_TWO_CLK + #define GetClkComTwoPinLevel *AT91C_PIOA_PDSR & CHANNEL_TWO_CLK #define SETClkComThreeHigh *AT91C_PIOA_SODR = CHANNEL_THREE_CLK + #define SETClkComThreeLow *AT91C_PIOA_CODR = CHANNEL_THREE_CLK + #define GetClkComThreePinLevel *AT91C_PIOA_PDSR & CHANNEL_THREE_CLK #define SETClkComFourHigh *AT91C_PIOA_SODR = CHANNEL_FOUR_CLK + #define SETClkComFourLow *AT91C_PIOA_CODR = CHANNEL_FOUR_CLK + #define GetClkComFourPinLevel *AT91C_PIOA_PDSR & CHANNEL_FOUR_CLK + #define SETDataComOneHigh *AT91C_PIOA_SODR = CHANNEL_ONE_DATA + #define SETDataComOneLow *AT91C_PIOA_CODR = CHANNEL_ONE_DATA + #define GetDataComOnePinLevel *AT91C_PIOA_PDSR & CHANNEL_ONE_DATA + #define GETDataComOnePinDirection *AT91C_PIOA_OSR & CHANNEL_ONE_DATA #define SETDataComTwoHigh *AT91C_PIOA_SODR = CHANNEL_TWO_DATA + #define SETDataComTwoLow *AT91C_PIOA_CODR = CHANNEL_TWO_DATA + #define GetDataComTwoPinLevel *AT91C_PIOA_PDSR & CHANNEL_TWO_DATA + #define GETDataComTwoPinDirection *AT91C_PIOA_OSR & CHANNEL_TWO_DATA #define SETDataComThreeHigh *AT91C_PIOA_SODR = CHANNEL_THREE_DATA + #define SETDataComThreeLow *AT91C_PIOA_CODR = CHANNEL_THREE_DATA + #define GetDataComThreePinLevel *AT91C_PIOA_PDSR & CHANNEL_THREE_DATA + #define GETDataComThreePinDirection *AT91C_PIOA_OSR & CHANNEL_THREE_DATA #define SETDataComFourHigh *AT91C_PIOA_SODR = CHANNEL_FOUR_DATA + #define SETDataComFourLow *AT91C_PIOA_CODR = CHANNEL_FOUR_DATA + #define GetDataComFourPinLevel *AT91C_PIOA_PDSR & CHANNEL_FOUR_DATA + #define GETDataComFourPinDirection *AT91C_PIOA_OSR & CHANNEL_FOUR_DATA #define SETDataComOneToInput *AT91C_PIOA_ODR = CHANNEL_ONE_DATA; + #define SETDataComOneToOutput *AT91C_PIOA_OER = CHANNEL_ONE_DATA; #define SETDataComTwoToInput *AT91C_PIOA_ODR = CHANNEL_TWO_DATA; + #define SETDataComTwoToOutput *AT91C_PIOA_OER = CHANNEL_TWO_DATA; #define SETDataComThreeToInput *AT91C_PIOA_ODR = CHANNEL_THREE_DATA; + #define SETDataComThreeToOutput *AT91C_PIOA_OER = CHANNEL_THREE_DATA; #define SETDataComFourToInput *AT91C_PIOA_ODR = CHANNEL_FOUR_DATA; + #define SETDataComFourToOutput *AT91C_PIOA_OER = CHANNEL_FOUR_DATA; #define DISABLEPullupDataComOne *AT91C_PIOA_PPUDR = CHANNEL_ONE_DATA; + #define DISABLEPullupClkComOne *AT91C_PIOA_PPUDR = CHANNEL_ONE_CLK; #define DISABLEPullupDataComTwo *AT91C_PIOA_PPUDR = CHANNEL_TWO_DATA; + #define DISABLEPullupClkComTwo *AT91C_PIOA_PPUDR = CHANNEL_TWO_CLK; #define DISABLEPullupDataComThree *AT91C_PIOA_PPUDR = CHANNEL_THREE_DATA; + #define DISABLEPullupClkComThree *AT91C_PIOA_PPUDR = CHANNEL_THREE_CLK; #define DISABLEPullupDataComFour *AT91C_PIOA_PPUDR = CHANNEL_FOUR_DATA; + #define DISABLEPullupClkComFour *AT91C_PIOA_PPUDR = CHANNEL_FOUR_CLK; #define ENABLEPullupDataComOne *AT91C_PIOA_PPUER = CHANNEL_ONE_DATA; + #define ENABLEPullupClkComOne *AT91C_PIOA_PPUER = CHANNEL_ONE_CLK; #define ENABLEPullupDataComTwo *AT91C_PIOA_PPUER = CHANNEL_TWO_DATA; + #define ENABLEPullupClkComTwo *AT91C_PIOA_PPUER = CHANNEL_TWO_CLK; #define ENABLEPullupDataComThree *AT91C_PIOA_PPUER = CHANNEL_THREE_DATA; + #define ENABLEPullupClkComThree *AT91C_PIOA_PPUER = CHANNEL_THREE_CLK; #define ENABLEPullupDataComFour *AT91C_PIOA_PPUER = CHANNEL_FOUR_DATA; + #define ENABLEPullupClkComFour *AT91C_PIOA_PPUER = CHANNEL_FOUR_CLK; #define SETClkLow(ChannelNr) {\ *AT91C_PIOA_CODR = CLK_PINS[ChannelNr];\ LowSpeedData[ChannelNr].ClkStatus = 0;\ -} + } #define SETClkHigh(ChannelNr) {\ *AT91C_PIOA_SODR = CLK_PINS[ChannelNr];\ LowSpeedData[ChannelNr].ClkStatus = 1;\ -} + } #define SETDataLow(ChannelNr) {\ *AT91C_PIOA_CODR = DATA_PINS[ChannelNr];\ @@ -248,11 +282,11 @@ const ULONG CLK_OR_DATA_PINS[4] = {CHANNEL_ONE_CLK | CHANNEL_ONE_DATA, #define ENABLEPWMTimerForLowCom {\ *AT91C_PWMC_ENA = AT91C_PWMC_CHID0; /* Enable PWM output channel 0 */\ -} + } #define DISABLEPWMTimerForLowCom {\ *AT91C_PWMC_DIS = AT91C_PWMC_CHID0; /* Disable PWM output channel 0 */\ -} + } #define OLD_DISABLEPWMTimerForLowCom {\ *AT91C_PWMC_DIS = AT91C_PWMC_CHID0; /* Disable PWM output channel 0 */\ @@ -609,7 +643,7 @@ __ramfunc void LowSpeedPwmIrqHandler(void) LowSpeedData[ChannelNumber].RxState = RX_DATA_CLK_LOW;\ LowSpeedData[ChannelNumber].ReStartBit = (1 - (NoRestart & (1< 500) + { + SyncData.SyncTachoDif = 500; + } + if (SyncData.SyncTachoDif < -500) + { + SyncData.SyncTachoDif = -500; + } + + /* if ((SWORD)SyncData.SyncTachoDif > 500) { SyncData.SyncTachoDif = 500; @@ -971,6 +981,7 @@ void dOutputSyncMotorPosition(UBYTE MotorOne, UBYTE MotorTwo) { SyncData.SyncTachoDif = -500; } + */ PValue = (SWORD)SyncData.SyncTachoDif * (SWORD)(pOne->RegPParameter/REG_CONST_DIV); @@ -1116,140 +1127,6 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) pTwo->MotorRunState = pTwo->RunStateAtLimit; pTwo->RegulationMode = REGSTATE_IDLE; } -/* - if (MotorNr == MOTOR_A) - { - MotorOne = MotorNr; - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - else - { - MotorTwo = MotorOne + 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - else - { - //Only Motor A has Sync setting => Stop normal - MotorData[MotorNr].MotorSetSpeed = 0; - MotorData[MotorNr].MotorTargetSpeed = 0; - MotorData[MotorNr].MotorActualSpeed = 0; - MotorData[MotorNr].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorNr].RegulationMode = REGSTATE_IDLE; - } - } - } - if (MotorNr == MOTOR_B) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - else - { - //Only Motor B has Sync settings => Stop normal - MotorData[MotorNr].MotorSetSpeed = 0; - MotorData[MotorNr].MotorTargetSpeed = 0; - MotorData[MotorNr].MotorActualSpeed = 0; - MotorData[MotorNr].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorNr].RegulationMode = REGSTATE_IDLE; - } - } - if (MotorNr == MOTOR_C) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - MotorData[MotorOne].MotorSetSpeed = 0; - MotorData[MotorOne].MotorTargetSpeed = 0; - MotorData[MotorOne].MotorActualSpeed = 0; - MotorData[MotorOne].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorOne].RegulationMode = REGSTATE_IDLE; - MotorData[MotorTwo].MotorSetSpeed = 0; - MotorData[MotorTwo].MotorTargetSpeed = 0; - MotorData[MotorTwo].MotorActualSpeed = 0; - MotorData[MotorTwo].MotorRunState = pTwo->RunStateAtLimit; - MotorData[MotorTwo].RegulationMode = REGSTATE_IDLE; - } - else - { - //Only Motor C has Sync settings => Stop normal - MotorData[MotorNr].MotorSetSpeed = 0; - MotorData[MotorNr].MotorTargetSpeed = 0; - MotorData[MotorNr].MotorActualSpeed = 0; - MotorData[MotorNr].MotorRunState = pOne->RunStateAtLimit; - MotorData[MotorNr].RegulationMode = REGSTATE_IDLE; - } - } -*/ } else { @@ -1281,83 +1158,6 @@ void dOutputSyncTachoLimitControl(UBYTE MotorNr) } if (MotorTwo == 0xFF) MotorOne = 0xFF; -/* - if (MotorNr == MOTOR_A) - { - MotorOne = MotorNr; - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - } - else - { - MotorTwo = MotorOne + 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - } - else - { - //Only Motor A has Sync setting => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_B) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B, which has already been called when running throught motor A - //MotorOne = 0xFF; - //MotorTwo = 0xFF; - } - else - { - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - } - else - { - //Only Motor B has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_C) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C, which has already been called when running throught motor A - //MotorOne = 0xFF; - //MotorTwo = 0xFF; - } - else - { - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C, which has already been called when running throught motor B - //MotorOne = 0xFF; - //MotorTwo = 0xFF; - } - else - { - //Only Motor C has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } -*/ if ((MotorOne != 0xFF) && (MotorTwo != 0xFF)) { MOTORDATA * pOne = &(MotorData[MotorOne]); @@ -1523,77 +1323,6 @@ void dOutputResetSyncMotors(UBYTE MotorNr) } if (MotorTwo == 0xFF) MotorOne = 0xFF; -/* - if (MotorNr == MOTOR_A) - { - MotorOne = MotorNr; - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - } - else - { - MotorTwo = MotorOne + 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - } - else - { - //Only Motor A has Sync setting => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_B) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - } - else - { - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - } - else - { - //Only Motor B has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_C) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - } - else - { - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - } - else - { - //Only Motor C has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } -*/ MOTORDATA * pMD = &(MotorData[MotorNr]); if ((MotorOne != 0xFF) && (MotorTwo != 0xFF)) { @@ -1627,79 +1356,6 @@ void dOutputRampDownSynch(UBYTE MotorNr) } if (MotorTwo == 0xFF) MotorOne = 0xFF; -/* - if (MotorNr == MOTOR_A) - { - MotorOne = MotorNr; - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B - } - else - { - MotorTwo = MotorOne + 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C - } - else - { - //Only Motor A has Sync setting => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_B) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & B, which has already been called when running throught motor A - //MotorOne = 0xFF; - //MotorTwo = 0xFF; - } - else - { - MotorTwo = MotorOne + 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C - } - else - { - //Only Motor B has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } - if (MotorNr == MOTOR_C) - { - MotorOne = MotorNr; - MotorTwo = MotorOne - 2; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor A & C, which has already been called when running throught motor A - } - else - { - MotorTwo = MotorOne - 1; - if (MotorData[MotorTwo].RegulationMode & REGSTATE_SYNCHRONE) - { - //Synchronise motor B & C,, which has already been called when running throught motor B - } - else - { - //Only Motor C has Sync settings => Stop normal - MotorOne = 0xFF; - MotorTwo = 0xFF; - } - } - } -*/ if ((MotorOne != 0xFF) && (MotorTwo != 0xFF)) { MOTORDATA * pOne = &(MotorData[MotorOne]); -- cgit v1.2.3 From 9fd753c2853ab23c0584f4b9345bd1719363f2bd Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Tue, 19 Oct 2010 17:29:09 +0000 Subject: Fixed a couple hi-speed port problems git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@27 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep | 3357 ++++++++++----------- AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt | 6 +- AT91SAM7S256/Source/c_cmd.c | 6 +- AT91SAM7S256/Source/c_comm.c | 1 + AT91SAM7S256/Source/c_comm.iom | 3 +- 5 files changed, 1686 insertions(+), 1687 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep index 6e43b6d..10e882b 100644 --- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep +++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep @@ -6,132 +6,50 @@ Benchmark - $PROJ_DIR$\Benchmark\Obj\d_input.r79 - $PROJ_DIR$\Benchmark\Obj\c_loader.r79 - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\Benchmark\Obj\d_usb.pbi - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\Benchmark\Obj\c_loader.pbi + $PROJ_DIR$\Benchmark\Obj\m_sched.r79 + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\Benchmark\Obj\c_sound.pbi $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\Benchmark\Obj\c_display.pbi - $PROJ_DIR$\Benchmark\Obj\d_button.pbi - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\Benchmark\Obj\d_timer.r79 - $PROJ_DIR$\Benchmark\Obj\Cstartup.r79 - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 + $PROJ_DIR$\Benchmark\Obj\d_display.r79 $TOOLKIT_DIR$\inc\xtls.h $PROJ_DIR$\..\..\Source\c_loader.h $PROJ_DIR$\Benchmark\Obj\m_sched.pbi $PROJ_DIR$\Benchmark\Obj\c_button.pbi - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79 - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 - $PROJ_DIR$\Benchmark\Obj\c_comm.pbi - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\DLib_Threads.h $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\Submenu04.rms $TOOLKIT_DIR$\inc\DLib_Defaults.h $PROJ_DIR$\..\..\Source\Submenu02.rms $PROJ_DIR$\Benchmark\Obj\c_cmd.pbi $PROJ_DIR$\Benchmark\Obj\d_hispeed.r79 - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\Benchmark\Obj\c_sound.pbi - $PROJ_DIR$\Benchmark\Obj\c_loader.pbi - $PROJ_DIR$\Benchmark\Obj\m_sched.r79 - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\Benchmark\Obj\d_loader.pbi - $PROJ_DIR$\Benchmark\Obj\c_ui.pbi - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 - $PROJ_DIR$\Benchmark\Obj\d_display.r79 - $PROJ_DIR$\Benchmark\Obj\d_bt.pbi - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\Benchmark\Obj\d_display.pbi - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\Benchmark\Obj\c_display.r79 - $PROJ_DIR$\Benchmark\Obj\d_input.pbi $TOOLKIT_DIR$\inc\xlocale.h $PROJ_DIR$\Benchmark\Obj\c_button.r79 $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_2.txt $PROJ_DIR$\Benchmark\Obj\c_comm.r79 - $PROJ_DIR$\Benchmark\Obj\c_input.pbi - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\Benchmark\Obj\c_ui.r79 - $PROJ_DIR$\Benchmark\Obj\d_button.r79 - $PROJ_DIR$\Benchmark\Obj\d_bt.r79 - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h $PROJ_DIR$\Benchmark\Obj\c_lowspeed.pbi - $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\Benchmark\Obj\d_output.pbi $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\Benchmark\Obj\d_usb.r79 $PROJ_DIR$\Benchmark\Obj\c_input.r79 $PROJ_DIR$\..\..\Source\c_ioctrl.iom $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\Benchmark\Obj\d_usb.r79 $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.pbi $PROJ_DIR$\..\..\Source\c_input.iom $PROJ_DIR$\Benchmark\Obj\c_output.pbi - $PROJ_DIR$\..\..\Source\RCXintro_14.txt $PROJ_DIR$\Benchmark\Obj\d_sound.pbi - $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\RCXintro_14.txt $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\d_timer.h $PROJ_DIR$\..\..\Source\Status.txt $PROJ_DIR$\..\..\Source\Step.txt @@ -142,45 +60,122 @@ $PROJ_DIR$\..\..\Source\c_comm.iom $PROJ_DIR$\..\..\Source\c_comm.h $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Cursor.txt $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\RCXintro_13.txt $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\RCXintro_16.txt $PROJ_DIR$\Benchmark\Obj\d_loader.r79 $PROJ_DIR$\..\..\Source\Test1.txt $PROJ_DIR$\..\..\Source\c_loader.iom $PROJ_DIR$\..\..\Source\d_button.r $PROJ_DIR$\Benchmark\Obj\d_timer.pbi - $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\c_output.iom $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\d_sound.r $TOOLKIT_DIR$\inc\xlocale_c.h $PROJ_DIR$\..\..\Source\d_sound.h $TOOLKIT_DIR$\inc\yvals.h $PROJ_DIR$\Benchmark\Obj\c_ioctrl.pbi + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h $PROJ_DIR$\Benchmark\Obj\c_sound.r79 $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\..\..\Source\d_hispeed.r $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\..\Source\RCXintro_4.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h $PROJ_DIR$\Benchmark\Obj\c_cmd.r79 + $PROJ_DIR$\..\..\Source\RCXintro_4.txt $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt $PROJ_DIR$\Benchmark\Obj\c_output.r79 - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi + $PROJ_DIR$\Benchmark\Obj\d_usb.pbi + $PROJ_DIR$\Benchmark\Obj\c_display.pbi + $PROJ_DIR$\Benchmark\Obj\d_button.pbi + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\Benchmark\Obj\d_timer.r79 + $PROJ_DIR$\Benchmark\Obj\Cstartup.r79 + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\Benchmark\Obj\c_comm.pbi + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79 + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\Benchmark\Obj\d_input.r79 + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 + $PROJ_DIR$\Benchmark\Obj\c_ui.pbi + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\Benchmark\Obj\c_display.r79 + $PROJ_DIR$\Benchmark\Obj\d_input.pbi + $PROJ_DIR$\Benchmark\Obj\c_loader.r79 + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 + $PROJ_DIR$\Benchmark\Obj\d_loader.pbi + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\Benchmark\Obj\d_display.pbi + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\Benchmark\Obj\d_bt.pbi + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\..\..\Source\c_display.c $PROJ_DIR$\..\..\Source\c_input.c $PROJ_DIR$\..\..\Source\c_ioctrl.c @@ -190,626 +185,631 @@ $PROJ_DIR$\..\..\Source\c_sound.c $PROJ_DIR$\..\..\Source\c_ui.c $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c $PROJ_DIR$\..\..\Source\d_bt.c $PROJ_DIR$\..\..\Source\d_button.c $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\Benchmark\Obj\c_input.pbi + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\Benchmark\Obj\c_ui.r79 + $PROJ_DIR$\Benchmark\Obj\d_button.r79 + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\Benchmark\Obj\d_bt.r79 + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\c_button.c + [ROOT_NODE] - BICOMP - 24 + XLINK + 112 + + + + $PROJ_DIR$\..\..\Source\c_cmd.c + ICCARM - 93 + 86 - - BICOMP - 166 68 139 74 50 + 22 + + ICCARM - 166 68 139 74 50 + 84 126 76 68 37 65 148 47 131 49 51 116 142 145 44 59 74 20 57 124 139 18 90 88 105 56 + + + BICOMP + 84 126 76 68 37 65 148 47 131 49 51 116 142 145 44 59 74 20 124 139 18 90 88 105 56 - $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\c_comm.c - - BICOMP - 47 - ICCARM - 169 + 27 - - BICOMP - 166 68 161 151 119 147 85 129 74 131 133 61 75 42 126 143 156 45 66 59 18 25 170 38 136 + 104 + + ICCARM - 166 68 161 151 119 147 85 129 74 131 133 61 75 42 126 143 156 45 137 66 59 18 25 170 38 136 + 84 126 51 65 34 148 76 49 52 194 77 42 88 74 20 57 124 139 18 90 102 24 13 99 105 168 72 82 127 154 - - - - [ROOT_NODE] - - XLINK - 3 + BICOMP + 84 126 51 65 34 148 76 49 52 194 77 42 88 74 20 124 139 18 90 102 24 13 99 105 168 72 82 127 154 - + $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd BILINK - 118 24 47 37 9 97 157 55 110 120 54 63 79 10 86 52 91 28 62 26 112 122 149 6 23 + 36 16 22 104 96 184 75 0 28 38 7 121 153 97 149 4 135 94 141 92 29 39 67 95 15 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - BICOMP - 37 + ICCARM + 23 - ICCARM - 96 + BICOMP + 4 - BICOMP - 166 68 133 147 115 85 161 131 134 106 162 125 170 156 45 66 59 18 25 15 92 21 12 38 19 154 164 69 80 + ICCARM + 84 197 146 117 77 83 - ICCARM - 166 68 133 147 115 85 161 131 134 106 162 125 170 156 45 137 66 59 18 25 15 92 21 12 38 19 154 164 69 80 + BICOMP + 84 197 146 117 77 83 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - BICOMP - 118 + ICCARM + 114 - ICCARM - 104 + BICOMP + 135 - BICOMP - 29 + ICCARM + 84 197 146 117 195 37 144 196 - ICCARM - 29 + BICOMP + 84 197 146 117 195 37 144 196 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - BICOMP - 9 + ICCARM + 140 - ICCARM - 90 + BICOMP + 94 - BICOMP - 170 156 45 66 59 18 25 166 68 131 40 11 + ICCARM + 88 74 20 57 124 139 18 90 84 197 146 117 137 128 - ICCARM - 170 156 45 137 66 59 18 25 166 68 131 40 11 + BICOMP + 88 74 20 124 139 18 90 84 197 146 117 137 128 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_loader.c - BICOMP - 97 + ICCARM + 63 - ICCARM - 114 + BICOMP + 141 - BICOMP - 166 68 107 119 2 151 + ICCARM + 84 126 197 146 117 2 26 88 74 20 57 124 139 18 90 102 24 13 99 105 168 72 82 127 154 - ICCARM - 166 68 107 119 2 151 + BICOMP + 84 126 197 146 117 2 26 88 74 20 124 139 18 90 102 24 13 99 105 168 72 82 127 154 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - BICOMP - 157 + ICCARM + 11 - ICCARM - 31 + BICOMP + 92 - BICOMP - 166 68 115 168 49 + ICCARM + 84 197 146 117 118 30 - ICCARM - 166 68 115 168 49 + BICOMP + 84 197 146 117 118 30 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_output.c - BICOMP - 55 + ICCARM + 50 - ICCARM - 1 + BICOMP + 29 - BICOMP - 166 68 147 115 57 22 + ICCARM + 84 197 146 117 125 110 - ICCARM - 166 68 147 115 57 22 + BICOMP + 84 197 146 117 125 110 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_sound.c - BICOMP - 110 + ICCARM + 48 - ICCARM - 36 + BICOMP + 39 - BICOMP - 166 68 61 119 43 34 + ICCARM + 84 197 146 117 73 71 - ICCARM - 166 68 61 119 43 34 + BICOMP + 84 197 146 117 73 71 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_timer.c - BICOMP - 120 + ICCARM + 100 - ICCARM - 172 + BICOMP + 67 - BICOMP - 143 156 45 66 59 18 25 35 166 68 151 53 67 131 + ICCARM + 84 197 146 117 44 106 - ICCARM - 143 156 45 137 66 59 18 25 35 166 68 151 53 67 131 + BICOMP + 84 197 146 117 44 106 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_usb.c - BICOMP - 54 + ICCARM + 32 - ICCARM - 163 + BICOMP + 95 - BICOMP - 38 156 45 66 59 18 25 170 166 68 129 147 103 155 + ICCARM + 84 197 146 117 194 10 - ICCARM - 38 156 45 137 66 59 18 25 170 166 68 129 147 103 155 + BICOMP + 84 197 146 117 194 10 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\m_sched.c - BICOMP - 63 + ICCARM + 1 - ICCARM - 100 + BICOMP + 15 - BICOMP - 143 156 45 66 59 18 25 170 15 92 21 12 38 19 154 164 69 80 166 68 85 88 109 81 33 131 147 74 129 119 151 115 161 133 61 135 70 105 128 138 141 58 89 20 27 144 64 160 95 4 167 123 158 51 73 30 99 171 41 140 121 111 142 127 82 150 152 5 87 46 44 16 98 116 196 17 146 83 + ICCARM + 84 126 197 146 117 79 52 195 37 55 131 14 191 107 152 5 142 145 76 85 132 - ICCARM - 143 156 45 137 66 59 18 25 170 15 92 21 12 38 19 154 164 69 80 166 68 85 88 109 81 33 131 147 74 129 119 151 115 161 133 61 135 70 105 128 138 141 58 89 20 27 144 64 160 95 4 167 123 158 51 73 30 99 171 41 140 121 111 142 127 82 150 152 5 87 46 44 16 98 116 196 17 146 83 + BICOMP + 84 126 197 146 117 79 52 195 37 55 131 14 191 107 152 5 142 145 76 85 132 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_display.c - AARM - 14 + ICCARM + 134 + + + BICOMP + 96 - AARM - 84 + ICCARM + 88 74 20 57 124 139 18 90 84 126 49 107 98 + + + BICOMP + 88 74 20 124 139 18 90 84 126 49 107 98 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_input.c - BICOMP - 79 + ICCARM + 33 - ICCARM - 102 + BICOMP + 184 - BICOMP - 166 68 109 81 33 125 65 170 156 45 66 59 18 25 + ICCARM + 84 126 195 37 144 68 - ICCARM - 166 68 109 81 33 125 65 170 156 45 137 66 59 18 25 + BICOMP + 84 126 195 37 144 68 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - BICOMP - 10 + ICCARM + 109 - ICCARM - 101 + BICOMP + 75 - BICOMP - 166 109 81 33 50 148 + ICCARM + 84 126 34 85 137 - ICCARM - 166 109 81 33 50 148 + BICOMP + 84 126 34 85 137 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\c_loader.c - BICOMP - 86 + ICCARM + 136 - ICCARM - 78 + BICOMP + 0 - BICOMP - 166 109 81 33 170 156 45 66 59 18 25 11 72 + ICCARM + 84 126 65 34 2 14 - ICCARM - 166 109 81 33 11 72 + BICOMP + 84 126 65 34 2 14 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - BICOMP - 52 + ICCARM + 120 - ICCARM - 48 + BICOMP + 28 - BICOMP - 166 109 81 33 162 165 + ICCARM + 84 126 116 37 152 118 - ICCARM - 166 109 81 33 162 165 + BICOMP + 84 126 116 37 152 118 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_output.c - BICOMP - 91 + ICCARM + 89 - ICCARM - 0 + BICOMP + 38 - BICOMP - 166 109 81 33 107 119 2 108 + ICCARM + 59 74 20 57 124 139 18 90 119 84 126 68 5 125 49 - ICCARM - 166 109 81 33 107 119 2 108 + BICOMP + 59 74 20 124 139 18 90 119 84 126 68 5 125 49 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_sound.c - BICOMP - 28 + ICCARM + 81 - ICCARM - 60 + BICOMP + 7 - BICOMP - 170 156 45 66 59 18 25 166 109 81 33 49 71 + ICCARM + 105 74 20 57 124 139 18 90 88 84 126 47 65 191 73 - ICCARM - 170 156 45 137 66 59 18 25 166 109 81 33 49 71 + BICOMP + 105 74 20 124 139 18 90 88 84 126 47 65 191 73 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_ui.c - BICOMP - 62 + ICCARM + 187 - ICCARM - 145 + BICOMP + 121 - BICOMP - 166 68 109 81 33 57 94 170 156 45 66 59 18 25 15 92 21 12 38 19 154 164 69 80 + ICCARM + 59 74 20 57 124 139 18 90 88 102 24 13 99 105 168 72 82 127 154 84 126 148 132 197 146 117 49 65 131 47 37 68 34 76 51 116 53 130 193 46 54 58 3 133 169 93 61 122 80 185 115 87 43 78 6 9 111 189 91 19 60 41 31 62 45 155 70 69 113 150 21 151 103 186 35 166 143 64 156 - ICCARM - 166 68 109 81 33 57 94 170 156 45 137 66 59 18 25 15 92 21 12 38 19 154 164 69 80 + BICOMP + 59 74 20 124 139 18 90 88 102 24 13 99 105 168 72 82 127 154 84 126 148 132 197 146 117 49 65 131 47 37 68 34 76 51 116 53 130 193 46 54 58 3 133 169 93 61 122 80 185 115 87 43 78 6 9 111 189 91 19 60 41 31 62 45 155 70 69 113 150 21 151 103 186 35 166 143 64 156 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup.s79 - BICOMP - 26 - - - ICCARM - 77 + AARM + 101 - BICOMP - 166 109 81 33 34 113 - - - ICCARM - 166 109 81 33 34 113 + AARM + 147 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - BICOMP - 112 + ICCARM + 192 - ICCARM - 132 + BICOMP + 36 - BICOMP - 166 109 81 33 67 32 + ICCARM + 108 - ICCARM - 166 109 81 33 67 32 + BICOMP + 108 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_bt.c - BICOMP - 122 + ICCARM + 190 - ICCARM - 130 + BICOMP + 153 - BICOMP - 166 109 81 33 155 153 + ICCARM + 84 126 197 146 117 42 123 88 74 20 57 124 139 18 90 - ICCARM - 166 109 81 33 155 153 + BICOMP + 84 126 197 146 117 42 123 88 74 20 124 139 18 90 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_button.c - BICOMP - 149 + ICCARM + 188 - ICCARM - 13 + BICOMP + 97 - BICOMP - 166 109 81 33 126 39 + ICCARM + 84 197 146 117 138 66 - ICCARM - 166 109 81 33 126 39 + BICOMP + 84 197 146 117 138 66 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_display.c - BICOMP - 6 + ICCARM + 12 - ICCARM - 117 + BICOMP + 149 - BICOMP - 166 109 81 33 106 76 + ICCARM + 84 197 146 117 98 129 - ICCARM - 166 109 81 33 106 76 + BICOMP + 84 197 146 117 88 74 20 124 139 18 90 98 129 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c - BICOMP - 23 + ICCARM + 25 - ICCARM - 56 + BICOMP + 16 - BICOMP - 166 68 109 81 33 159 134 107 119 139 74 22 103 40 43 53 75 42 161 168 88 + ICCARM + 84 126 55 131 138 - ICCARM - 166 68 109 81 33 159 134 107 119 139 74 22 103 40 43 53 75 42 161 168 88 + BICOMP + 84 126 55 131 138 @@ -824,42 +824,108 @@ Bin Output - $PROJ_DIR$\..\..\..\..\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_usb.r $TOOLKIT_DIR$\inc\xtls.h $PROJ_DIR$\..\..\Source\c_loader.h + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\Submenu02.rms + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\c_display.iom + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\..\..\Source\c_output.iom + $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\d_sound.r + $TOOLKIT_DIR$\inc\xlocale_c.h + $PROJ_DIR$\..\..\Source\d_sound.h + $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\d_hispeed.r + $PROJ_DIR$\..\..\Source\stdconst.h + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $TOOLKIT_DIR$\inc\string.h $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\xmtx.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\Include\ioat91sam7s256.h $PROJ_DIR$\..\..\Source\d_lowspeed.h $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Object\d_display.s - $PROJ_DIR$\..\Object\d_output.pbi - $PROJ_DIR$\..\Object\c_loader.pbi + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\Object\d_lowspeed.r79 + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\..\..\Source\c_led.iom $PROJ_DIR$\..\Object\c_comm.pbi $PROJ_DIR$\..\Object\d_loader.r79 - $PROJ_DIR$\..\Object\c_ui.s - $PROJ_DIR$\..\Object\m_sched.s + $PROJ_DIR$\..\Object\d_output.pbi + $PROJ_DIR$\..\Object\c_loader.pbi $PROJ_DIR$\..\Object\c_button.s $PROJ_DIR$\..\Object\c_ioctrl.r79 $PROJ_DIR$\..\Object\c_input.r79 $PROJ_DIR$\..\Object\d_ioctrl.pbi - $PROJ_DIR$\..\..\Source\c_led.iom + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi $PROJ_DIR$\..\Object\LMS_ARM.a79 $PROJ_DIR$\..\Object\c_output.r79 $PROJ_DIR$\..\Object\c_sound.r79 @@ -867,24 +933,27 @@ $PROJ_DIR$\..\Object\c_loader.r79 $PROJ_DIR$\..\Object\c_ioctrl.s $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\d_lowspeed.r79 - $PROJ_DIR$\..\Object\LMS_ARM.d79 - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\c_ui.s + $PROJ_DIR$\..\Object\m_sched.s $PROJ_DIR$\..\Object\d_lowspeed.pbi + $PROJ_DIR$\..\Object\d_display.s + $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\d_hispeed.pbi + $PROJ_DIR$\..\Object\Cstartup_SAM7.s $PROJ_DIR$\..\Object\c_button.pbi $PROJ_DIR$\..\Object\d_sound.r79 $PROJ_DIR$\..\Object\c_comm.r79 - $PROJ_DIR$\..\Object\d_hispeed.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.s + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\d_led.h $PROJ_DIR$\..\Object\c_output.s $PROJ_DIR$\..\Object\d_timer.r79 - $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\c_led.c $PROJ_DIR$\..\Object\c_ioctrl.pbi $PROJ_DIR$\..\Object\d_ioctrl.r79 $PROJ_DIR$\..\Object\m_sched.pbi $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\..\Source\d_led.h $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\..\Source\d_led.c $PROJ_DIR$\..\Object\c_output.pbi $PROJ_DIR$\..\Object\d_bt.s $PROJ_DIR$\..\Object\d_usb.r79 @@ -893,13 +962,13 @@ $PROJ_DIR$\..\Object\c_ui.pbi $PROJ_DIR$\..\Object\c_ui.r79 $PROJ_DIR$\..\Object\d_button.r79 - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\..\Source\d_led.c $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\Object\d_led.r79 $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\Object\c_sound.s $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\Object\c_lowspeed.r79 + $PROJ_DIR$\..\Object\c_sound.s + $PROJ_DIR$\..\Object\c_display.pbi $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 $PROJ_DIR$\..\..\Source\Submenu03.rms $PROJ_DIR$\at91SAM7S256_Remap.xcl @@ -910,118 +979,25 @@ $PROJ_DIR$\..\..\Source\d_sound_adpcm.r $PROJ_DIR$\..\Object\d_lowspeed.s $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\c_display.pbi - $PROJ_DIR$\..\Object\d_ioctrl.s - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\Submenu04.rms - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\..\Source\c_ui.h $PROJ_DIR$\..\..\Source\Ok.txt - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom - $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\Object\d_display.r79 + $PROJ_DIR$\..\Object\d_ioctrl.s + $PROJ_DIR$\..\Object\d_display.pbi + $TOOLKIT_DIR$\inc\limits.h $PROJ_DIR$\..\Object\d_bt.r79 $PROJ_DIR$\..\Object\d_button.s $PROJ_DIR$\..\Object\c_led.r79 $PROJ_DIR$\..\Object\d_input.pbi + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\d_button.h $PROJ_DIR$\..\Object\d_sound.pbi $PROJ_DIR$\..\Object\d_sound.s - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt $PROJ_DIR$\..\Object\d_output.r79 $PROJ_DIR$\..\Object\d_usb.s $PROJ_DIR$\..\Object\c_cmd.pbi - $PROJ_DIR$\..\Object\d_display.pbi + $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\m_sched.r79 $PROJ_DIR$\..\Object\d_loader.s $PROJ_DIR$\..\Object\d_button.pbi @@ -1032,16 +1008,39 @@ $PROJ_DIR$\..\Object\d_usb.pbi $PROJ_DIR$\..\Object\d_hispeed.s $PROJ_DIR$\..\Object\c_input.s - $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\c_lowspeed.pbi $PROJ_DIR$\..\Object\c_button.r79 $PROJ_DIR$\..\Object\LMS_ARM.map $PROJ_DIR$\..\Object\c_comm.s $PROJ_DIR$\..\Object\d_timer.s - $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\c_input.pbi - $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\..\..\Source\c_display.c $PROJ_DIR$\..\..\Source\c_input.c $PROJ_DIR$\..\..\Source\c_ioctrl.c @@ -1051,111 +1050,82 @@ $PROJ_DIR$\..\..\Source\c_sound.c $PROJ_DIR$\..\..\Source\c_ui.c $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c $PROJ_DIR$\..\..\Source\d_bt.c $PROJ_DIR$\..\..\Source\d_button.c $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $PROJ_DIR$\..\..\..\..\lms_nbcnxc_128\AT91SAM7S256\Source\c_comm.c - $PROJ_DIR$\..\..\..\..\lms_nbcnxc_128\AT91SAM7S256\Source\d_output.c + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\c_button.c + [ROOT_NODE] - BICOMP - 47 - - - ICCARM - 209 + XLINK + 113 186 102 - - - BICOMP - 189 110 158 116 99 - - - ICCARM - 189 110 158 116 99 - - $PROJ_DIR$\..\..\Source\c_cmd.c - BICOMP - 196 + ICCARM + 154 - ICCARM - 85 + BICOMP + 172 - BICOMP - 189 110 185 168 143 165 124 150 116 151 152 105 138 120 21 117 93 147 162 181 96 108 104 11 16 192 89 54 213 208 155 + ICCARM + 58 85 51 44 20 42 197 27 91 28 29 77 239 195 78 191 194 24 37 50 12 35 83 190 10 62 61 69 119 173 161 34 - ICCARM - 189 110 185 168 143 165 124 150 116 151 152 105 138 120 21 117 93 147 162 181 96 156 108 104 11 16 192 89 54 213 208 155 + BICOMP + 58 85 51 44 20 42 197 27 91 28 29 77 239 195 78 191 194 24 37 50 12 83 190 10 62 61 69 119 173 161 34 - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\c_comm.c - XLINK - 44 210 36 + ICCARM + 118 - - - - $PROJ_DIR$\..\Object\d_display.s - - AARM - 170 + BICOMP + 93 - - - $PROJ_DIR$\..\Object\c_ui.s - + - AARM - 67 + ICCARM + 58 85 29 42 18 197 51 28 30 236 52 22 61 50 12 35 83 190 10 62 67 14 7 66 69 215 48 56 86 201 - - - - $PROJ_DIR$\..\Object\m_sched.s - - AARM - 198 + BICOMP + 58 85 29 42 18 197 51 28 30 236 52 22 61 50 12 83 190 10 62 67 14 7 66 69 215 48 56 86 201 - + $PROJ_DIR$\..\Object\c_button.s AARM - 209 + 185 @@ -1164,7 +1134,7 @@ AARM - 32 + 98 @@ -1173,58 +1143,67 @@ BILINK - 45 47 196 27 87 214 55 26 215 61 81 66 82 200 197 50 174 34 39 46 25 175 60 205 57 + 101 116 172 93 144 189 124 96 184 130 150 135 151 176 160 114 165 100 105 111 95 168 128 181 126 - $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\c_ui.s - XLINK - 210 36 + AARM + 136 - + + + $PROJ_DIR$\..\Object\m_sched.s + - XLINK - 78 64 76 209 85 49 72 33 32 40 86 37 38 67 171 68 170 75 204 56 28 43 194 48 53 63 198 58 + AARM + 174 - + - $PROJ_DIR$\..\Object\Cstartup_SAM7.s + $PROJ_DIR$\..\Object\d_display.s AARM - 76 + 158 - $PROJ_DIR$\..\Object\c_output.s + $PROJ_DIR$\..\Object\LMS_ARM.d79 - AARM - 37 + XLINK + 186 102 + + + XLINK + 147 133 145 185 154 118 138 99 98 106 142 103 104 136 162 137 158 141 180 125 94 90 170 117 122 132 174 127 + + - $PROJ_DIR$\..\Object\d_bt.s + $PROJ_DIR$\..\Object\Cstartup_SAM7.s AARM - 171 + 145 - $PROJ_DIR$\..\Object\d_input.s + $PROJ_DIR$\..\Object\c_output.s AARM - 204 + 103 @@ -1233,13 +1212,13 @@ ICCARM - 173 + 164 ICCARM - 189 110 35 73 59 + 58 85 92 140 120 @@ -1248,22 +1227,40 @@ ICCARM - 70 + 139 ICCARM - 189 138 120 21 59 169 + 58 239 195 78 120 155 + + $PROJ_DIR$\..\Object\d_bt.s + + + AARM + 162 + + + + + $PROJ_DIR$\..\Object\d_input.s + + + AARM + 180 + + + $PROJ_DIR$\..\Object\c_sound.s AARM - 38 + 104 @@ -1272,7 +1269,7 @@ AARM - 86 + 142 @@ -1281,7 +1278,7 @@ AARM - 72 + 138 @@ -1290,7 +1287,7 @@ AARM - 43 + 90 @@ -1299,7 +1296,7 @@ AARM - 56 + 125 @@ -1308,7 +1305,7 @@ AARM - 68 + 137 @@ -1317,7 +1314,7 @@ AARM - 48 + 117 @@ -1326,7 +1323,7 @@ AARM - 63 + 132 @@ -1335,7 +1332,7 @@ AARM - 28 + 94 @@ -1344,7 +1341,7 @@ AARM - 85 + 154 @@ -1353,7 +1350,7 @@ AARM - 40 + 106 @@ -1362,7 +1359,7 @@ AARM - 194 + 170 @@ -1371,7 +1368,7 @@ AARM - 75 + 141 @@ -1380,7 +1377,7 @@ AARM - 33 + 99 @@ -1389,7 +1386,7 @@ AARM - 49 + 118 @@ -1398,551 +1395,551 @@ AARM - 53 + 122 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - BICOMP - 27 + ICCARM + 141 - ICCARM - 49 + BICOMP + 114 - BICOMP - 189 110 152 165 141 124 185 151 153 135 186 146 192 181 96 108 104 11 16 8 128 14 7 89 12 179 187 111 119 + ICCARM + 58 239 195 78 52 57 - ICCARM - 189 110 152 165 141 124 185 151 153 135 186 146 192 181 96 156 108 104 11 16 8 128 14 7 89 12 179 187 111 119 + BICOMP + 58 239 195 78 52 57 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - BICOMP - 45 + ICCARM + 180 - ICCARM - 76 + BICOMP + 165 - BICOMP - 18 + ICCARM + 58 239 195 78 237 20 193 238 - ICCARM - 18 + BICOMP + 58 239 195 78 237 20 193 238 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - BICOMP - 87 + ICCARM + 125 - ICCARM - 72 + BICOMP + 100 - BICOMP - 192 181 96 108 104 11 16 189 110 151 91 6 + ICCARM + 61 50 12 35 83 190 10 62 58 239 195 78 166 87 - ICCARM - 192 181 96 156 108 104 11 16 189 110 151 91 6 + BICOMP + 61 50 12 83 190 10 62 58 239 195 78 166 87 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_loader.c - BICOMP - 214 + ICCARM + 94 - ICCARM - 33 + BICOMP + 105 - BICOMP - 189 110 136 143 1 168 165 192 181 96 108 104 11 16 + ICCARM + 58 85 239 195 78 0 15 61 50 12 35 83 190 10 62 67 14 7 66 69 215 48 56 86 201 - ICCARM - 189 110 136 143 1 168 165 192 181 96 156 108 104 11 16 + BICOMP + 58 85 239 195 78 0 15 61 50 12 83 190 10 62 67 14 7 66 69 215 48 56 86 201 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - BICOMP - 55 + ICCARM + 90 - ICCARM - 32 + BICOMP + 111 - BICOMP - 189 110 141 191 98 + ICCARM + 58 239 195 78 79 16 - ICCARM - 189 110 141 191 98 + BICOMP + 58 239 195 78 79 16 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_output.c - BICOMP - 26 + ICCARM + 170 - ICCARM - 40 + BICOMP + 95 - BICOMP - 189 110 165 141 102 15 192 181 96 108 104 11 16 + ICCARM + 58 239 195 78 84 73 - ICCARM - 189 110 165 141 102 15 192 181 96 156 108 104 11 16 + BICOMP + 58 239 195 78 84 73 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_sound.c - BICOMP - 215 + ICCARM + 117 - ICCARM - 86 + BICOMP + 168 - BICOMP - 189 110 105 143 94 22 + ICCARM + 58 239 195 78 49 47 152 - ICCARM - 189 110 105 143 94 22 + BICOMP + 58 239 195 78 49 47 152 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_timer.c - BICOMP - 61 + ICCARM + 122 - ICCARM - 37 + BICOMP + 128 - BICOMP - 162 181 96 108 104 11 16 23 189 110 168 101 109 151 + ICCARM + 58 239 195 78 24 70 - ICCARM - 162 181 96 156 108 104 11 16 23 189 110 168 101 109 151 + BICOMP + 58 239 195 78 24 70 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_usb.c - BICOMP - 81 + ICCARM + 132 - ICCARM - 38 + BICOMP + 181 - BICOMP - 89 181 96 108 104 11 16 192 189 110 150 165 133 180 + ICCARM + 58 239 195 78 236 6 - ICCARM - 89 181 96 156 108 104 11 16 192 189 110 150 165 133 180 + BICOMP + 58 239 195 78 236 6 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\m_sched.c - BICOMP - 66 + ICCARM + 174 - ICCARM - 67 + BICOMP + 126 - BICOMP - 162 181 96 108 104 11 16 192 8 128 14 7 89 12 179 187 111 119 189 110 124 126 138 120 21 151 165 116 150 143 168 141 185 152 105 154 112 134 149 157 160 103 127 13 17 163 106 184 130 2 190 145 182 100 115 19 132 193 92 159 144 139 161 148 121 167 177 3 125 97 77 95 9 131 142 239 10 164 122 + ICCARM + 58 85 239 195 78 54 30 237 20 33 91 8 234 71 200 2 191 194 51 59 156 - ICCARM - 162 181 96 156 108 104 11 16 192 8 128 14 7 89 12 179 187 111 119 189 110 124 126 138 120 21 151 165 116 150 143 168 141 185 152 105 154 112 134 149 157 160 103 127 13 17 163 106 184 130 2 190 145 182 100 115 19 132 193 92 159 144 139 161 148 121 167 177 3 125 97 77 95 9 131 142 239 10 164 122 + BICOMP + 58 85 239 195 78 54 30 237 20 33 91 8 234 71 200 2 191 194 51 59 156 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_display.c - AARM - 64 + ICCARM + 138 + + + BICOMP + 144 - AARM - 123 + ICCARM + 61 50 12 35 83 190 10 62 58 85 28 71 65 + + + BICOMP + 61 50 12 83 190 10 62 58 85 28 71 65 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_input.c - BICOMP - 82 + ICCARM + 99 - ICCARM - 171 + BICOMP + 189 - BICOMP - 189 110 138 120 21 146 107 192 181 96 108 104 11 16 + ICCARM + 58 85 237 20 193 44 42 61 50 12 35 83 190 10 62 - ICCARM - 189 110 138 120 21 146 107 192 181 96 156 108 104 11 16 + BICOMP + 58 85 237 20 193 44 42 61 50 12 83 190 10 62 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - BICOMP - 200 + ICCARM + 98 - ICCARM - 68 + BICOMP + 124 - BICOMP - 189 138 120 21 99 166 + ICCARM + 58 85 18 59 166 - ICCARM - 189 138 120 21 99 166 + BICOMP + 58 85 18 59 166 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\c_loader.c - BICOMP - 197 + ICCARM + 106 - ICCARM - 170 + BICOMP + 96 - BICOMP - 189 138 120 21 6 114 + ICCARM + 58 85 42 18 0 8 61 50 12 35 83 190 10 62 - ICCARM - 189 138 120 21 6 114 + BICOMP + 58 85 42 18 0 8 61 50 12 83 190 10 62 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - BICOMP - 50 + ICCARM + 142 - ICCARM - 75 + BICOMP + 184 - BICOMP - 189 138 120 21 186 188 + ICCARM + 58 85 77 20 200 79 - ICCARM - 189 138 120 21 186 188 + BICOMP + 58 85 77 20 200 79 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_output.c - BICOMP - 174 + ICCARM + 103 - ICCARM - 204 + BICOMP + 130 - BICOMP - 189 138 120 21 136 143 1 137 + ICCARM + 37 50 12 35 83 190 10 62 80 58 85 44 2 84 28 - ICCARM - 189 138 120 21 136 143 1 137 + BICOMP + 37 50 12 83 190 10 62 80 58 85 44 2 84 28 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_sound.c - BICOMP - 34 + ICCARM + 104 - ICCARM - 56 + BICOMP + 150 - BICOMP - 192 181 96 108 104 11 16 189 138 120 21 98 113 + ICCARM + 69 50 12 35 83 190 10 62 61 58 85 27 42 234 49 - ICCARM - 192 181 96 156 108 104 11 16 189 138 120 21 98 113 + BICOMP + 69 50 12 83 190 10 62 61 58 85 27 42 234 49 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_ui.c - BICOMP - 39 + ICCARM + 136 - ICCARM - 28 + BICOMP + 135 - BICOMP - 189 110 138 120 21 102 129 192 181 96 108 104 11 16 8 128 14 7 89 12 179 187 111 119 + ICCARM + 37 50 12 35 83 190 10 62 61 67 14 7 66 69 215 48 56 86 201 58 85 197 156 239 195 78 28 42 91 27 20 44 18 51 29 77 31 89 235 26 32 36 1 157 216 64 39 81 55 231 76 60 23 53 3 5 74 233 63 11 38 21 17 40 25 202 46 45 75 198 13 146 199 68 232 19 213 192 41 203 - ICCARM - 189 110 138 120 21 102 129 192 181 96 156 108 104 11 16 8 128 14 7 89 12 179 187 111 119 + BICOMP + 37 50 12 83 190 10 62 61 67 14 7 66 69 215 48 56 86 201 58 85 197 156 239 195 78 28 42 91 27 20 44 18 51 29 77 31 89 235 26 32 36 1 157 216 64 39 81 55 231 76 60 23 53 3 5 74 233 63 11 38 21 17 40 25 202 46 45 75 198 13 146 199 68 232 19 213 192 41 203 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup.s79 - BICOMP - 46 - - - ICCARM - 43 + AARM + 133 - BICOMP - 189 138 120 21 22 140 - - - ICCARM - 189 138 120 21 22 140 + AARM + 196 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - BICOMP - 25 + ICCARM + 145 - ICCARM - 194 + BICOMP + 101 - BICOMP - 189 138 120 21 109 20 + ICCARM + 72 - ICCARM - 189 138 120 21 109 20 + BICOMP + 72 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_bt.c - BICOMP - 175 + ICCARM + 162 - ICCARM - 48 + BICOMP + 151 - BICOMP - 189 138 120 21 180 178 83 + ICCARM + 58 85 239 195 78 22 82 61 50 12 35 83 190 10 62 - ICCARM - 189 138 120 21 180 178 83 + BICOMP + 58 85 239 195 78 22 82 61 50 12 83 190 10 62 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_button.c - BICOMP - 60 + ICCARM + 137 - ICCARM - 53 + BICOMP + 176 - BICOMP - 189 138 120 21 147 90 + ICCARM + 58 239 195 78 167 43 - ICCARM - 189 138 120 21 147 90 + BICOMP + 58 239 195 78 167 43 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_display.c - BICOMP - 205 + ICCARM + 158 - ICCARM - 63 + BICOMP + 160 - BICOMP - 189 138 120 21 135 118 + ICCARM + 58 239 195 78 65 88 - ICCARM - 189 138 120 21 135 118 + BICOMP + 58 239 195 78 65 88 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c - BICOMP - 57 + ICCARM + 185 - ICCARM - 198 + BICOMP + 116 - BICOMP - 189 110 138 120 21 183 153 136 143 158 116 15 133 91 94 101 117 93 185 191 126 + ICCARM + 58 85 33 91 167 - ICCARM - 189 110 138 120 21 183 153 136 143 158 116 15 133 91 94 101 117 93 185 191 126 + BICOMP + 58 85 33 91 167 @@ -1950,137 +1947,30 @@ Flash Debug - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_usb.r $TOOLKIT_DIR$\inc\xtls.h $PROJ_DIR$\..\..\Source\c_loader.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\Object\d_output.pbi - $PROJ_DIR$\..\Object\c_loader.pbi - $PROJ_DIR$\..\Object\c_comm.pbi - $PROJ_DIR$\..\Object\d_loader.r79 - $PROJ_DIR$\..\Object\c_ioctrl.r79 - $PROJ_DIR$\..\Object\c_input.r79 - $PROJ_DIR$\..\Object\d_ioctrl.pbi - $PROJ_DIR$\..\..\Source\c_led.iom - $PROJ_DIR$\..\Object\c_output.r79 - $PROJ_DIR$\..\Object\c_sound.r79 - $PROJ_DIR$\..\Object\d_loader.pbi - $PROJ_DIR$\..\Object\c_loader.r79 - $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\d_lowspeed.r79 - $PROJ_DIR$\..\Object\LMS_ARM.d79 - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi - $PROJ_DIR$\..\Object\d_lowspeed.pbi - $PROJ_DIR$\..\Object\c_button.pbi - $PROJ_DIR$\..\Object\d_sound.r79 - $PROJ_DIR$\..\Object\c_comm.r79 - $PROJ_DIR$\..\Object\d_hispeed.pbi - $PROJ_DIR$\..\Object\d_timer.r79 - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\Object\c_ioctrl.pbi - $PROJ_DIR$\..\Object\d_ioctrl.r79 - $PROJ_DIR$\..\Object\m_sched.pbi - $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\Object\d_timer.pbi - $PROJ_DIR$\..\Object\c_output.pbi - $PROJ_DIR$\..\Object\d_usb.r79 - $PROJ_DIR$\..\Object\Cstartup.r79 - $PROJ_DIR$\..\Object\c_ui.pbi - $PROJ_DIR$\..\Object\c_ui.r79 - $PROJ_DIR$\..\Object\d_button.r79 - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\Object\c_display.r79 - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\Object\d_hispeed.r79 - $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\at91SAM7S256_Remap.xcl - $PROJ_DIR$\..\Object\c_sound.pbi - $PROJ_DIR$\..\Object\d_bt.pbi - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\c_display.pbi - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\DLib_Threads.h $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\Submenu04.rms $TOOLKIT_DIR$\inc\DLib_Defaults.h $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt $TOOLKIT_DIR$\inc\xlocale.h $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\..\..\Source\c_ioctrl.iom $PROJ_DIR$\..\..\Source\Submenu07.rms $PROJ_DIR$\..\..\Source\c_input.iom $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\d_timer.h $PROJ_DIR$\..\..\Source\Status.txt $PROJ_DIR$\..\..\Source\Step.txt @@ -2089,81 +1979,165 @@ $PROJ_DIR$\..\..\Source\c_comm.iom $PROJ_DIR$\..\..\Source\c_comm.h $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Cursor.txt $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\RCXintro_13.txt $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\RCXintro_16.txt $PROJ_DIR$\..\..\Source\Test1.txt $PROJ_DIR$\..\..\Source\c_loader.iom $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\d_led.r - $PROJ_DIR$\..\Object\d_display.r79 - $PROJ_DIR$\..\Object\d_bt.r79 - $PROJ_DIR$\..\Object\c_led.r79 - $PROJ_DIR$\..\Object\d_input.pbi - $PROJ_DIR$\..\Object\d_sound.pbi $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\d_sound.r $TOOLKIT_DIR$\inc\xlocale_c.h $PROJ_DIR$\..\..\Source\d_sound.h $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\..\..\Source\d_hispeed.r $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\..\Source\RCXintro_4.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_4.txt $TOOLKIT_DIR$\inc\string.h + $TOOLKIT_DIR$\inc\ysizet.h $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\xmtx.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\Object\d_lowspeed.r79 + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\..\..\Source\c_led.iom + $PROJ_DIR$\..\Object\c_comm.pbi + $PROJ_DIR$\..\..\Source\c_bt.c + $PROJ_DIR$\..\Object\d_loader.r79 + $PROJ_DIR$\..\Object\d_output.pbi + $PROJ_DIR$\..\Object\c_loader.pbi + $PROJ_DIR$\..\Object\c_ioctrl.r79 + $PROJ_DIR$\..\Object\c_input.r79 + $PROJ_DIR$\..\Object\d_ioctrl.pbi + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\c_output.r79 + $PROJ_DIR$\..\Object\c_sound.r79 + $PROJ_DIR$\..\Object\d_loader.pbi + $PROJ_DIR$\..\Object\c_loader.r79 + $PROJ_DIR$\..\Object\LMS_ARM.pbd + $PROJ_DIR$\..\Object\d_lowspeed.pbi $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\..\Object\d_sensor.r79 - $PROJ_DIR$\..\Object\d_net.r79 - $PROJ_DIR$\..\Include\Board.h - $PROJ_DIR$\..\Object\c_motor.r79 - $PROJ_DIR$\..\..\include\AT91SAM7S64_inc.h - $PROJ_DIR$\..\Object\c_bt.r79 - $PROJ_DIR$\..\Object\c_usb.r79 - $PROJ_DIR$\..\..\include\AT91SAM7S64.h + $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\d_hispeed.pbi + $PROJ_DIR$\..\Object\c_button.pbi + $PROJ_DIR$\..\Object\d_sound.r79 + $PROJ_DIR$\..\Object\c_comm.r79 + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\Object\d_timer.r79 + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\Object\c_ioctrl.pbi + $PROJ_DIR$\..\Object\d_ioctrl.r79 + $PROJ_DIR$\..\Object\m_sched.pbi + $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 + $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\Object\c_output.pbi + $PROJ_DIR$\..\Object\d_usb.r79 + $PROJ_DIR$\..\Object\Cstartup.r79 + $PROJ_DIR$\..\Object\c_ui.pbi + $PROJ_DIR$\..\Object\c_ui.r79 + $PROJ_DIR$\..\Object\d_button.r79 + $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\Object\d_led.r79 + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\Object\c_lowspeed.r79 + $PROJ_DIR$\..\Object\c_display.pbi + $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\at91SAM7S256_Remap.xcl + $PROJ_DIR$\..\Object\c_sound.pbi + $PROJ_DIR$\..\Object\d_bt.pbi + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\Object\c_cmd.r79 + $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\..\Object\d_display.r79 + $PROJ_DIR$\..\Object\d_display.pbi + $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\d_bt.r79 + $PROJ_DIR$\..\Object\c_led.r79 + $PROJ_DIR$\..\Object\d_input.pbi + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\d_button.h + $PROJ_DIR$\..\Object\d_sound.pbi $PROJ_DIR$\..\Object\d_output.r79 $PROJ_DIR$\..\Object\c_cmd.pbi - $PROJ_DIR$\..\Object\d_display.pbi + $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\m_sched.r79 $PROJ_DIR$\..\Object\d_button.pbi $PROJ_DIR$\..\Object\d_input.r79 $PROJ_DIR$\..\Object\d_usb.pbi - $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\c_lowspeed.pbi $PROJ_DIR$\..\Object\c_button.r79 $PROJ_DIR$\..\Object\LMS_ARM.map - $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\c_input.pbi - $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\..\Source\c_bt.c $PROJ_DIR$\..\..\Source\c_net.c + $PROJ_DIR$\..\Object\d_sensor.r79 + $PROJ_DIR$\..\Object\d_net.r79 + $PROJ_DIR$\..\Include\Board.h + $PROJ_DIR$\..\Object\c_motor.r79 + $PROJ_DIR$\..\..\include\AT91SAM7S64_inc.h + $PROJ_DIR$\..\Object\c_bt.r79 + $PROJ_DIR$\..\Object\c_usb.r79 + $PROJ_DIR$\..\..\include\AT91SAM7S64.h $PROJ_DIR$\..\..\Source\d_avrcomm.h $PROJ_DIR$\..\..\Source\c_net.h $PROJ_DIR$\..\Object\c_hispeed.r79 $PROJ_DIR$\..\..\Source\d_sensor.c $PROJ_DIR$\..\..\Source\c_usb.c $PROJ_DIR$\..\..\Source\c_bt.iom - $PROJ_DIR$\..\Object\c_net.r79 $PROJ_DIR$\..\..\Source\d_net.c + $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\Object\c_net.r79 + $PROJ_DIR$\..\..\Source\c_sensor.c $PROJ_DIR$\..\..\Source\c_motor.c $PROJ_DIR$\..\..\Source\d_sensor.r $PROJ_DIR$\..\Object\d_avrcomm.r79 $PROJ_DIR$\..\..\Source\d_net.r $PROJ_DIR$\..\..\Source\d_avrcomm.r - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_usb.h $PROJ_DIR$\..\..\Source\c_motor.iom $PROJ_DIR$\..\..\Source\d_net.h $PROJ_DIR$\..\..\Source\c_bt.h @@ -2171,16 +2145,16 @@ $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c $PROJ_DIR$\..\Object\d_motor.r79 $PROJ_DIR$\..\Object\LMS_ARM.sim - $PROJ_DIR$\..\..\Source\d_motor.c - $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\c_usb.h $PROJ_DIR$\..\..\Source\c_avrcomm.h + $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 $PROJ_DIR$\..\..\Source\c_avrcomm.c $PROJ_DIR$\..\..\Source\c_hispeed.h $PROJ_DIR$\..\Object\c_avrcomm.r79 $PROJ_DIR$\..\..\Source\c_sensor.h - $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h $PROJ_DIR$\..\..\Source\d_avrcomm.c + $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h + $PROJ_DIR$\Flash_Debug\Obj\main.r79 $PROJ_DIR$\..\..\Source\c_hispeed.iom $PROJ_DIR$\..\..\Source\c_hispeed.c $PROJ_DIR$\..\..\Source\d_motor.h @@ -2188,18 +2162,41 @@ $PROJ_DIR$\..\..\Source\d_sensor.h $PROJ_DIR$\..\..\Source\c_sensor.iom $PROJ_DIR$\..\src\main.c - $PROJ_DIR$\..\..\Source\main.c $PROJ_DIR$\..\Include\lib_AT91SAM7S64.h + $PROJ_DIR$\SrcIAR\Board.h $PROJ_DIR$\..\..\Source\c_motor.h $PROJ_DIR$\..\Include\AT91SAM7S64.h $PROJ_DIR$\..\Include\ioat91sam7s64.h - $PROJ_DIR$\SrcIAR\Board.h - $PROJ_DIR$\..\Object\main.r79 - $PROJ_DIR$\Flash_Debug\Obj\main.r79 $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 + $PROJ_DIR$\..\Object\main.r79 $PROJ_DIR$\..\Object\c_sensor.r79 - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\BtTest.inc + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\..\..\Source\c_display.c $PROJ_DIR$\..\..\Source\c_input.c $PROJ_DIR$\..\..\Source\c_ioctrl.c @@ -2209,157 +2206,157 @@ $PROJ_DIR$\..\..\Source\c_sound.c $PROJ_DIR$\..\..\Source\c_ui.c $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c $PROJ_DIR$\..\..\Source\d_bt.c $PROJ_DIR$\..\..\Source\d_button.c $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\c_button.c + [ROOT_NODE] - BICOMP - 40 + XLINK + 164 197 109 + + + + $PROJ_DIR$\..\..\Source\c_cmd.c + ICCARM - 193 + 142 - - BICOMP - 171 94 142 100 83 + 156 + + ICCARM - 171 94 142 100 83 + 58 85 51 44 20 42 230 27 91 28 29 77 272 228 78 224 227 24 37 50 12 35 83 223 10 62 61 69 114 157 148 34 + + + BICOMP + 58 85 51 44 20 42 230 27 91 28 29 77 272 228 78 224 227 24 37 50 12 83 223 10 62 61 69 114 157 148 34 - $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\c_comm.c - BICOMP - 186 + ICCARM + 113 - ICCARM - 70 + BICOMP + 93 - BICOMP - 171 94 167 152 127 149 108 134 100 135 136 89 122 104 20 101 77 131 146 163 80 92 88 10 15 174 73 45 195 192 139 + ICCARM + 58 85 29 42 18 230 51 28 30 269 52 22 61 50 12 35 83 223 10 62 67 14 7 66 69 248 48 56 86 234 - ICCARM - 171 94 167 152 127 149 108 134 100 135 136 89 122 104 20 101 77 131 146 163 80 140 92 88 10 15 174 73 45 195 192 139 + BICOMP + 58 85 29 42 18 230 51 28 30 269 52 22 61 50 12 83 223 10 62 67 14 7 66 69 248 48 56 86 234 - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\c_bt.c - XLINK - 194 220 37 + ICCARM + 172 - - - $PROJ_DIR$\..\Object\LMS_ARM.pbd - BILINK - 38 40 186 25 72 196 46 24 197 52 67 55 68 189 187 43 157 29 33 39 23 158 51 191 48 + ICCARM + 58 85 180 193 22 51 - $PROJ_DIR$\..\Object\LMS_ARM.d79 - - - XLINK - 194 220 - - + $PROJ_DIR$\..\Object\LMS_ARM.pbd - XLINK - 66 54 64 193 70 42 61 28 27 34 71 31 32 56 155 57 154 63 190 47 26 36 185 41 44 53 188 49 + BILINK + 101 111 156 93 135 165 118 97 162 124 139 127 140 159 147 110 151 100 104 107 96 154 122 161 120 - $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\SrcIAR\Cstartup.s79 - ICCARM - 156 + AARM + 220 - ICCARM - 171 94 30 62 50 + AARM + 171 - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\Object\LMS_ARM.d79 - ICCARM - 59 + XLINK + 164 197 - ICCARM - 171 122 104 20 50 153 + XLINK + 138 126 136 163 142 113 130 99 98 105 134 102 103 128 149 129 146 133 160 119 95 90 155 112 116 125 158 121 - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_led.c - AARM - 246 + ICCARM + 150 - AARM - 181 + ICCARM + 58 85 92 132 115 - $PROJ_DIR$\..\..\Source\c_bt.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 182 + 131 ICCARM - 171 94 205 216 130 167 + 58 272 228 78 115 143 @@ -2368,13 +2365,13 @@ ICCARM - 206 + 183 ICCARM - 171 201 215 + 58 176 192 @@ -2383,13 +2380,13 @@ ICCARM - 177 + 167 ICCARM - 171 122 104 242 235 209 + 58 272 228 219 212 186 @@ -2398,13 +2395,13 @@ ICCARM - 183 + 173 ICCARM - 171 94 217 223 119 + 58 85 194 190 269 @@ -2413,28 +2410,28 @@ ICCARM - 178 + 168 ICCARM - 171 122 104 242 215 211 + 58 272 228 219 192 188 - $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\d_motor.c ICCARM - 180 + 196 ICCARM - 171 94 214 240 233 + 58 272 228 219 210 211 @@ -2443,43 +2440,43 @@ ICCARM - 247 + 222 ICCARM - 171 94 236 228 235 + 58 85 213 203 212 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM - 222 + 170 ICCARM - 243 184 229 + 58 85 191 217 210 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c ICCARM - 219 + 199 ICCARM - 171 122 104 242 233 234 + 216 174 206 @@ -2488,13 +2485,13 @@ ICCARM - 227 + 202 ICCARM - 171 224 200 + 58 198 175 @@ -2503,602 +2500,602 @@ ICCARM - 210 + 187 ICCARM - 171 122 104 242 200 212 + 58 272 228 219 175 189 - $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\..\..\Source\main.c ICCARM - 202 + 221 ICCARM - 171 94 231 226 168 + 169 218 215 - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\c_hispeed.c ICCARM - 245 + 177 ICCARM - 243 184 229 + 58 85 208 201 52 - $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\src\main.c ICCARM - 244 + 207 ICCARM - 179 241 239 + 216 174 206 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - BICOMP - 25 + ICCARM + 133 - ICCARM - 42 + BICOMP + 110 - BICOMP - 171 94 136 149 125 108 167 135 137 119 168 130 174 163 80 92 88 10 15 7 112 13 6 73 11 161 169 95 103 + ICCARM + 58 272 228 78 52 57 - ICCARM - 171 94 136 149 125 108 167 135 137 119 168 130 174 163 80 140 92 88 10 15 7 112 13 6 73 11 161 169 95 103 + BICOMP + 58 272 228 78 52 57 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - BICOMP - 38 + ICCARM + 160 - ICCARM - 64 + BICOMP + 151 - BICOMP - 17 + ICCARM + 58 272 228 78 270 20 226 271 - ICCARM - 17 + BICOMP + 58 272 228 78 270 20 226 271 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - BICOMP - 72 + ICCARM + 119 - ICCARM - 61 + BICOMP + 100 - BICOMP - 174 163 80 92 88 10 15 171 94 135 75 5 + ICCARM + 61 50 12 35 83 223 10 62 58 272 228 78 152 87 - ICCARM - 174 163 80 140 92 88 10 15 171 94 135 75 5 + BICOMP + 61 50 12 83 223 10 62 58 272 228 78 152 87 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_loader.c - BICOMP - 196 + ICCARM + 95 - ICCARM - 28 + BICOMP + 104 - BICOMP - 171 94 120 127 0 152 149 174 163 80 92 88 10 15 + ICCARM + 58 85 272 228 78 0 15 61 50 12 35 83 223 10 62 67 14 7 66 69 248 48 56 86 234 - ICCARM - 171 94 120 127 0 152 149 174 163 80 140 92 88 10 15 + BICOMP + 58 85 272 228 78 0 15 61 50 12 83 223 10 62 67 14 7 66 69 248 48 56 86 234 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - BICOMP - 46 + ICCARM + 90 - ICCARM - 27 + BICOMP + 107 - BICOMP - 171 94 125 173 82 + ICCARM + 58 272 228 78 79 16 - ICCARM - 171 94 125 173 82 + BICOMP + 58 272 228 78 79 16 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_output.c - BICOMP - 24 + ICCARM + 155 - ICCARM - 34 + BICOMP + 96 - BICOMP - 171 94 149 125 86 14 174 163 80 92 88 10 15 + ICCARM + 58 272 228 78 84 73 - ICCARM - 171 94 149 125 86 14 174 163 80 140 92 88 10 15 + BICOMP + 58 272 228 78 84 73 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_sound.c - BICOMP - 197 + ICCARM + 112 - ICCARM - 71 + BICOMP + 154 - BICOMP - 171 94 89 127 78 21 + ICCARM + 58 272 228 78 49 47 141 - ICCARM - 171 94 89 127 78 21 + BICOMP + 58 272 228 78 49 47 141 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_timer.c - BICOMP - 52 + ICCARM + 116 - ICCARM - 31 + BICOMP + 122 - BICOMP - 146 163 80 92 88 10 15 22 171 94 152 85 93 135 + ICCARM + 58 272 228 78 24 70 - ICCARM - 146 163 80 140 92 88 10 15 22 171 94 152 85 93 135 + BICOMP + 58 272 228 78 24 70 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_usb.c - BICOMP - 67 + ICCARM + 125 - ICCARM - 32 + BICOMP + 161 - BICOMP - 73 163 80 92 88 10 15 174 171 94 134 149 117 162 + ICCARM + 58 272 228 78 269 6 - ICCARM - 73 163 80 140 92 88 10 15 174 171 94 134 149 117 162 + BICOMP + 58 272 228 78 269 6 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\m_sched.c - BICOMP - 55 + ICCARM + 158 - ICCARM - 56 + BICOMP + 120 - BICOMP - 146 163 80 92 88 10 15 174 7 112 13 6 73 11 161 169 95 103 171 94 108 110 122 104 20 135 149 100 134 127 152 125 167 136 89 138 96 118 133 141 144 87 111 12 16 147 90 166 114 1 172 129 164 84 99 18 116 175 76 143 128 123 145 132 105 151 159 2 109 81 65 79 8 115 126 271 9 148 106 + ICCARM + 58 85 272 228 78 54 30 270 20 33 91 8 267 71 233 2 224 227 51 59 144 - ICCARM - 146 163 80 140 92 88 10 15 174 7 112 13 6 73 11 161 169 95 103 171 94 108 110 122 104 20 135 149 100 134 127 152 125 167 136 89 138 96 118 133 141 144 87 111 12 16 147 90 166 114 1 172 129 164 84 99 18 116 175 76 143 128 123 145 132 105 151 159 2 109 81 65 79 8 115 126 271 9 148 106 + BICOMP + 58 85 272 228 78 54 30 270 20 33 91 8 267 71 233 2 224 227 51 59 144 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_display.c - AARM - 54 + ICCARM + 130 + + + BICOMP + 135 - AARM - 107 + ICCARM + 61 50 12 35 83 223 10 62 58 85 28 71 65 + + + BICOMP + 61 50 12 83 223 10 62 58 85 28 71 65 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_input.c - BICOMP - 68 + ICCARM + 99 - ICCARM - 155 + BICOMP + 165 - BICOMP - 171 94 122 104 20 130 91 174 163 80 92 88 10 15 + ICCARM + 58 85 270 20 226 44 42 61 50 12 35 83 223 10 62 - ICCARM - 171 94 122 104 20 130 91 174 163 80 140 92 88 10 15 + BICOMP + 58 85 270 20 226 44 42 61 50 12 83 223 10 62 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - BICOMP - 189 + ICCARM + 98 - ICCARM - 57 + BICOMP + 118 - BICOMP - 171 122 104 20 83 150 + ICCARM + 58 85 18 59 152 - ICCARM - 171 122 104 20 83 150 + BICOMP + 58 85 18 59 152 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\c_loader.c - BICOMP - 187 + ICCARM + 105 - ICCARM - 154 + BICOMP + 97 - BICOMP - 171 122 104 20 5 98 + ICCARM + 58 85 42 18 0 8 61 50 12 35 83 223 10 62 - ICCARM - 171 122 104 20 5 98 + BICOMP + 58 85 42 18 0 8 61 50 12 83 223 10 62 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - BICOMP - 43 + ICCARM + 134 - ICCARM - 63 + BICOMP + 162 - BICOMP - 171 122 104 20 168 170 + ICCARM + 58 85 77 20 233 79 - ICCARM - 171 122 104 20 168 170 + BICOMP + 58 85 77 20 233 79 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_output.c - BICOMP - 157 + ICCARM + 102 - ICCARM - 190 + BICOMP + 124 - BICOMP - 171 122 104 20 120 127 0 121 + ICCARM + 37 50 12 35 83 223 10 62 80 58 85 44 2 84 28 - ICCARM - 171 122 104 20 120 127 0 121 + BICOMP + 37 50 12 83 223 10 62 80 58 85 44 2 84 28 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_sound.c - BICOMP - 29 + ICCARM + 103 - ICCARM - 47 + BICOMP + 139 - BICOMP - 174 163 80 92 88 10 15 171 122 104 20 82 97 + ICCARM + 69 50 12 35 83 223 10 62 61 58 85 27 42 267 49 - ICCARM - 174 163 80 140 92 88 10 15 171 122 104 20 82 97 + BICOMP + 69 50 12 83 223 10 62 61 58 85 27 42 267 49 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_ui.c - BICOMP - 33 + ICCARM + 128 - ICCARM - 26 + BICOMP + 127 - BICOMP - 171 94 122 104 20 86 113 174 163 80 92 88 10 15 7 112 13 6 73 11 161 169 95 103 + ICCARM + 37 50 12 35 83 223 10 62 61 67 14 7 66 69 248 48 56 86 234 58 85 230 144 272 228 78 28 42 91 27 20 44 18 51 29 77 31 89 268 26 32 36 1 145 249 64 39 81 55 264 76 60 23 53 3 5 74 266 63 11 38 21 17 40 25 235 46 45 75 231 13 137 232 68 265 19 246 225 41 236 - ICCARM - 171 94 122 104 20 86 113 174 163 80 140 92 88 10 15 7 112 13 6 73 11 161 169 95 103 + BICOMP + 37 50 12 83 223 10 62 61 67 14 7 66 69 248 48 56 86 234 58 85 230 144 272 228 78 28 42 91 27 20 44 18 51 29 77 31 89 268 26 32 36 1 145 249 64 39 81 55 264 76 60 23 53 3 5 74 266 63 11 38 21 17 40 25 235 46 45 75 231 13 137 232 68 265 19 246 225 41 236 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup.s79 - BICOMP - 39 - - - ICCARM - 36 + AARM + 126 - BICOMP - 171 122 104 20 21 124 - - - ICCARM - 171 122 104 20 21 124 + AARM + 229 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - BICOMP - 23 + ICCARM + 136 - ICCARM - 185 + BICOMP + 101 - BICOMP - 171 122 104 20 93 19 + ICCARM + 72 - ICCARM - 171 122 104 20 93 19 + BICOMP + 72 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_bt.c - BICOMP - 158 + ICCARM + 149 - ICCARM - 41 + BICOMP + 140 - BICOMP - 171 122 104 20 162 160 69 + ICCARM + 58 85 272 228 78 22 82 61 50 12 35 83 223 10 62 - ICCARM - 171 122 104 20 162 160 69 + BICOMP + 58 85 272 228 78 22 82 61 50 12 83 223 10 62 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_button.c - BICOMP - 51 + ICCARM + 129 - ICCARM - 44 + BICOMP + 159 - BICOMP - 171 122 104 20 131 74 + ICCARM + 58 272 228 78 153 43 - ICCARM - 171 122 104 20 131 74 + BICOMP + 58 272 228 78 153 43 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_display.c - BICOMP - 191 + ICCARM + 146 - ICCARM - 53 + BICOMP + 147 - BICOMP - 171 122 104 20 119 102 + ICCARM + 58 272 228 78 65 88 - ICCARM - 171 122 104 20 119 102 + BICOMP + 58 272 228 78 65 88 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c - BICOMP - 48 + ICCARM + 163 - ICCARM - 188 + BICOMP + 111 - BICOMP - 171 94 122 104 20 165 137 120 127 142 100 14 117 75 78 85 101 77 167 173 110 + ICCARM + 58 85 33 91 153 - ICCARM - 171 94 122 104 20 165 137 120 127 142 100 14 117 75 78 85 101 77 167 173 110 + BICOMP + 58 85 33 91 153 @@ -3106,95 +3103,30 @@ RAM_Debug - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\..\..\Source\BtTest.inc - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\d_usb.r $TOOLKIT_DIR$\inc\xtls.h $PROJ_DIR$\..\..\Source\c_loader.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\..\Source\c_led.iom - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\c_comm.c + $TOOLKIT_DIR$\inc\DLib_Threads.h $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\..\..\Source\Submenu04.rms $TOOLKIT_DIR$\inc\DLib_Defaults.h $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt $TOOLKIT_DIR$\inc\xlocale.h $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\c_input.h - $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\..\..\Source\c_ioctrl.iom $PROJ_DIR$\..\..\Source\Submenu07.rms $PROJ_DIR$\..\..\Source\c_input.iom $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\d_timer.h $PROJ_DIR$\..\..\Source\Status.txt $PROJ_DIR$\..\..\Source\Step.txt @@ -3203,42 +3135,102 @@ $PROJ_DIR$\..\..\Source\c_comm.iom $PROJ_DIR$\..\..\Source\c_comm.h $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc $PROJ_DIR$\..\..\Source\Cursor.txt $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc $PROJ_DIR$\..\..\Source\Running.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\RCXintro_13.txt $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\RCXintro_16.txt $PROJ_DIR$\..\..\Source\Test1.txt $PROJ_DIR$\..\..\Source\c_loader.iom $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\..\Source\Ui.txt + $PROJ_DIR$\..\..\Source\Connections.txt $PROJ_DIR$\..\..\Source\d_sound.r $TOOLKIT_DIR$\inc\xlocale_c.h $PROJ_DIR$\..\..\Source\d_sound.h $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\..\..\Source\d_hispeed.r $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\..\Source\RCXintro_4.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\RCXintro_4.txt $TOOLKIT_DIR$\inc\string.h + $TOOLKIT_DIR$\inc\ysizet.h $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\..\..\Source\d_display.h + $TOOLKIT_DIR$\inc\xmtx.h + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\..\..\Source\d_bt.r + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\..\Source\modules.h + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\..\..\Source\c_led.iom $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\Ok.txt + $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\d_sensor.r + $PROJ_DIR$\..\..\Source\c_motor.iom + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_sensor.h + $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\Source\d_motor.h + $PROJ_DIR$\..\..\Source\d_motor.r + $PROJ_DIR$\..\..\Source\d_sensor.h + $PROJ_DIR$\..\..\Source\c_sensor.iom + $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\c_motor.h + $PROJ_DIR$\..\Include\ioat91sam7s64.h $PROJ_DIR$\RAM_Debug\Obj\c_output.r79 + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 + $PROJ_DIR$\..\..\Source\BtTest.inc $PROJ_DIR$\RAM_Debug\Obj\c_display.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi $PROJ_DIR$\RAM_Debug\Obj\m_sched.r79 $PROJ_DIR$\RAM_Debug\Obj\d_led.r79 $PROJ_DIR$\RAM_Debug\Obj\c_ui.r79 @@ -3263,6 +3255,7 @@ $PROJ_DIR$\RAM_Debug\Obj\c_input.r79 $PROJ_DIR$\RAM_Debug\Obj\c_display.pbi $PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd $PROJ_DIR$\RAM_Debug\Obj\d_button.r79 @@ -3279,6 +3272,8 @@ $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79 $PROJ_DIR$\RAM_Debug\Obj\c_ui.pbi $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79 + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.pbi $PROJ_DIR$\RAM_Debug\Obj\c_motor.r79 $PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79 @@ -3297,26 +3292,28 @@ $PROJ_DIR$\RAM_Debug\Obj\d_display.r79 $PROJ_DIR$\RAM_Debug\Obj\d_bt.r79 $PROJ_DIR$\RAM_Debug\Obj\c_sound.pbi - $TOOLKIT_DIR$\inc\limits.h - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\..\..\Source\d_sensor.c - $PROJ_DIR$\..\..\Source\c_motor.c - $PROJ_DIR$\..\..\Source\d_sensor.r - $PROJ_DIR$\..\..\Source\c_sensor.c - $PROJ_DIR$\..\..\Source\c_motor.iom - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_motor.c - $PROJ_DIR$\..\..\Source\c_sensor.h - $PROJ_DIR$\..\..\Source\d_motor.h - $PROJ_DIR$\..\..\Source\d_motor.r - $PROJ_DIR$\..\..\Source\d_sensor.h - $PROJ_DIR$\..\..\Source\c_sensor.iom - $PROJ_DIR$\..\src\main.c - $PROJ_DIR$\..\..\Source\main.c - $PROJ_DIR$\..\..\Source\c_motor.h - $PROJ_DIR$\..\Include\ioat91sam7s64.h - $PROJ_DIR$\..\..\Source\c_comm.c - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\Submenu01.rms + $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\..\..\Source\c_display.c $PROJ_DIR$\..\..\Source\c_input.c $PROJ_DIR$\..\..\Source\c_ioctrl.c @@ -3326,73 +3323,91 @@ $PROJ_DIR$\..\..\Source\c_sound.c $PROJ_DIR$\..\..\Source\c_ui.c $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c $PROJ_DIR$\..\..\Source\d_bt.c $PROJ_DIR$\..\..\Source\d_button.c $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_input.r + $PROJ_DIR$\..\..\Source\m_sched.h - $PROJ_DIR$\..\..\Source\c_button.c + [ROOT_NODE] - BICOMP - 153 + XLINK + 142 + + + + $PROJ_DIR$\..\..\Source\c_cmd.c + ICCARM - 138 + 185 - - BICOMP - 123 52 99 58 41 + 157 + + ICCARM - 123 52 99 58 41 + 57 84 50 43 20 41 191 27 89 28 29 76 233 189 77 124 170 24 36 49 12 163 82 123 10 61 60 68 92 105 102 34 + + + BICOMP + 57 84 50 43 20 41 191 27 89 28 29 76 233 189 77 124 170 24 36 49 12 82 123 10 61 60 68 92 105 102 34 - $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\c_comm.c - BICOMP - 161 + ICCARM + 135 - ICCARM - 187 + BICOMP + 141 + + ICCARM + 57 84 29 41 18 191 50 28 30 230 51 22 60 49 12 163 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + BICOMP - 123 52 119 109 85 106 66 92 58 93 94 47 80 62 20 59 35 89 103 115 38 50 46 10 15 126 31 24 192 191 97 + 57 84 29 41 18 191 50 28 30 230 51 22 60 49 12 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + + + + $PROJ_DIR$\..\Include\sam7s256.c + ICCARM - 123 52 119 109 85 106 66 92 58 93 94 47 80 62 20 59 35 89 103 115 38 167 50 46 10 15 126 31 24 192 191 97 + 161 - + - [ROOT_NODE] + $PROJ_DIR$\SrcIAR\Cstartup.s79 - XLINK - 147 + AARM + 175 @@ -3401,13 +3416,13 @@ ICCARM - 148 + 143 ICCARM - 123 52 23 28 25 + 57 84 90 96 93 @@ -3416,85 +3431,73 @@ ICCARM - 134 + 129 ICCARM - 123 80 62 208 25 110 + 57 233 189 121 93 99 - $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\d_sensor.c ICCARM - 165 - - - - - $PROJ_DIR$\SrcIAR\Cstartup.s79 - - - AARM - 177 + 156 - - - $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - BILINK - 157 153 161 146 155 166 132 139 164 142 190 171 185 145 141 173 178 149 181 162 143 150 180 137 156 + ICCARM + 57 233 189 121 117 110 - $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\d_motor.c ICCARM - 160 + 177 ICCARM - 123 80 62 208 203 195 + 57 233 189 121 115 116 - $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\c_sensor.c ICCARM - 174 + 173 ICCARM - 123 52 197 207 201 + 57 84 118 113 117 - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM - 175 + 172 ICCARM - 123 52 204 200 203 + 57 84 111 120 115 @@ -3503,584 +3506,578 @@ ICCARM - 136 + 131 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\main.c ICCARM - 179 + 181 - - - ICCARM - 123 80 62 208 201 202 - - $PROJ_DIR$\..\src\main.c ICCARM - 183 + 181 - $PROJ_DIR$\..\..\Source\main.c - + $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd + - ICCARM - 183 + BILINK + 153 148 157 141 150 162 152 134 160 137 188 167 183 140 136 171 176 144 179 158 138 145 178 132 151 - + - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - BICOMP - 146 + ICCARM + 168 - ICCARM - 140 + BICOMP + 171 - BICOMP - 123 52 94 106 83 66 119 93 95 77 120 88 126 115 38 50 46 10 15 7 70 13 6 31 11 113 121 53 61 + ICCARM + 57 233 189 77 51 56 - ICCARM - 123 52 94 106 83 66 119 93 95 77 120 88 126 115 38 167 50 46 10 15 7 70 13 6 31 11 113 121 53 61 + BICOMP + 57 233 189 77 51 56 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_input.c - BICOMP - 157 + ICCARM + 164 - ICCARM - 136 + BICOMP + 176 - BICOMP - 17 + ICCARM + 57 233 189 77 231 20 169 232 - ICCARM - 17 + BICOMP + 57 233 189 77 231 20 169 232 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - BICOMP - 155 + ICCARM + 166 - ICCARM - 131 + BICOMP + 144 - BICOMP - 126 115 38 50 46 10 15 123 52 93 33 5 + ICCARM + 60 49 12 163 82 123 10 61 57 233 189 77 103 86 - ICCARM - 126 115 38 167 50 46 10 15 123 52 93 33 5 + BICOMP + 60 49 12 82 123 10 61 57 233 189 77 103 86 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_loader.c - BICOMP - 166 + ICCARM + 146 - ICCARM - 154 + BICOMP + 179 - BICOMP - 123 52 78 85 0 109 106 126 115 38 50 46 10 15 + ICCARM + 57 84 233 189 77 0 15 60 49 12 163 82 123 10 61 66 14 7 65 68 209 47 55 85 195 - ICCARM - 123 52 78 85 0 109 106 126 115 38 167 50 46 10 15 + BICOMP + 57 84 233 189 77 0 15 60 49 12 82 123 10 61 66 14 7 65 68 209 47 55 85 195 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - BICOMP - 132 + ICCARM + 165 - ICCARM - 176 + BICOMP + 158 - BICOMP - 123 52 83 125 40 + ICCARM + 57 233 189 77 78 16 - ICCARM - 123 52 83 125 40 + BICOMP + 57 233 189 77 78 16 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_output.c - BICOMP - 139 + ICCARM + 180 - ICCARM - 152 + BICOMP + 138 - BICOMP - 123 52 106 83 44 14 126 115 38 50 46 10 15 + ICCARM + 57 233 189 77 83 72 - ICCARM - 123 52 106 83 44 14 126 115 38 167 50 46 10 15 + BICOMP + 57 233 189 77 83 72 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_sound.c - BICOMP - 164 + ICCARM + 139 - ICCARM - 163 + BICOMP + 145 - BICOMP - 123 52 47 85 36 21 + ICCARM + 57 233 189 77 48 46 98 - ICCARM - 123 52 47 85 36 21 + BICOMP + 57 233 189 77 48 46 98 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_timer.c - BICOMP - 142 + ICCARM + 125 - ICCARM - 130 + BICOMP + 178 - BICOMP - 103 115 38 50 46 10 15 22 123 52 109 43 51 93 + ICCARM + 57 233 189 77 24 69 - ICCARM - 103 115 38 167 50 46 10 15 22 123 52 109 43 51 93 + BICOMP + 57 233 189 77 24 69 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_usb.c - BICOMP - 190 + ICCARM + 182 - ICCARM - 186 + BICOMP + 132 - BICOMP - 31 115 38 50 46 10 15 126 123 52 92 106 75 114 + ICCARM + 57 233 189 77 230 6 - ICCARM - 31 115 38 167 50 46 10 15 126 123 52 92 106 75 114 + BICOMP + 57 233 189 77 230 6 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\m_sched.c - BICOMP - 171 + ICCARM + 128 - ICCARM - 135 + BICOMP + 151 - BICOMP - 103 115 38 50 46 10 15 126 7 70 13 6 31 11 113 121 53 61 123 52 66 68 80 62 20 93 106 58 92 85 109 83 119 94 47 96 54 76 91 98 101 45 69 12 16 104 48 118 72 1 124 87 116 42 57 18 74 127 34 100 86 81 102 90 63 108 111 2 67 39 29 37 8 73 84 232 9 105 64 + ICCARM + 57 84 233 189 77 53 30 231 20 33 89 8 228 70 194 2 124 170 50 58 100 - ICCARM - 103 115 38 167 50 46 10 15 126 7 70 13 6 31 11 113 121 53 61 123 52 66 68 80 62 20 93 106 58 92 85 109 83 119 94 47 96 54 76 91 98 101 45 69 12 16 104 48 118 72 1 124 87 116 42 57 18 74 127 34 100 86 81 102 90 63 108 111 2 67 39 29 37 8 73 84 232 9 105 64 + BICOMP + 57 84 233 189 77 53 30 231 20 33 89 8 228 70 194 2 124 170 50 58 100 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_display.c - AARM - 177 + ICCARM + 127 + + + BICOMP + 150 - AARM - 65 + ICCARM + 60 49 12 163 82 123 10 61 57 84 28 70 64 + + + BICOMP + 60 49 12 82 123 10 61 57 84 28 70 64 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_input.c - BICOMP - 185 + ICCARM + 149 - ICCARM - 189 + BICOMP + 162 - BICOMP - 123 52 80 62 20 88 49 126 115 38 50 46 10 15 + ICCARM + 57 84 231 20 169 43 41 60 49 12 163 82 123 10 61 - ICCARM - 123 52 80 62 20 88 49 126 115 38 167 50 46 10 15 + BICOMP + 57 84 231 20 169 43 41 60 49 12 82 123 10 61 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - BICOMP - 145 + ICCARM + 174 - ICCARM - 159 + BICOMP + 152 - BICOMP - 123 80 62 20 41 107 + ICCARM + 57 84 18 58 103 - ICCARM - 123 80 62 20 41 107 + BICOMP + 57 84 18 58 103 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\c_loader.c - BICOMP - 141 + ICCARM + 147 - ICCARM - 188 + BICOMP + 134 - BICOMP - 123 80 62 20 5 56 + ICCARM + 57 84 41 18 0 8 60 49 12 163 82 123 10 61 - ICCARM - 123 80 62 20 5 56 + BICOMP + 57 84 41 18 0 8 60 49 12 82 123 10 61 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - BICOMP - 173 + ICCARM + 159 - ICCARM - 172 + BICOMP + 160 - BICOMP - 123 80 62 20 120 122 + ICCARM + 57 84 76 20 194 78 - ICCARM - 123 80 62 20 120 122 + BICOMP + 57 84 76 20 194 78 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_output.c - BICOMP - 178 + ICCARM + 122 - ICCARM - 168 + BICOMP + 137 - BICOMP - 123 80 62 20 78 85 0 79 + ICCARM + 36 49 12 163 82 123 10 61 79 57 84 43 2 83 28 - ICCARM - 123 80 62 20 78 85 0 79 + BICOMP + 36 49 12 82 123 10 61 79 57 84 43 2 83 28 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_sound.c - BICOMP - 149 + ICCARM + 184 - ICCARM - 170 + BICOMP + 188 - BICOMP - 126 115 38 50 46 10 15 123 80 62 20 40 55 + ICCARM + 68 49 12 163 82 123 10 61 60 57 84 27 41 228 48 - ICCARM - 126 115 38 167 50 46 10 15 123 80 62 20 40 55 + BICOMP + 68 49 12 82 123 10 61 60 57 84 27 41 228 48 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_ui.c - BICOMP - 181 + ICCARM + 130 - ICCARM - 151 + BICOMP + 167 - BICOMP - 123 52 80 62 20 44 71 126 115 38 50 46 10 15 7 70 13 6 31 11 113 121 53 61 + ICCARM + 36 49 12 163 82 123 10 61 60 66 14 7 65 68 209 47 55 85 195 57 84 191 100 233 189 77 28 41 89 27 20 43 18 50 29 76 31 88 229 26 32 35 1 101 210 63 38 80 54 225 75 59 23 52 3 5 73 227 62 11 37 21 17 39 25 196 45 44 74 192 13 97 193 67 226 19 207 126 40 197 - ICCARM - 123 52 80 62 20 44 71 126 115 38 167 50 46 10 15 7 70 13 6 31 11 113 121 53 61 + BICOMP + 36 49 12 82 123 10 61 60 66 14 7 65 68 209 47 55 85 195 57 84 191 100 233 189 77 28 41 89 27 20 43 18 50 29 76 31 88 229 26 32 35 1 101 210 63 38 80 54 225 75 59 23 52 3 5 73 227 62 11 37 21 17 39 25 196 45 44 74 192 13 97 193 67 226 19 207 126 40 197 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup.s79 - BICOMP - 162 - - - ICCARM - 169 + AARM + 175 - BICOMP - 123 80 62 20 21 82 - - - ICCARM - 123 80 62 20 21 82 + AARM + 190 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - BICOMP - 143 + ICCARM + 131 - ICCARM - 182 + BICOMP + 153 - BICOMP - 123 80 62 20 51 19 + ICCARM + 71 - ICCARM - 123 80 62 20 51 19 + BICOMP + 71 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_bt.c - BICOMP - 150 + ICCARM + 187 - ICCARM - 144 + BICOMP + 183 - BICOMP - 123 80 62 20 114 112 30 + ICCARM + 57 84 233 189 77 22 81 60 49 12 163 82 123 10 61 - ICCARM - 123 80 62 20 114 112 30 + BICOMP + 57 84 233 189 77 22 81 60 49 12 82 123 10 61 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_button.c - BICOMP - 180 + ICCARM + 155 - ICCARM - 129 + BICOMP + 140 - BICOMP - 123 80 62 20 89 32 + ICCARM + 57 233 189 77 104 42 - ICCARM - 123 80 62 20 89 32 + BICOMP + 57 233 189 77 104 42 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_display.c - BICOMP - 137 + ICCARM + 186 - ICCARM - 184 + BICOMP + 136 - BICOMP - 123 80 62 20 77 60 + ICCARM + 57 233 189 77 64 87 - ICCARM - 123 80 62 20 77 60 + BICOMP + 57 233 189 77 64 87 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_button.c - - BICOMP - 156 - ICCARM 133 - - BICOMP - 123 52 80 62 20 117 95 78 85 99 58 14 75 33 36 43 59 35 119 125 68 + 148 + + ICCARM - 123 52 80 62 20 117 95 78 85 99 58 14 75 33 36 43 59 35 119 125 68 + 57 84 33 89 104 + + + BICOMP + 57 84 33 89 104 diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt index 9b3aa48..7759d5d 100644 --- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt +++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt @@ -11,7 +11,7 @@ - 1233271307876 + 1733271307876 300Find-in-FilesDebug-Log1862724461 @@ -50,14 +50,14 @@ - TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.c011533339133391TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_output.c085926834268341TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_loader.c05597597TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_input.c02261189111904TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_comm.c03624102490102490TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\c_cmd.iom014761416145TextEditorD:\NXT\lms_nbcnxc_128\AT91SAM7S256\Source\d_bt.c039483428346TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.iom011352295229TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_ui.c011813076630766TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\Functions.inl031629635696595TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_output.c09700TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_output.h02618111811TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_output.c0136466460100000010000001 + TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.c09420266667266667TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_bt.c032670647064TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_bt.r09000TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\modules.h03717621762TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.c025591219121TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.iom05420602060TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.iom07200TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.h0300TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.c06928682868TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_hispeed.c0000TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_hispeed.r03012111224TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.h010520152015TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_input.c09963552635535TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_input.iom018922931130100000010000001 - iaridepm.enu1-2-2463190-2-20000157119701357-2-21551224-2-212261571003273236802139935236802 + iaridepm.enu1-2-2601223-2-20000157123716152-2-21971434-2-214361991002793236342139665236342 diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 3fc28e4..674960c 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -9423,7 +9423,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[]) { case HS_CTRL_INIT: { - // hi-speed init + // hi-speed enable/init pMapComm->HsState = HS_ENABLE; pMapComm->HsFlags = HS_UPDATE; } @@ -9433,7 +9433,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[]) { // hi-speed setup uart pMapComm->HsSpeed = *(ArgV[2]); - pMapComm->HsMode = *(ArgV[3]); + pMapComm->HsMode = *(UWORD*)(ArgV[3]); pMapComm->HsState = HS_INITIALISE; pMapComm->HsFlags = HS_UPDATE; } @@ -9448,7 +9448,7 @@ NXT_STATUS cCmdWrapCommHSControl(UBYTE * ArgV[]) break; } - *((UWORD *)ArgV[0]) = pMapComm->HsState; + *(ArgV[0]) = pMapComm->HsState; return (NO_ERR); } diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c index 1c9db04..1878108 100644 --- a/AT91SAM7S256/Source/c_comm.c +++ b/AT91SAM7S256/Source/c_comm.c @@ -271,6 +271,7 @@ void cCommCtrl(void) case HS_SEND_DATA: { cCommSendHiSpeedData(); + IOMapComm.HsState = HS_DEFAULT; // do not leave this in HS_SEND_DATA state } break; diff --git a/AT91SAM7S256/Source/c_comm.iom b/AT91SAM7S256/Source/c_comm.iom index 98edff7..367a0db 100644 --- a/AT91SAM7S256/Source/c_comm.iom +++ b/AT91SAM7S256/Source/c_comm.iom @@ -72,7 +72,8 @@ enum HS_INIT_RECEIVER, HS_SEND_DATA, HS_DISABLE, - HS_ENABLE + HS_ENABLE, + HS_DEFAULT }; // Constants reffering to hi-speed control syscall function -- cgit v1.2.3 From c3ff51060cc0e769327f5b6be60526a258bebf27 Mon Sep 17 00:00:00 2001 From: John Hansen Date: Wed, 3 Nov 2010 13:03:21 +0000 Subject: motor control and rs485 changes git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@28 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep | 4186 ++++++++++---------- AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp | 3 + .../SAM7S256/Tools/settings/LMS_ARM.cspy.bat | 8 +- AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dbgdt | 12 +- AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni | 6 +- AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt | 10 +- AT91SAM7S256/Source/Functions.inl | 31 +- AT91SAM7S256/Source/c_cmd.c | 43 +- AT91SAM7S256/Source/c_comm.c | 12 +- AT91SAM7S256/Source/c_ui.c | 21 +- AT91SAM7S256/Source/c_ui.h | 12 +- AT91SAM7S256/Source/c_ui.iom | 4 + AT91SAM7S256/Source/d_output.c | 74 +- 13 files changed, 2253 insertions(+), 2169 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep index 10e882b..dc7b2a8 100644 --- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep +++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.dep @@ -2,180 +2,30 @@ 2 - 2103580747 + 2897159082 Benchmark - $PROJ_DIR$\Benchmark\Obj\c_loader.pbi - $PROJ_DIR$\Benchmark\Obj\m_sched.r79 - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt - $PROJ_DIR$\Benchmark\Obj\c_sound.pbi - $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\d_usb.r - $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 - $PROJ_DIR$\Benchmark\Obj\d_display.r79 - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\c_loader.h - $PROJ_DIR$\Benchmark\Obj\m_sched.pbi - $PROJ_DIR$\Benchmark\Obj\c_button.pbi - $PROJ_DIR$\..\..\Source\c_comm.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\Submenu02.rms - $PROJ_DIR$\Benchmark\Obj\c_cmd.pbi - $PROJ_DIR$\Benchmark\Obj\d_hispeed.r79 - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\Benchmark\Obj\c_button.r79 - $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_button.c + $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\Benchmark\Obj\c_comm.r79 - $PROJ_DIR$\Benchmark\Obj\c_lowspeed.pbi - $PROJ_DIR$\Benchmark\Obj\d_output.pbi - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\Benchmark\Obj\d_usb.r79 - $PROJ_DIR$\Benchmark\Obj\c_input.r79 - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.pbi - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\Benchmark\Obj\c_output.pbi - $PROJ_DIR$\Benchmark\Obj\d_sound.pbi - $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom - $PROJ_DIR$\Benchmark\Obj\d_sound.r79 - $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\Benchmark\Obj\d_output.r79 - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\Running.txt - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\Benchmark\Obj\d_loader.r79 - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\Benchmark\Obj\d_timer.pbi - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h $PROJ_DIR$\Benchmark\Obj\c_ioctrl.pbi - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\RCXintro_6.txt - $PROJ_DIR$\..\Include\sam7s256.c - $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.iom $PROJ_DIR$\Benchmark\Obj\c_sound.r79 - $TOOLKIT_DIR$\inc\xtinfo.h $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\stdconst.h - $PROJ_DIR$\..\..\Source\c_ioctrl.h - $PROJ_DIR$\Benchmark\Obj\c_cmd.r79 - $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $TOOLKIT_DIR$\inc\DLib_Threads.h $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\Benchmark\Obj\c_output.r79 - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt - $PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi - $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi - $PROJ_DIR$\Benchmark\Obj\d_usb.pbi - $PROJ_DIR$\Benchmark\Obj\c_display.pbi - $PROJ_DIR$\Benchmark\Obj\d_button.pbi - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $PROJ_DIR$\Benchmark\Obj\d_timer.r79 - $PROJ_DIR$\Benchmark\Obj\Cstartup.r79 - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $PROJ_DIR$\Benchmark\Obj\c_comm.pbi - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79 - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\Benchmark\Obj\d_input.r79 - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\c_lowspeed.iom - $PROJ_DIR$\..\Include\ioat91sam7s256.h - $PROJ_DIR$\..\..\Source\d_lowspeed.h - $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 - $PROJ_DIR$\Benchmark\Obj\c_ui.pbi - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r - $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\Benchmark\Obj\c_display.r79 - $PROJ_DIR$\Benchmark\Obj\d_input.pbi - $PROJ_DIR$\Benchmark\Obj\c_loader.r79 - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 - $PROJ_DIR$\Benchmark\Obj\d_loader.pbi - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\Benchmark\Obj\d_display.pbi - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\Submenu04.rms - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $PROJ_DIR$\Benchmark\Obj\d_bt.pbi - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\c_cmd.c + $PROJ_DIR$\..\..\Source\c_comm.c $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\..\..\Source\c_display.c $PROJ_DIR$\..\..\Source\c_input.c $PROJ_DIR$\..\..\Source\c_ioctrl.c @@ -189,627 +39,777 @@ $PROJ_DIR$\..\..\Source\d_bt.c $PROJ_DIR$\..\..\Source\d_button.c $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\c_display.iom + $PROJ_DIR$\..\..\Source\RCXintro_13.txt + $PROJ_DIR$\..\..\Source\d_output.h + $PROJ_DIR$\..\Include\sam7s256.c + $PROJ_DIR$\..\..\Source\RCXintro_1.txt + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\d_sound.h + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\d_bt.r + $PROJ_DIR$\Benchmark\Obj\d_sound.r79 + $PROJ_DIR$\Benchmark\Obj\d_usb.pbi + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\Benchmark\Obj\c_display.pbi + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\Benchmark\Obj\c_cmd.pbi + $PROJ_DIR$\..\..\Source\RCXintro_5.txt + $PROJ_DIR$\Benchmark\Obj\d_lowspeed.pbi + $PROJ_DIR$\..\..\Source\RCXintro_4.txt + $PROJ_DIR$\..\Lib\dl4tptinl8n.h + $PROJ_DIR$\..\..\Source\Fail.txt + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.pbi + $PROJ_DIR$\Benchmark\Obj\d_input.r79 + $PROJ_DIR$\Benchmark\Obj\c_input.r79 + $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\Benchmark\Obj\c_lowspeed.r79 + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\Icons.txt + $PROJ_DIR$\Benchmark\Obj\c_ui.pbi + $PROJ_DIR$\..\..\Source\d_lowspeed.h + $TOOLKIT_DIR$\inc\stdbool.h + $PROJ_DIR$\..\..\Source\d_display.r + $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\Benchmark\Obj\c_display.r79 + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\Benchmark\Obj\c_lowspeed.pbi + $PROJ_DIR$\..\..\Source\d_button.r + $PROJ_DIR$\Benchmark\Obj\d_usb.r79 + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\Benchmark\Obj\c_cmd.r79 + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $PROJ_DIR$\Benchmark\Obj\d_display.r79 + $TOOLKIT_DIR$\inc\xlocale_c.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\Benchmark\Obj\d_lowspeed.r79 + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\stdconst.h + $PROJ_DIR$\Benchmark\Obj\c_output.r79 + $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\Benchmark\Obj\d_ioctrl.r79 + $PROJ_DIR$\Benchmark\Obj\d_loader.pbi + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\Benchmark\Obj\m_sched.r79 + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.pbi + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\c_loader.h + $PROJ_DIR$\Benchmark\Obj\d_button.pbi + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\Benchmark\Obj\d_timer.r79 + $PROJ_DIR$\..\..\Source\d_display.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\Benchmark\Obj\c_loader.pbi + $PROJ_DIR$\..\..\Source\Submenu07.rms + $TOOLKIT_DIR$\inc\xtls.h + $PROJ_DIR$\Benchmark\Obj\d_loader.r79 + $PROJ_DIR$\..\..\Source\Ui.txt + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\RCXintro_15.txt $PROJ_DIR$\Benchmark\Obj\c_input.pbi - $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\Benchmark\Obj\c_loader.r79 + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\Benchmark\Exe\LMS_ARM.d79 + $PROJ_DIR$\Benchmark\Obj\c_ioctrl.r79 + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\Benchmark\Obj\c_comm.pbi + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\Benchmark\Obj\d_sound.pbi + $PROJ_DIR$\Benchmark\Obj\Cstartup.r79 + $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Submenu02.rms + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\Submenu01.rms + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu04.rms $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\Benchmark\Obj\c_ui.r79 - $PROJ_DIR$\Benchmark\Obj\d_button.r79 + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\Benchmark\Obj\d_bt.pbi + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h + $PROJ_DIR$\Benchmark\Obj\d_display.pbi + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\d_usb.r + $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\Benchmark\Obj\c_sound.pbi + $PROJ_DIR$\..\..\Source\modules.h $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\Benchmark\Obj\d_input.pbi + $PROJ_DIR$\Benchmark\Obj\d_button.r79 + $PROJ_DIR$\..\..\Source\Wait.txt $PROJ_DIR$\Benchmark\Obj\d_bt.r79 - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\Benchmark\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h - $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\c_ui.iom + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\Benchmark\Obj\c_ui.r79 + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $PROJ_DIR$\Benchmark\Obj\c_output.pbi + $PROJ_DIR$\Benchmark\Obj\c_button.r79 + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\c_output.iom + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\Benchmark\Obj\m_sched.pbi + $PROJ_DIR$\Benchmark\Obj\d_output.r79 + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\Benchmark\Obj\d_timer.pbi + $PROJ_DIR$\Benchmark\Obj\c_button.pbi + $PROJ_DIR$\..\..\Source\BtTest.inc $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\Benchmark\Obj\d_hispeed.pbi + $PROJ_DIR$\Benchmark\Obj\d_output.pbi + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\Benchmark\Obj\d_hispeed.r79 - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\m_sched.c - XLINK - 112 + BICOMP + 179 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 86 - - - BICOMP - 22 + 103 - ICCARM - 84 126 76 68 37 65 148 47 131 49 51 116 142 145 44 59 74 20 57 124 139 18 90 88 105 56 + BICOMP + 97 161 136 151 68 43 181 157 104 184 99 108 128 52 149 172 3 150 92 51 107 - BICOMP - 84 126 76 68 37 65 148 47 131 49 51 116 142 145 44 59 74 20 124 139 18 90 88 105 56 + ICCARM + 97 161 136 151 68 43 181 157 104 184 99 108 128 52 149 172 3 150 92 51 107 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_usb.c - - ICCARM - 27 - BICOMP - 104 + 55 - - ICCARM - 84 126 51 65 34 148 76 49 52 194 77 42 88 74 20 57 124 139 18 90 102 24 13 99 105 168 72 82 127 154 + 82 + + BICOMP - 84 126 51 65 34 148 76 49 52 194 77 42 88 74 20 124 139 18 90 102 24 13 99 105 168 72 82 127 154 + 97 136 151 68 191 156 - - - - $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd - - BILINK - 36 16 22 104 96 184 75 0 28 38 7 121 153 97 149 4 135 94 141 92 29 39 67 95 15 + ICCARM + 97 136 151 68 191 156 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_button.c - ICCARM - 23 + BICOMP + 188 - BICOMP - 4 + ICCARM + 174 - ICCARM - 84 197 146 117 77 83 + BICOMP + 97 161 184 99 5 - BICOMP - 84 197 146 117 77 83 + ICCARM + 97 161 184 99 5 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 114 + BICOMP + 59 - BICOMP - 135 + ICCARM + 84 - ICCARM - 84 197 146 117 195 37 144 196 + BICOMP + 97 161 92 177 104 96 167 130 99 40 127 114 3 150 159 186 94 83 45 6 15 90 16 142 86 - BICOMP - 84 197 146 117 195 37 144 196 + ICCARM + 97 161 92 177 104 96 167 130 99 40 127 114 3 150 159 186 94 83 63 45 6 15 90 16 142 86 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_comm.c - ICCARM - 140 + BICOMP + 135 - BICOMP - 94 + ICCARM + 9 - ICCARM - 88 74 20 57 124 139 18 90 84 197 146 117 137 128 + BICOMP + 97 161 127 96 12 167 92 40 181 191 93 121 16 94 83 45 6 15 90 144 175 117 120 142 168 89 8 102 153 - BICOMP - 88 74 20 124 139 18 90 84 197 146 117 137 128 + ICCARM + 97 161 127 96 12 167 92 40 181 191 93 121 16 94 83 63 45 6 15 90 144 175 117 120 142 168 89 8 102 153 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_timer.c - ICCARM - 63 + BICOMP + 187 - BICOMP - 141 + ICCARM + 111 - ICCARM - 84 126 197 146 117 2 26 88 74 20 57 124 139 18 90 102 24 13 99 105 168 72 82 127 154 + BICOMP + 97 136 151 68 159 158 - BICOMP - 84 126 197 146 117 2 26 88 74 20 124 139 18 90 102 24 13 99 105 168 72 82 127 154 + ICCARM + 97 136 151 68 159 158 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\c_display.c - ICCARM - 11 + BICOMP + 57 - BICOMP - 92 + ICCARM + 78 - ICCARM - 84 197 146 117 118 30 + BICOMP + 16 94 83 45 6 15 90 97 161 40 52 112 - BICOMP - 84 197 146 117 118 30 + ICCARM + 16 94 83 63 45 6 15 90 97 161 40 52 112 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\c_input.c - ICCARM - 50 + BICOMP + 124 - BICOMP - 29 + ICCARM + 67 - ICCARM - 84 197 146 117 125 110 + BICOMP + 97 161 157 104 155 177 - BICOMP - 84 197 146 117 125 110 + ICCARM + 97 161 157 104 155 177 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c - ICCARM - 48 + BICOMP + 10 - BICOMP - 39 + ICCARM + 133 - ICCARM - 84 197 146 117 73 71 + BICOMP + 97 161 12 51 126 - BICOMP - 84 197 146 117 73 71 + ICCARM + 97 161 12 51 126 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\c_loader.c - ICCARM - 100 + BICOMP + 115 - BICOMP - 67 + ICCARM + 125 - ICCARM - 84 197 146 117 44 106 + BICOMP + 97 161 96 12 106 108 - BICOMP - 84 197 146 117 44 106 + ICCARM + 97 161 96 12 106 108 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - ICCARM - 32 + BICOMP + 80 - BICOMP - 95 + ICCARM + 69 - ICCARM - 84 197 146 117 194 10 + BICOMP + 97 161 114 104 149 73 - BICOMP - 84 197 146 117 194 10 + ICCARM + 97 161 114 104 149 73 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_output.c - ICCARM - 1 + BICOMP + 173 - BICOMP - 15 + ICCARM + 98 - ICCARM - 84 126 197 146 117 79 52 195 37 55 131 14 191 107 152 5 142 145 76 85 132 + BICOMP + 186 94 83 45 6 15 90 74 97 161 177 172 42 40 - BICOMP - 84 126 197 146 117 79 52 195 37 55 131 14 191 107 152 5 142 145 76 85 132 + ICCARM + 186 94 83 63 45 6 15 90 74 97 161 177 172 42 40 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_sound.c - ICCARM - 134 + BICOMP + 160 - BICOMP - 96 + ICCARM + 13 - ICCARM - 88 74 20 57 124 139 18 90 84 126 49 107 98 + BICOMP + 142 94 83 45 6 15 90 16 97 161 130 96 128 47 - BICOMP - 88 74 20 124 139 18 90 84 126 49 107 98 + ICCARM + 142 94 83 63 45 6 15 90 16 97 161 130 96 128 47 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 33 + BICOMP + 72 - BICOMP - 184 + ICCARM + 170 + + BICOMP + 186 94 83 45 6 15 90 16 144 175 117 120 142 168 89 8 102 153 97 161 167 107 136 151 68 40 96 99 130 104 177 12 92 127 114 182 169 79 48 183 185 171 76 165 64 140 71 44 193 113 62 60 50 176 70 77 162 46 56 41 147 123 87 95 2 11 119 131 143 141 145 110 146 116 0 189 122 192 + ICCARM - 84 126 195 37 144 68 + 186 94 83 63 45 6 15 90 16 144 175 117 120 142 168 89 8 102 153 97 161 167 107 136 151 68 40 96 99 130 104 177 12 92 127 114 182 169 79 48 183 185 171 76 165 64 140 71 44 193 113 62 60 50 176 70 77 162 46 56 41 147 123 87 95 2 11 119 131 143 141 145 110 146 116 0 189 122 192 + + + + + $PROJ_DIR$\..\Include\Cstartup.s79 + + + AARM + 138 + + - BICOMP - 84 126 195 37 144 68 + AARM + 154 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - ICCARM - 109 + BICOMP + 105 - BICOMP - 75 + ICCARM + 129 - ICCARM - 84 126 34 85 137 + BICOMP + 49 - BICOMP - 84 126 34 85 137 + ICCARM + 49 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 136 + BICOMP + 148 - BICOMP - 0 + ICCARM + 166 - ICCARM - 84 126 65 34 2 14 + BICOMP + 97 161 136 151 68 121 53 16 94 83 45 6 15 90 - BICOMP - 84 126 65 34 2 14 + ICCARM + 97 161 136 151 68 121 53 16 94 83 63 45 6 15 90 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 120 + BICOMP + 109 - BICOMP - 28 + ICCARM + 164 - ICCARM - 84 126 116 37 152 118 + BICOMP + 97 136 151 68 5 81 - BICOMP - 84 126 116 37 152 118 + ICCARM + 97 136 151 68 5 81 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 89 + BICOMP + 152 - BICOMP - 38 + ICCARM + 88 - ICCARM - 59 74 20 57 124 139 18 90 119 84 126 68 5 125 49 + BICOMP + 97 136 151 68 16 94 83 45 6 15 90 112 75 - BICOMP - 59 74 20 124 139 18 90 119 84 126 68 5 125 49 + ICCARM + 97 136 151 68 112 75 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 81 + BICOMP + 194 - BICOMP - 7 + ICCARM + 197 - ICCARM - 105 74 20 57 124 139 18 90 88 84 126 47 65 191 73 + BICOMP + 97 136 151 68 93 14 - BICOMP - 105 74 20 124 139 18 90 88 84 126 47 65 191 73 + ICCARM + 97 136 151 68 93 14 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 187 + BICOMP + 163 - BICOMP - 121 + ICCARM + 66 - ICCARM - 59 74 20 57 124 139 18 90 88 102 24 13 99 105 168 72 82 127 154 84 126 148 132 197 146 117 49 65 131 47 37 68 34 76 51 116 53 130 193 46 54 58 3 133 169 93 61 122 80 185 115 87 43 78 6 9 111 189 91 19 60 41 31 62 45 155 70 69 113 150 21 151 103 186 35 166 143 64 156 + BICOMP + 97 136 151 68 157 104 155 190 - BICOMP - 59 74 20 124 139 18 90 88 102 24 13 99 105 168 72 82 127 154 84 126 148 132 197 146 117 49 65 131 47 37 68 34 76 51 116 53 130 193 46 54 58 3 133 169 93 61 122 80 185 115 87 43 78 6 9 111 189 91 19 60 41 31 62 45 155 70 69 113 150 21 151 103 186 35 166 143 64 156 + ICCARM + 97 136 151 68 157 104 155 190 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\d_ioctrl.c - AARM - 101 + BICOMP + 65 + + + ICCARM + 100 - AARM - 147 + BICOMP + 16 94 83 45 6 15 90 97 136 151 68 126 58 + + + ICCARM + 16 94 83 63 45 6 15 90 97 136 151 68 126 58 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 192 + BICOMP + 101 - BICOMP - 36 + ICCARM + 118 - ICCARM - 108 + BICOMP + 97 161 136 151 68 106 178 16 94 83 45 6 15 90 144 175 117 120 142 168 89 8 102 153 - BICOMP - 108 + ICCARM + 97 161 136 151 68 106 178 16 94 83 63 45 6 15 90 144 175 117 120 142 168 89 8 102 153 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 190 + BICOMP + 61 - BICOMP - 153 + ICCARM + 91 - ICCARM - 84 126 197 146 117 42 123 88 74 20 57 124 139 18 90 + BICOMP + 97 136 151 68 73 196 - BICOMP - 84 126 197 146 117 42 123 88 74 20 124 139 18 90 + ICCARM + 97 136 151 68 73 196 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 188 + BICOMP + 195 - BICOMP - 97 + ICCARM + 180 - ICCARM - 84 197 146 117 138 66 + BICOMP + 97 136 151 68 42 134 - BICOMP - 84 197 146 117 138 66 + ICCARM + 97 136 151 68 42 134 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 12 + BICOMP + 137 - BICOMP - 149 + ICCARM + 54 - ICCARM - 84 197 146 117 98 129 + BICOMP + 97 136 151 68 47 85 - BICOMP - 84 197 146 117 88 74 20 124 139 18 90 98 129 + ICCARM + 97 136 151 68 47 85 - $PROJ_DIR$\..\..\Source\c_button.c + [ROOT_NODE] - ICCARM - 25 - - - BICOMP - 16 + XLINK + 132 + + + $PROJ_DIR$\Benchmark\Obj\LMS_ARM.pbd - ICCARM - 84 126 55 131 138 - - - BICOMP - 84 126 55 131 138 + BILINK + 105 188 59 135 57 124 10 115 80 173 160 72 148 109 152 194 163 65 101 61 195 137 187 55 179 @@ -824,136 +824,172 @@ Bin Output - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_button.c + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $TOOLKIT_DIR$\inc\DLib_Threads.h + $TOOLKIT_DIR$\inc\string.h $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\c_loader.h $PROJ_DIR$\..\..\Source\c_comm.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\Submenu02.rms - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\Running.txt - $TOOLKIT_DIR$\inc\stdio.h $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\..\Source\d_output.h $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\d_sound.h + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\d_bt.r + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\string.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\Icons.txt $PROJ_DIR$\..\..\Source\d_lowspeed.h $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_button.r + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $TOOLKIT_DIR$\inc\xlocale_c.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\d_hispeed.r79 + $PROJ_DIR$\..\Object\d_display.s + $PROJ_DIR$\..\Object\c_lowspeed.r79 + $PROJ_DIR$\..\Object\d_display.r79 + $PROJ_DIR$\..\Object\d_led.r79 + $PROJ_DIR$\..\Object\d_display.pbi $PROJ_DIR$\..\Object\d_lowspeed.r79 - $PROJ_DIR$\..\..\Source\c_button.iom + $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 + $PROJ_DIR$\..\Object\d_bt.r79 + $PROJ_DIR$\..\Object\d_button.s + $PROJ_DIR$\..\Object\c_led.r79 + $PROJ_DIR$\..\Object\d_input.pbi + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\..\Object\d_ioctrl.s + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\Object\d_output.s + $PROJ_DIR$\..\Object\d_input.r79 + $PROJ_DIR$\..\Object\d_usb.pbi + $PROJ_DIR$\..\Object\d_hispeed.s + $PROJ_DIR$\..\Object\c_input.s + $PROJ_DIR$\..\Object\c_output.s + $PROJ_DIR$\..\Object\d_usb.s + $PROJ_DIR$\..\Object\c_cmd.pbi + $PROJ_DIR$\..\Object\d_hispeed.pbi + $PROJ_DIR$\..\Object\m_sched.r79 + $PROJ_DIR$\..\Object\d_loader.s + $PROJ_DIR$\..\Object\d_button.pbi + $PROJ_DIR$\..\Object\c_cmd.s + $PROJ_DIR$\..\Object\c_loader.s + $PROJ_DIR$\..\Object\Cstartup_SAM7.s + $PROJ_DIR$\at91SAM7S256_Remap.xcl + $PROJ_DIR$\..\Object\c_sound.s + $PROJ_DIR$\..\Object\c_lowspeed.s $PROJ_DIR$\..\..\Source\c_led.iom + $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\Object\c_comm.s + $PROJ_DIR$\..\Object\c_lowspeed.pbi + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\Object\d_lowspeed.s + $PROJ_DIR$\..\Object\c_cmd.r79 + $PROJ_DIR$\..\Object\d_sound.pbi + $PROJ_DIR$\..\Object\d_sound.s + $PROJ_DIR$\..\Object\d_output.r79 + $PROJ_DIR$\..\Object\c_display.s + $PROJ_DIR$\..\Object\c_sound.pbi + $PROJ_DIR$\..\Object\c_loader.r79 + $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\c_button.pbi + $PROJ_DIR$\..\Object\c_loader.pbi + $PROJ_DIR$\..\Object\d_output.pbi + $PROJ_DIR$\..\Object\d_lowspeed.pbi + $PROJ_DIR$\..\Object\LMS_ARM.map + $PROJ_DIR$\..\Object\m_sched.s + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\Object\d_ioctrl.r79 + $PROJ_DIR$\..\Object\m_sched.pbi + $PROJ_DIR$\..\Object\d_timer.r79 + $PROJ_DIR$\..\Object\c_ioctrl.pbi + $PROJ_DIR$\..\Object\d_sound.r79 + $PROJ_DIR$\..\Object\c_comm.r79 + $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\c_ui.s + $PROJ_DIR$\..\Object\LMS_ARM.pbd $PROJ_DIR$\..\Object\c_comm.pbi + $PROJ_DIR$\..\Object\d_timer.s + $PROJ_DIR$\..\Object\c_input.pbi $PROJ_DIR$\..\Object\d_loader.r79 - $PROJ_DIR$\..\Object\d_output.pbi - $PROJ_DIR$\..\Object\c_loader.pbi + $PROJ_DIR$\..\Object\c_ioctrl.s + $PROJ_DIR$\..\Object\c_button.r79 $PROJ_DIR$\..\Object\c_button.s $PROJ_DIR$\..\Object\c_ioctrl.r79 $PROJ_DIR$\..\Object\c_input.r79 $PROJ_DIR$\..\Object\d_ioctrl.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\c_display.pbi $PROJ_DIR$\..\Object\LMS_ARM.a79 $PROJ_DIR$\..\Object\c_output.r79 $PROJ_DIR$\..\Object\c_sound.r79 $PROJ_DIR$\..\Object\d_loader.pbi - $PROJ_DIR$\..\Object\c_loader.r79 - $PROJ_DIR$\..\Object\c_ioctrl.s - $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\c_ui.s - $PROJ_DIR$\..\Object\m_sched.s - $PROJ_DIR$\..\Object\d_lowspeed.pbi - $PROJ_DIR$\..\Object\d_display.s - $PROJ_DIR$\..\Object\LMS_ARM.d79 - $PROJ_DIR$\..\Object\d_hispeed.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.s - $PROJ_DIR$\..\Object\c_button.pbi - $PROJ_DIR$\..\Object\d_sound.r79 - $PROJ_DIR$\..\Object\c_comm.r79 - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\Object\c_output.s - $PROJ_DIR$\..\Object\d_timer.r79 - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\Object\c_ioctrl.pbi - $PROJ_DIR$\..\Object\d_ioctrl.r79 - $PROJ_DIR$\..\Object\m_sched.pbi - $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\Object\d_timer.pbi - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\Object\d_bt.pbi + $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\Object\c_output.pbi $PROJ_DIR$\..\Object\d_bt.s $PROJ_DIR$\..\Object\d_usb.r79 @@ -962,1159 +998,1115 @@ $PROJ_DIR$\..\Object\c_ui.pbi $PROJ_DIR$\..\Object\c_ui.r79 $PROJ_DIR$\..\Object\d_button.r79 - $PROJ_DIR$\..\Object\c_display.r79 - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\Object\d_hispeed.r79 - $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\c_sound.s - $PROJ_DIR$\..\Object\c_display.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\at91SAM7S256_Remap.xcl - $PROJ_DIR$\..\Object\c_lowspeed.s - $PROJ_DIR$\..\Object\c_display.s - $PROJ_DIR$\..\Object\c_sound.pbi - $PROJ_DIR$\..\Object\d_bt.pbi - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\Object\d_lowspeed.s - $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\d_loader.h $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt - $PROJ_DIR$\..\Object\d_display.r79 - $PROJ_DIR$\..\Object\d_ioctrl.s - $PROJ_DIR$\..\Object\d_display.pbi - $TOOLKIT_DIR$\inc\limits.h - $PROJ_DIR$\..\Object\d_bt.r79 - $PROJ_DIR$\..\Object\d_button.s - $PROJ_DIR$\..\Object\c_led.r79 - $PROJ_DIR$\..\Object\d_input.pbi - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\Object\d_sound.pbi - $PROJ_DIR$\..\Object\d_sound.s - $PROJ_DIR$\..\Object\d_output.r79 - $PROJ_DIR$\..\Object\d_usb.s - $PROJ_DIR$\..\Object\c_cmd.pbi - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\..\Object\m_sched.r79 - $PROJ_DIR$\..\Object\d_loader.s - $PROJ_DIR$\..\Object\d_button.pbi - $PROJ_DIR$\..\Object\c_cmd.s - $PROJ_DIR$\..\Object\c_loader.s - $PROJ_DIR$\..\Object\d_output.s - $PROJ_DIR$\..\Object\d_input.r79 - $PROJ_DIR$\..\Object\d_usb.pbi - $PROJ_DIR$\..\Object\d_hispeed.s - $PROJ_DIR$\..\Object\c_input.s - $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\Object\c_button.r79 - $PROJ_DIR$\..\Object\LMS_ARM.map - $PROJ_DIR$\..\Object\c_comm.s - $PROJ_DIR$\..\Object\d_timer.s - $PROJ_DIR$\..\Object\c_input.pbi - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom - $PROJ_DIR$\..\..\Source\Submenu01.rms - $PROJ_DIR$\..\..\Source\Submenu04.rms - $PROJ_DIR$\..\..\Source\c_lowspeed.h - $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\c_loader.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\d_display.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $TOOLKIT_DIR$\inc\xtls.h + $PROJ_DIR$\..\..\Source\Ui.txt + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\c_comm.iom $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Submenu02.rms + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\..\..\Source\Submenu01.rms + $TOOLKIT_DIR$\inc\ctype.h + $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_14.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h + $TOOLKIT_DIR$\inc\wchar.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\d_usb.r $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\..\..\Source\modules.h + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\c_ui.iom + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\c_output.iom + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\BtTest.inc $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\m_sched.c - XLINK - 113 186 102 + BICOMP + 140 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 154 - - - BICOMP - 172 + 106 - ICCARM - 58 85 51 44 20 42 197 27 91 28 29 77 239 195 78 191 194 24 37 50 12 35 83 190 10 62 61 69 119 173 161 34 + BICOMP + 79 216 197 208 57 40 228 213 176 231 174 179 193 49 206 223 3 207 73 48 178 - BICOMP - 58 85 51 44 20 42 197 27 91 28 29 77 239 195 78 191 194 24 37 50 12 83 190 10 62 61 69 119 173 161 34 + ICCARM + 79 216 197 208 57 40 228 213 176 231 174 179 193 49 206 223 3 207 73 48 178 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 118 + BICOMP + 99 - BICOMP - 93 + ICCARM + 168 - ICCARM - 58 85 29 42 18 197 51 28 30 236 52 22 61 50 12 35 83 190 10 62 67 14 7 66 69 215 48 56 86 201 + BICOMP + 79 197 208 57 236 212 - BICOMP - 58 85 29 42 18 197 51 28 30 236 52 22 61 50 12 83 190 10 62 67 14 7 66 69 215 48 56 86 201 + ICCARM + 79 197 208 57 236 212 - $PROJ_DIR$\..\Object\c_button.s + $PROJ_DIR$\..\..\Source\c_button.c - AARM - 185 + BICOMP + 131 - - - - $PROJ_DIR$\..\Object\c_ioctrl.s - - AARM - 98 + ICCARM + 154 - - - $PROJ_DIR$\..\Object\LMS_ARM.pbd - BILINK - 101 116 172 93 144 189 124 96 184 130 150 135 151 176 160 114 165 100 105 111 95 168 128 181 126 + BICOMP + 79 216 231 174 5 + + + ICCARM + 79 216 231 174 5 - $PROJ_DIR$\..\Object\c_ui.s + $PROJ_DIR$\..\..\Source\c_cmd.c - AARM - 136 + BICOMP + 104 - - - - $PROJ_DIR$\..\Object\m_sched.s - - AARM - 174 + ICCARM + 123 - - - $PROJ_DIR$\..\Object\d_display.s - + - AARM - 158 + BICOMP + 79 216 73 226 176 78 219 194 174 37 192 183 197 208 57 3 207 215 233 75 67 42 6 12 72 13 200 119 116 80 69 - + + ICCARM + 79 216 73 226 176 78 219 194 174 37 192 183 197 208 57 3 207 215 233 75 67 55 42 6 12 72 13 200 119 116 80 69 + + - $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\..\Source\c_comm.c - XLINK - 186 102 + BICOMP + 149 + + + ICCARM + 144 - XLINK - 147 133 145 185 154 118 138 99 98 106 142 103 104 136 162 137 158 141 180 125 94 90 170 117 122 132 174 127 + BICOMP + 79 216 192 78 10 219 73 37 228 236 74 188 13 75 67 42 6 12 72 202 224 185 187 200 220 71 8 175 209 - - - - $PROJ_DIR$\..\Object\Cstartup_SAM7.s - - AARM - 145 + ICCARM + 79 216 192 78 10 219 73 37 228 236 74 188 13 75 67 55 42 6 12 72 202 224 185 187 200 220 71 8 175 209 - + - $PROJ_DIR$\..\Object\c_output.s + $PROJ_DIR$\..\..\Source\d_timer.c - AARM - 103 + BICOMP + 88 - - - - $PROJ_DIR$\..\..\Source\c_led.c - ICCARM - 164 + 141 + + BICOMP + 79 197 208 57 215 214 + ICCARM - 58 85 92 140 120 + 79 197 208 57 215 214 - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\c_display.c + + BICOMP + 159 + ICCARM - 139 + 120 - ICCARM - 58 239 195 78 120 155 + BICOMP + 13 75 67 42 6 12 72 79 216 37 49 181 - - - - $PROJ_DIR$\..\Object\d_bt.s - - AARM - 162 + ICCARM + 13 75 67 55 42 6 12 72 79 216 37 49 181 - + - $PROJ_DIR$\..\Object\d_input.s + $PROJ_DIR$\..\..\Source\c_input.c - AARM - 180 + BICOMP + 151 - - - - $PROJ_DIR$\..\Object\c_sound.s - - AARM - 104 + ICCARM + 157 - - - $PROJ_DIR$\..\Object\c_lowspeed.s - + - AARM - 142 + BICOMP + 79 216 213 176 211 226 78 13 75 67 42 6 12 72 - - - - $PROJ_DIR$\..\Object\c_display.s - - AARM - 138 + ICCARM + 79 216 213 176 211 226 78 13 75 67 55 42 6 12 72 - + - $PROJ_DIR$\..\Object\d_lowspeed.s + $PROJ_DIR$\..\..\Source\c_ioctrl.c - AARM - 90 + BICOMP + 142 - - - - $PROJ_DIR$\..\Object\d_ioctrl.s - - AARM - 125 + ICCARM + 156 - - - $PROJ_DIR$\..\Object\d_button.s - + - AARM - 137 + BICOMP + 79 216 10 48 191 - - - - $PROJ_DIR$\..\Object\d_sound.s - - AARM - 117 + ICCARM + 79 216 10 48 191 - + - $PROJ_DIR$\..\Object\d_usb.s + $PROJ_DIR$\..\..\Source\c_loader.c - AARM + BICOMP 132 - - - - $PROJ_DIR$\..\Object\d_loader.s - - AARM - 94 + ICCARM + 129 - - - $PROJ_DIR$\..\Object\c_cmd.s - + - AARM - 154 + BICOMP + 79 216 78 10 177 179 13 75 67 42 6 12 72 - - - - $PROJ_DIR$\..\Object\c_loader.s - - AARM - 106 + ICCARM + 79 216 78 10 177 179 13 75 67 55 42 6 12 72 - + - $PROJ_DIR$\..\Object\d_output.s + $PROJ_DIR$\..\..\Source\c_lowspeed.c - AARM - 170 + BICOMP + 118 - - - - $PROJ_DIR$\..\Object\d_hispeed.s - - AARM - 141 + ICCARM + 83 - - - $PROJ_DIR$\..\Object\c_input.s - + - AARM - 99 + BICOMP + 79 216 183 176 206 60 - - - - $PROJ_DIR$\..\Object\c_comm.s - - AARM - 118 + ICCARM + 79 216 183 176 206 60 - + - $PROJ_DIR$\..\Object\d_timer.s + $PROJ_DIR$\..\..\Source\c_output.c - AARM - 122 + BICOMP + 166 + + + ICCARM + 161 + + + BICOMP + 233 75 67 42 6 12 72 61 79 216 226 223 39 37 + + + ICCARM + 233 75 67 55 42 6 12 72 61 79 216 226 223 39 37 + + - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_sound.c - ICCARM - 141 + BICOMP + 128 - BICOMP - 114 + ICCARM + 162 - ICCARM - 58 239 195 78 52 57 + BICOMP + 200 75 67 42 6 12 72 13 79 216 194 78 193 44 - BICOMP - 58 239 195 78 52 57 + ICCARM + 200 75 67 55 42 6 12 72 13 79 216 194 78 193 44 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 180 + BICOMP + 171 - BICOMP - 165 + ICCARM + 172 - ICCARM - 58 239 195 78 237 20 193 238 + BICOMP + 233 75 67 42 6 12 72 13 202 224 185 187 200 220 71 8 175 209 79 216 219 178 197 208 57 37 78 174 194 176 226 10 73 192 183 229 221 65 45 230 232 222 63 218 56 198 59 41 238 182 54 53 47 225 58 64 217 43 51 38 205 190 70 77 2 9 186 195 201 199 94 203 180 204 184 0 234 189 237 - BICOMP - 58 239 195 78 237 20 193 238 + ICCARM + 233 75 67 55 42 6 12 72 13 202 224 185 187 200 220 71 8 175 209 79 216 219 178 197 208 57 37 78 174 194 176 226 10 73 192 183 229 221 65 45 230 232 222 63 218 56 198 59 41 238 182 54 53 47 225 58 64 217 43 51 38 205 190 70 77 2 9 186 195 201 199 94 203 180 204 184 0 234 189 237 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\Include\Cstartup.s79 - ICCARM - 125 + AARM + 169 + + + + + AARM + 210 + + + + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + BICOMP - 100 + 146 - - ICCARM - 61 50 12 35 83 190 10 62 58 239 195 78 166 87 + 89 + + BICOMP - 61 50 12 83 190 10 62 58 239 195 78 166 87 + 46 + + + ICCARM + 46 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 94 + BICOMP + 164 - BICOMP - 105 + ICCARM + 90 - ICCARM - 58 85 239 195 78 0 15 61 50 12 35 83 190 10 62 67 14 7 66 69 215 48 56 86 201 + BICOMP + 79 216 197 208 57 188 50 13 75 67 42 6 12 72 - BICOMP - 58 85 239 195 78 0 15 61 50 12 83 190 10 62 67 14 7 66 69 215 48 56 86 201 + ICCARM + 79 216 197 208 57 188 50 13 75 67 55 42 6 12 72 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 90 + BICOMP + 108 - BICOMP - 111 + ICCARM + 173 - ICCARM - 58 239 195 78 79 16 + BICOMP + 79 197 208 57 5 66 - BICOMP - 58 239 195 78 79 16 + ICCARM + 79 197 208 57 5 66 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 170 + BICOMP + 86 - BICOMP - 95 + ICCARM + 84 - ICCARM - 58 239 195 78 84 73 + BICOMP + 79 197 208 57 181 62 - BICOMP - 58 239 195 78 84 73 + ICCARM + 79 197 208 57 181 62 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 117 + BICOMP + 105 - BICOMP - 168 + ICCARM + 81 - ICCARM - 58 239 195 78 49 47 152 + BICOMP + 79 197 208 57 74 11 - BICOMP - 58 239 195 78 49 47 152 + ICCARM + 79 197 208 57 74 11 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 122 + BICOMP + 93 - BICOMP - 128 + ICCARM + 98 - ICCARM - 58 239 195 78 24 70 + BICOMP + 79 197 208 57 213 176 211 235 - BICOMP - 58 239 195 78 24 70 + ICCARM + 79 197 208 57 213 176 211 235 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 132 + BICOMP + 158 - BICOMP - 181 + ICCARM + 139 - ICCARM - 58 239 195 78 236 6 + BICOMP + 13 75 67 42 6 12 72 79 197 208 57 191 52 - BICOMP - 58 239 195 78 236 6 + ICCARM + 13 75 67 55 42 6 12 72 79 197 208 57 191 52 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 174 + BICOMP + 163 - BICOMP - 126 + ICCARM + 152 - ICCARM - 58 85 239 195 78 54 30 237 20 33 91 8 234 71 200 2 191 194 51 59 156 + BICOMP + 79 216 197 208 57 177 227 13 75 67 42 6 12 72 202 224 185 187 200 220 71 8 175 209 - BICOMP - 58 85 239 195 78 54 30 237 20 33 91 8 234 71 200 2 191 194 51 59 156 + ICCARM + 79 216 197 208 57 177 227 13 75 67 55 42 6 12 72 202 224 185 187 200 220 71 8 175 209 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 138 + BICOMP + 134 - BICOMP - 144 + ICCARM + 87 - ICCARM - 61 50 12 35 83 190 10 62 58 85 28 71 65 + BICOMP + 79 197 208 57 60 239 - BICOMP - 61 50 12 83 190 10 62 58 85 28 71 65 + ICCARM + 79 197 208 57 60 239 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 99 + BICOMP + 133 - BICOMP - 189 + ICCARM + 126 - ICCARM - 58 85 237 20 193 44 42 61 50 12 35 83 190 10 62 + BICOMP + 79 197 208 57 39 196 - BICOMP - 58 85 237 20 193 44 42 61 50 12 83 190 10 62 + ICCARM + 79 197 208 57 39 196 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_sound.c - - ICCARM - 98 - BICOMP 124 - - ICCARM - 58 85 18 59 166 + 143 + + BICOMP - 58 85 18 59 166 + 79 197 208 57 44 68 121 + + + ICCARM + 79 197 208 57 44 68 121 - $PROJ_DIR$\..\..\Source\c_loader.c + [ROOT_NODE] - ICCARM - 106 + XLINK + 130 135 160 + + + + $PROJ_DIR$\..\..\Source\d_led.c + - BICOMP - 96 + ICCARM + 85 ICCARM - 58 85 42 18 0 8 61 50 12 35 83 190 10 62 - - - BICOMP - 58 85 42 18 0 8 61 50 12 83 190 10 62 + 79 197 208 57 96 165 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\Object\d_display.s - ICCARM - 142 - - - BICOMP - 184 + AARM + 84 - + + + $PROJ_DIR$\..\Object\d_button.s + - ICCARM - 58 85 77 20 200 79 + AARM + 173 + + + + $PROJ_DIR$\..\Object\d_ioctrl.s + - BICOMP - 58 85 77 20 200 79 + AARM + 139 - + - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\Object\d_output.s - ICCARM - 103 + AARM + 126 + + + + $PROJ_DIR$\..\Object\d_hispeed.s + - BICOMP - 130 + AARM + 81 - + + + $PROJ_DIR$\..\Object\c_input.s + - ICCARM - 37 50 12 35 83 190 10 62 80 58 85 44 2 84 28 + AARM + 157 + + + + $PROJ_DIR$\..\Object\c_output.s + - BICOMP - 37 50 12 83 190 10 62 80 58 85 44 2 84 28 + AARM + 161 - + - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\Object\d_usb.s - ICCARM - 104 + AARM + 168 + + + + $PROJ_DIR$\..\Object\d_loader.s + - BICOMP - 150 + AARM + 152 - + + + $PROJ_DIR$\..\Object\c_cmd.s + - ICCARM - 69 50 12 35 83 190 10 62 61 58 85 27 42 234 49 + AARM + 123 + + + + $PROJ_DIR$\..\Object\c_loader.s + - BICOMP - 69 50 12 83 190 10 62 61 58 85 27 42 234 49 + AARM + 129 - + - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Object\Cstartup_SAM7.s - ICCARM - 136 + AARM + 89 + + + + $PROJ_DIR$\..\Object\c_sound.s + - BICOMP - 135 + AARM + 162 - + + + $PROJ_DIR$\..\Object\c_lowspeed.s + - ICCARM - 37 50 12 35 83 190 10 62 61 67 14 7 66 69 215 48 56 86 201 58 85 197 156 239 195 78 28 42 91 27 20 44 18 51 29 77 31 89 235 26 32 36 1 157 216 64 39 81 55 231 76 60 23 53 3 5 74 233 63 11 38 21 17 40 25 202 46 45 75 198 13 146 199 68 232 19 213 192 41 203 + AARM + 83 + + + + $PROJ_DIR$\..\Object\c_comm.s + - BICOMP - 37 50 12 83 190 10 62 61 67 14 7 66 69 215 48 56 86 201 58 85 197 156 239 195 78 28 42 91 27 20 44 18 51 29 77 31 89 235 26 32 36 1 157 216 64 39 81 55 231 76 60 23 53 3 5 74 233 63 11 38 21 17 40 25 202 46 45 75 198 13 146 199 68 232 19 213 192 41 203 + AARM + 144 - + - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Object\d_lowspeed.s AARM - 133 + 87 - + + + $PROJ_DIR$\..\Object\d_sound.s + AARM - 196 + 143 - + - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\Object\c_display.s - ICCARM - 145 + AARM + 120 + + + + $PROJ_DIR$\..\Object\LMS_ARM.d79 + - BICOMP - 101 + XLINK + 135 160 - ICCARM - 72 - - - BICOMP - 72 + XLINK + 112 169 89 154 123 144 120 157 156 129 83 161 162 172 90 173 84 81 98 139 152 87 126 143 141 168 106 145 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\Object\m_sched.s - ICCARM - 162 + AARM + 106 + + + + $PROJ_DIR$\..\..\Source\c_led.c + - BICOMP - 151 + ICCARM + 92 ICCARM - 58 85 239 195 78 22 82 61 50 12 35 83 190 10 62 - - - BICOMP - 58 85 239 195 78 22 82 61 50 12 83 190 10 62 + 79 216 115 137 96 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\Object\c_ui.s - ICCARM - 137 - - - BICOMP - 176 + AARM + 172 + + + $PROJ_DIR$\..\Object\LMS_ARM.pbd - ICCARM - 58 239 195 78 167 43 - - - BICOMP - 58 239 195 78 167 43 + BILINK + 146 131 104 149 159 151 142 132 118 166 128 171 164 108 86 105 93 158 163 134 133 124 88 99 140 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\Object\d_timer.s - ICCARM - 158 - - - BICOMP - 160 + AARM + 141 - - - ICCARM - 58 239 195 78 65 88 - + + + $PROJ_DIR$\..\Object\c_ioctrl.s + - BICOMP - 58 239 195 78 65 88 + AARM + 156 - + - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\Object\c_button.s - ICCARM - 185 + AARM + 154 + + + + $PROJ_DIR$\..\Object\d_bt.s + - BICOMP - 116 + AARM + 90 - - - ICCARM - 58 85 33 91 167 - + + + $PROJ_DIR$\..\Object\d_input.s + - BICOMP - 58 85 33 91 167 + AARM + 98 - + Flash Debug - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_button.c + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $TOOLKIT_DIR$\inc\DLib_Threads.h + $TOOLKIT_DIR$\inc\string.h $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\c_loader.h $PROJ_DIR$\..\..\Source\c_comm.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\Submenu02.rms - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\Lib\dl4tptinl8n.h - $PROJ_DIR$\..\..\Source\Running.txt - $TOOLKIT_DIR$\inc\stdio.h $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\..\Source\d_output.h $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\d_sound.h + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\d_bt.r + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\string.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\Lib\dl4tptinl8n.h $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\Icons.txt $PROJ_DIR$\..\..\Source\d_lowspeed.h $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\Object\d_lowspeed.r79 - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_led.iom - $PROJ_DIR$\..\Object\c_comm.pbi - $PROJ_DIR$\..\..\Source\c_bt.c - $PROJ_DIR$\..\Object\d_loader.r79 - $PROJ_DIR$\..\Object\d_output.pbi - $PROJ_DIR$\..\Object\c_loader.pbi - $PROJ_DIR$\..\Object\c_ioctrl.r79 - $PROJ_DIR$\..\Object\c_input.r79 - $PROJ_DIR$\..\Object\d_ioctrl.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi - $PROJ_DIR$\..\Object\c_output.r79 - $PROJ_DIR$\..\Object\c_sound.r79 - $PROJ_DIR$\..\Object\d_loader.pbi - $PROJ_DIR$\..\Object\c_loader.r79 - $PROJ_DIR$\..\Object\LMS_ARM.pbd - $PROJ_DIR$\..\Object\d_lowspeed.pbi - $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\..\Object\LMS_ARM.d79 - $PROJ_DIR$\..\Object\d_hispeed.pbi - $PROJ_DIR$\..\Object\c_button.pbi - $PROJ_DIR$\..\Object\d_sound.r79 - $PROJ_DIR$\..\Object\c_comm.r79 - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\Object\d_timer.r79 - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\Object\c_ioctrl.pbi - $PROJ_DIR$\..\Object\d_ioctrl.r79 - $PROJ_DIR$\..\Object\m_sched.pbi - $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_button.r + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $TOOLKIT_DIR$\inc\xlocale_c.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\yvals.h $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\Object\c_output.pbi - $PROJ_DIR$\..\Object\d_usb.r79 - $PROJ_DIR$\..\Object\Cstartup.r79 - $PROJ_DIR$\..\Object\c_ui.pbi - $PROJ_DIR$\..\Object\c_ui.r79 - $PROJ_DIR$\..\Object\d_button.r79 - $PROJ_DIR$\..\Object\c_display.r79 - $PROJ_DIR$\..\Object\d_led.r79 - $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\limits.h $PROJ_DIR$\..\Object\d_hispeed.r79 $PROJ_DIR$\..\Object\c_lowspeed.r79 - $PROJ_DIR$\..\Object\c_display.pbi - $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\at91SAM7S256_Remap.xcl - $PROJ_DIR$\..\Object\c_sound.pbi - $PROJ_DIR$\..\Object\d_bt.pbi - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\Object\c_cmd.r79 - $PROJ_DIR$\..\..\Source\d_led.r - $PROJ_DIR$\..\..\Source\c_ui.h - $PROJ_DIR$\..\..\Source\Ok.txt $PROJ_DIR$\..\Object\d_display.r79 + $PROJ_DIR$\..\Object\d_led.r79 $PROJ_DIR$\..\Object\d_display.pbi - $TOOLKIT_DIR$\inc\limits.h + $PROJ_DIR$\..\Object\d_lowspeed.r79 + $PROJ_DIR$\..\Object\d_timer.pbi + $PROJ_DIR$\..\Object\Cstartup_SAM7.r79 $PROJ_DIR$\..\Object\d_bt.r79 $PROJ_DIR$\..\Object\c_led.r79 $PROJ_DIR$\..\Object\d_input.pbi - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h - $PROJ_DIR$\..\Object\d_sound.pbi - $PROJ_DIR$\..\Object\d_output.r79 + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\Object\d_input.r79 + $PROJ_DIR$\..\Object\d_usb.pbi $PROJ_DIR$\..\Object\c_cmd.pbi - $TOOLKIT_DIR$\inc\ymath.h + $PROJ_DIR$\..\Object\d_hispeed.pbi $PROJ_DIR$\..\Object\m_sched.r79 $PROJ_DIR$\..\Object\d_button.pbi - $PROJ_DIR$\..\Object\d_input.r79 - $PROJ_DIR$\..\Object\d_usb.pbi + $PROJ_DIR$\at91SAM7S256_Remap.xcl + $PROJ_DIR$\..\..\Source\c_led.iom + $TOOLKIT_DIR$\inc\ymath.h $PROJ_DIR$\..\Object\c_lowspeed.pbi - $PROJ_DIR$\..\Object\c_button.r79 + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\Object\c_display.r79 + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r + $PROJ_DIR$\..\Object\c_cmd.r79 + $PROJ_DIR$\..\Object\d_sound.pbi + $PROJ_DIR$\..\Object\d_output.r79 + $PROJ_DIR$\..\Object\c_sound.pbi + $PROJ_DIR$\..\Object\c_loader.r79 + $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\d_net.c + $PROJ_DIR$\..\..\Source\d_avrcomm.h + $PROJ_DIR$\..\..\Source\c_hispeed.h + $PROJ_DIR$\..\..\Source\c_hispeed.iom + $PROJ_DIR$\..\Object\c_net.r79 + $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\Object\c_button.pbi + $PROJ_DIR$\..\Object\c_loader.pbi + $PROJ_DIR$\..\Object\d_output.pbi + $PROJ_DIR$\..\Object\d_lowspeed.pbi $PROJ_DIR$\..\Object\LMS_ARM.map + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\Object\d_ioctrl.r79 + $PROJ_DIR$\..\Object\m_sched.pbi + $PROJ_DIR$\..\Object\d_timer.r79 + $PROJ_DIR$\..\Object\c_ioctrl.pbi + $PROJ_DIR$\..\Object\d_sound.r79 + $PROJ_DIR$\..\Object\c_comm.r79 + $PROJ_DIR$\..\Lib\dl4tptinl8n.r79 + $PROJ_DIR$\..\Object\Cstartup_SAM7.pbi + $PROJ_DIR$\..\Object\LMS_ARM.pbd + $PROJ_DIR$\..\Object\c_comm.pbi $PROJ_DIR$\..\Object\c_input.pbi + $PROJ_DIR$\..\Object\d_loader.r79 + $PROJ_DIR$\..\Object\c_button.r79 + $PROJ_DIR$\..\Object\c_ioctrl.r79 + $PROJ_DIR$\..\Object\c_input.r79 + $PROJ_DIR$\..\Object\d_ioctrl.pbi + $PROJ_DIR$\..\Object\c_display.pbi + $PROJ_DIR$\..\Object\c_output.r79 + $PROJ_DIR$\..\Object\c_sound.r79 + $PROJ_DIR$\..\Object\d_loader.pbi + $PROJ_DIR$\..\Object\d_bt.pbi + $PROJ_DIR$\..\..\Source\d_led.r + $PROJ_DIR$\..\Object\c_output.pbi + $PROJ_DIR$\..\Object\d_usb.r79 + $PROJ_DIR$\..\Object\Cstartup.r79 + $PROJ_DIR$\..\Object\c_ui.pbi + $PROJ_DIR$\..\Object\c_ui.r79 + $PROJ_DIR$\..\Object\d_button.r79 + $PROJ_DIR$\..\Object\c_avrcomm.r79 $PROJ_DIR$\..\..\Source\c_net.c - $PROJ_DIR$\..\Object\d_sensor.r79 + $PROJ_DIR$\..\..\Source\d_sensor.r + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\Object\d_motor.r79 $PROJ_DIR$\..\Object\d_net.r79 $PROJ_DIR$\..\Include\Board.h $PROJ_DIR$\..\Object\c_motor.r79 @@ -2122,18 +2114,14 @@ $PROJ_DIR$\..\Object\c_bt.r79 $PROJ_DIR$\..\Object\c_usb.r79 $PROJ_DIR$\..\..\include\AT91SAM7S64.h - $PROJ_DIR$\..\..\Source\d_avrcomm.h - $PROJ_DIR$\..\..\Source\c_net.h - $PROJ_DIR$\..\Object\c_hispeed.r79 - $PROJ_DIR$\..\..\Source\d_sensor.c - $PROJ_DIR$\..\..\Source\c_usb.c - $PROJ_DIR$\..\..\Source\c_bt.iom - $PROJ_DIR$\..\..\Source\d_net.c - $PROJ_DIR$\..\..\Source\d_motor.c - $PROJ_DIR$\..\Object\c_net.r79 + $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\Object\LMS_ARM.sim $PROJ_DIR$\..\..\Source\c_sensor.c - $PROJ_DIR$\..\..\Source\c_motor.c - $PROJ_DIR$\..\..\Source\d_sensor.r + $PROJ_DIR$\..\Include\ioat91sam7s64.h + $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\Source\c_motor.h + $PROJ_DIR$\..\..\Source\c_net.h $PROJ_DIR$\..\Object\d_avrcomm.r79 $PROJ_DIR$\..\..\Source\d_net.r $PROJ_DIR$\..\..\Source\d_avrcomm.r @@ -2142,416 +2130,523 @@ $PROJ_DIR$\..\..\Source\d_net.h $PROJ_DIR$\..\..\Source\c_bt.h $PROJ_DIR$\..\..\Source\c_usb.iom - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\..\Object\d_motor.r79 - $PROJ_DIR$\..\Object\LMS_ARM.sim - $PROJ_DIR$\..\..\Source\c_avrcomm.h - $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\..\Source\c_avrcomm.c - $PROJ_DIR$\..\..\Source\c_hispeed.h - $PROJ_DIR$\..\Object\c_avrcomm.r79 - $PROJ_DIR$\..\..\Source\c_sensor.h $PROJ_DIR$\..\..\Source\d_avrcomm.c - $PROJ_DIR$\..\..\Source\main.c - $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h + $PROJ_DIR$\..\Include\AT91SAM7S64.h + $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\..\..\Source\c_bt.c + $PROJ_DIR$\..\Include\lib_AT91SAM7S64.h $PROJ_DIR$\Flash_Debug\Obj\main.r79 - $PROJ_DIR$\..\..\Source\c_hispeed.iom - $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\..\..\Source\c_avrcomm.h + $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 + $PROJ_DIR$\..\..\include\lib_AT91SAM7S64.h + $PROJ_DIR$\..\..\Source\c_avrcomm.c + $PROJ_DIR$\SrcIAR\Board.h $PROJ_DIR$\..\..\Source\d_motor.h $PROJ_DIR$\..\..\Source\d_motor.r + $PROJ_DIR$\..\..\Source\d_sensor.c $PROJ_DIR$\..\..\Source\d_sensor.h $PROJ_DIR$\..\..\Source\c_sensor.iom $PROJ_DIR$\..\src\main.c - $PROJ_DIR$\..\Include\lib_AT91SAM7S64.h - $PROJ_DIR$\SrcIAR\Board.h - $PROJ_DIR$\..\..\Source\c_motor.h - $PROJ_DIR$\..\Include\AT91SAM7S64.h - $PROJ_DIR$\..\Include\ioat91sam7s64.h - $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 + $PROJ_DIR$\..\..\Source\c_sensor.h + $PROJ_DIR$\..\..\Source\c_usb.c $PROJ_DIR$\..\Object\main.r79 $PROJ_DIR$\..\Object\c_sensor.r79 - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\..\..\Source\BtTest.inc - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\Object\c_hispeed.r79 + $PROJ_DIR$\..\..\Source\c_bt.iom + $PROJ_DIR$\..\Object\d_sensor.r79 + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\c_loader.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\d_display.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $TOOLKIT_DIR$\inc\xtls.h + $PROJ_DIR$\..\..\Source\Ui.txt + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Submenu02.rms + $TOOLKIT_DIR$\inc\stdlib.h $PROJ_DIR$\..\..\Source\Submenu01.rms + $TOOLKIT_DIR$\inc\ctype.h $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_14.txt $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\d_usb.r $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\..\..\Source\modules.h + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\c_ui.iom + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\c_output.iom + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\BtTest.inc $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\m_sched.c - XLINK - 164 197 109 + BICOMP + 128 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 142 - - - BICOMP - 156 + 98 - ICCARM - 58 85 51 44 20 42 230 27 91 28 29 77 272 228 78 224 227 24 37 50 12 35 83 223 10 62 61 69 114 157 148 34 + BICOMP + 79 249 230 241 57 40 261 246 209 264 207 212 226 49 239 256 3 240 73 48 211 - BICOMP - 58 85 51 44 20 42 230 27 91 28 29 77 272 228 78 224 227 24 37 50 12 83 223 10 62 61 69 114 157 148 34 + ICCARM + 79 249 230 241 57 40 261 246 209 264 207 212 226 49 239 256 3 240 73 48 211 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_usb.c - ICCARM - 113 + BICOMP + 95 - BICOMP - 93 + ICCARM + 150 - ICCARM - 58 85 29 42 18 230 51 28 30 269 52 22 61 50 12 35 83 223 10 62 67 14 7 66 69 248 48 56 86 234 + BICOMP + 79 230 241 57 269 245 - BICOMP - 58 85 29 42 18 230 51 28 30 269 52 22 61 50 12 83 223 10 62 67 14 7 66 69 248 48 56 86 234 + ICCARM + 79 230 241 57 269 245 - $PROJ_DIR$\..\..\Source\c_bt.c + $PROJ_DIR$\..\..\Source\c_button.c - ICCARM - 172 + BICOMP + 120 - - ICCARM - 58 85 180 193 22 51 + 139 - - - - $PROJ_DIR$\..\Object\LMS_ARM.pbd + - BILINK - 101 111 156 93 135 165 118 97 162 124 139 127 140 159 147 110 151 100 104 107 96 154 122 161 120 - - - - - $PROJ_DIR$\SrcIAR\Cstartup.s79 - - - AARM - 220 + BICOMP + 79 249 264 207 5 - - - AARM - 171 + ICCARM + 79 249 264 207 5 - $PROJ_DIR$\..\Object\LMS_ARM.d79 + $PROJ_DIR$\..\..\Source\c_cmd.c - XLINK - 164 197 + BICOMP + 96 + + + ICCARM + 107 - XLINK - 138 126 136 163 142 113 130 99 98 105 134 102 103 128 149 129 146 133 160 119 95 90 155 112 116 125 158 121 + BICOMP + 79 249 73 259 209 78 252 227 207 37 225 216 230 241 57 3 240 248 266 75 67 42 6 12 72 13 233 104 102 80 69 + + + ICCARM + 79 249 73 259 209 78 252 227 207 37 225 216 230 241 57 3 240 248 266 75 67 55 42 6 12 72 13 233 104 102 80 69 - $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\..\Source\c_comm.c + + BICOMP + 136 + ICCARM - 150 + 132 + + BICOMP + 79 249 225 78 10 252 73 37 261 269 74 221 13 75 67 42 6 12 72 235 257 218 220 233 253 71 8 208 242 + ICCARM - 58 85 92 132 115 + 79 249 225 78 10 252 73 37 261 269 74 221 13 75 67 55 42 6 12 72 235 257 218 220 233 253 71 8 208 242 - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\d_timer.c + + BICOMP + 87 + ICCARM - 131 + 129 + + BICOMP + 79 230 241 57 248 247 + ICCARM - 58 272 228 78 115 143 + 79 230 241 57 248 247 - $PROJ_DIR$\..\..\Source\c_net.c + $PROJ_DIR$\..\..\Source\c_display.c + + BICOMP + 143 + ICCARM - 183 + 105 + + BICOMP + 13 75 67 42 6 12 72 79 249 37 49 214 + ICCARM - 58 176 192 + 13 75 67 55 42 6 12 72 79 249 37 49 214 - $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_input.c + + BICOMP + 137 + ICCARM - 167 + 141 + + BICOMP + 79 249 246 209 244 259 78 13 75 67 42 6 12 72 + ICCARM - 58 272 228 219 212 186 + 79 249 246 209 244 259 78 13 75 67 55 42 6 12 72 - $PROJ_DIR$\..\..\Source\c_usb.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + + BICOMP + 130 + ICCARM - 173 + 140 + + BICOMP + 79 249 10 48 224 + ICCARM - 58 85 194 190 269 + 79 249 10 48 224 - $PROJ_DIR$\..\..\Source\d_net.c + $PROJ_DIR$\..\..\Source\c_loader.c + + BICOMP + 121 + ICCARM - 168 + 111 + + BICOMP + 79 249 78 10 210 212 13 75 67 42 6 12 72 + ICCARM - 58 272 228 219 192 188 + 79 249 78 10 210 212 13 75 67 55 42 6 12 72 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + + BICOMP + 103 + ICCARM - 196 + 82 + + BICOMP + 79 249 216 209 239 60 + ICCARM - 58 272 228 219 210 211 + 79 249 216 209 239 60 - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_output.c + + BICOMP + 149 + ICCARM - 222 + 144 + + BICOMP + 266 75 67 42 6 12 72 61 79 249 259 256 39 37 + ICCARM - 58 85 213 203 212 + 266 75 67 55 42 6 12 72 61 79 249 259 256 39 37 - $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\c_sound.c + + BICOMP + 110 + ICCARM - 170 + 145 + + BICOMP + 233 75 67 42 6 12 72 13 79 249 227 78 226 44 + ICCARM - 58 85 191 217 210 + 233 75 67 55 42 6 12 72 13 79 249 227 78 226 44 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_ui.c + + BICOMP + 152 + ICCARM - 199 + 153 + + BICOMP + 266 75 67 42 6 12 72 13 235 257 218 220 233 253 71 8 208 242 79 249 252 211 230 241 57 37 78 207 227 209 259 10 73 225 216 262 254 65 263 265 255 63 251 56 231 59 77 2 9 219 228 234 232 92 236 213 237 217 0 267 222 270 + ICCARM - 216 174 206 + 266 75 67 55 42 6 12 72 13 235 257 218 220 233 253 71 8 208 242 79 249 252 211 230 241 57 37 78 207 227 209 259 10 73 225 216 262 254 65 45 263 265 255 63 251 56 231 59 41 271 215 54 53 47 258 58 64 250 43 51 38 238 223 70 77 2 9 219 228 234 232 92 236 213 237 217 0 267 222 270 - $PROJ_DIR$\..\..\Source\c_avrcomm.c + $PROJ_DIR$\..\Include\Cstartup.s79 - ICCARM - 202 + AARM + 151 - ICCARM - 58 198 175 + AARM + 243 - $PROJ_DIR$\..\..\Source\d_avrcomm.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + + BICOMP + 134 + ICCARM - 187 + 88 + + BICOMP + 46 + ICCARM - 58 272 228 219 175 189 + 46 - $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\Source\d_bt.c + + BICOMP + 147 + ICCARM - 221 + 89 + + BICOMP + 79 249 230 241 57 221 50 13 75 67 42 6 12 72 + ICCARM - 169 218 215 + 79 249 230 241 57 221 50 13 75 67 55 42 6 12 72 - $PROJ_DIR$\..\..\Source\c_hispeed.c + $PROJ_DIR$\..\..\Source\d_button.c + + BICOMP + 99 + ICCARM - 177 + 154 + + BICOMP + 79 230 241 57 5 66 + ICCARM - 58 85 208 201 52 + 79 230 241 57 5 66 - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\d_display.c + + BICOMP + 85 + ICCARM - 207 + 83 + + BICOMP + 79 230 241 57 214 62 + ICCARM - 216 174 206 + 79 230 241 57 214 62 @@ -2559,22 +2654,22 @@ $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 133 + BICOMP + 97 - BICOMP - 110 + ICCARM + 81 - ICCARM - 58 272 228 78 52 57 + BICOMP + 79 230 241 57 74 11 - BICOMP - 58 272 228 78 52 57 + ICCARM + 79 230 241 57 74 11 @@ -2582,22 +2677,22 @@ $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 160 + BICOMP + 91 - BICOMP - 151 + ICCARM + 94 - ICCARM - 58 272 228 78 270 20 226 271 + BICOMP + 79 230 241 57 246 209 244 268 - BICOMP - 58 272 228 78 270 20 226 271 + ICCARM + 79 230 241 57 246 209 244 268 @@ -2605,22 +2700,22 @@ $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 119 + BICOMP + 142 - BICOMP - 100 + ICCARM + 127 - ICCARM - 61 50 12 35 83 223 10 62 58 272 228 78 152 87 + BICOMP + 13 75 67 42 6 12 72 79 230 241 57 224 52 - BICOMP - 61 50 12 83 223 10 62 58 272 228 78 152 87 + ICCARM + 13 75 67 55 42 6 12 72 79 230 241 57 224 52 @@ -2628,22 +2723,22 @@ $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 95 + BICOMP + 146 - BICOMP - 104 + ICCARM + 138 - ICCARM - 58 85 272 228 78 0 15 61 50 12 35 83 223 10 62 67 14 7 66 69 248 48 56 86 234 + BICOMP + 79 249 230 241 57 210 260 13 75 67 42 6 12 72 235 257 218 220 233 253 71 8 208 242 - BICOMP - 58 85 272 228 78 0 15 61 50 12 83 223 10 62 67 14 7 66 69 248 48 56 86 234 + ICCARM + 79 249 230 241 57 210 260 13 75 67 55 42 6 12 72 235 257 218 220 233 253 71 8 208 242 @@ -2651,451 +2746,356 @@ $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 90 + BICOMP + 123 - BICOMP - 107 + ICCARM + 86 - ICCARM - 58 272 228 78 79 16 + BICOMP + 79 230 241 57 60 272 - BICOMP - 58 272 228 78 79 16 + ICCARM + 79 230 241 57 60 272 $PROJ_DIR$\..\..\Source\d_output.c + + BICOMP + 122 + ICCARM - 155 + 109 + + BICOMP - 96 + 79 230 241 57 39 229 + + + ICCARM + 79 230 241 57 39 229 + + + + + $PROJ_DIR$\..\..\Source\d_sound.c + + + BICOMP + 108 + + + ICCARM + 131 + + BICOMP + 79 230 241 57 44 68 106 + ICCARM - 58 272 228 78 84 73 + 79 230 241 57 44 68 106 + + + + [ROOT_NODE] + - BICOMP - 58 272 228 78 84 73 + XLINK + 119 124 169 - + - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 112 - - - BICOMP - 154 + 84 ICCARM - 58 272 228 78 49 47 141 - - - BICOMP - 58 272 228 78 49 47 141 + 79 230 241 57 93 148 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_motor.c ICCARM - 116 - - - BICOMP - 122 + 159 ICCARM - 58 272 228 78 24 70 - - - BICOMP - 58 272 228 78 24 70 + 79 230 241 171 194 195 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_net.c ICCARM - 125 - - - BICOMP - 161 + 160 ICCARM - 58 272 228 78 269 6 - - - BICOMP - 58 272 228 78 269 6 + 79 230 241 171 180 176 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM - 158 - - - BICOMP - 120 + 162 ICCARM - 58 85 272 228 78 54 30 270 20 33 91 8 267 71 233 2 224 227 51 59 144 - - - BICOMP - 58 85 272 228 78 54 30 270 20 33 91 8 267 71 233 2 224 227 51 59 144 + 79 249 179 173 194 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\Object\LMS_ARM.d79 - ICCARM - 130 - - - BICOMP - 135 + XLINK + 124 169 - ICCARM - 61 50 12 35 83 223 10 62 58 85 28 71 65 - - - BICOMP - 61 50 12 83 223 10 62 58 85 28 71 65 + XLINK + 100 151 88 139 107 132 105 141 140 111 82 144 145 153 89 154 83 81 94 127 138 86 109 131 129 150 98 133 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_led.c ICCARM - 99 - - - BICOMP - 165 + 90 ICCARM - 58 85 270 20 226 44 42 61 50 12 35 83 223 10 62 + 79 249 101 125 93 + + + + $PROJ_DIR$\..\Object\LMS_ARM.pbd + - BICOMP - 58 85 270 20 226 44 42 61 50 12 83 223 10 62 + BILINK + 134 120 96 136 143 137 130 121 103 149 110 152 147 99 85 97 91 142 146 123 122 108 87 95 128 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_net.c ICCARM - 98 - - - BICOMP - 118 + 117 ICCARM - 58 85 18 59 152 - - - BICOMP - 58 85 18 59 152 + 79 174 180 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c ICCARM - 105 - - - BICOMP - 97 + 185 ICCARM - 58 85 42 18 0 8 61 50 12 35 83 223 10 62 - - - BICOMP - 58 85 42 18 0 8 61 50 12 83 223 10 62 + 193 166 191 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_hispeed.c ICCARM - 134 - - - BICOMP - 162 + 204 ICCARM - 58 85 77 20 233 79 - - - BICOMP - 58 85 77 20 233 79 + 79 249 116 115 74 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\SrcIAR\Cstartup.s79 - ICCARM - 102 - - - BICOMP - 124 + AARM + 190 - ICCARM - 37 50 12 35 83 223 10 62 80 58 85 44 2 84 28 - - - BICOMP - 37 50 12 83 223 10 62 80 58 85 44 2 84 28 + AARM + 163 - $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_sensor.c ICCARM - 103 - - - BICOMP - 139 + 203 ICCARM - 69 50 12 35 83 223 10 62 61 58 85 27 42 267 49 - - - BICOMP - 69 50 12 83 223 10 62 61 58 85 27 42 267 49 + 79 249 198 200 197 - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\main.c ICCARM - 128 - - - BICOMP - 127 + 202 ICCARM - 37 50 12 35 83 223 10 62 61 67 14 7 66 69 248 48 56 86 234 58 85 230 144 272 228 78 28 42 91 27 20 44 18 51 29 77 31 89 268 26 32 36 1 145 249 64 39 81 55 264 76 60 23 53 3 5 74 266 63 11 38 21 17 40 25 235 46 45 75 231 13 137 232 68 265 19 246 225 41 236 - - - BICOMP - 37 50 12 83 223 10 62 61 67 14 7 66 69 248 48 56 86 234 58 85 230 144 272 228 78 28 42 91 27 20 44 18 51 29 77 31 89 268 26 32 36 1 145 249 64 39 81 55 264 76 60 23 53 3 5 74 266 63 11 38 21 17 40 25 235 46 45 75 231 13 137 232 68 265 19 246 225 41 236 + 161 184 187 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\d_avrcomm.c - AARM - 126 + ICCARM + 175 - AARM - 229 + ICCARM + 79 230 241 171 114 177 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_bt.c ICCARM - 136 - - - BICOMP - 101 + 164 ICCARM - 72 - - - BICOMP - 72 + 79 249 205 181 221 73 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_avrcomm.c ICCARM - 149 - - - BICOMP - 140 + 155 ICCARM - 58 85 272 228 78 22 82 61 50 12 35 83 223 10 62 - - - BICOMP - 58 85 272 228 78 22 82 61 50 12 83 223 10 62 + 79 189 114 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_sensor.c ICCARM - 129 - - - BICOMP - 159 + 206 ICCARM - 58 272 228 78 153 43 - - - BICOMP - 58 272 228 78 153 43 + 79 230 241 171 197 157 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\src\main.c ICCARM - 146 - - - BICOMP - 147 + 188 ICCARM - 58 272 228 78 65 88 - - - BICOMP - 58 272 228 78 65 88 + 193 166 191 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\..\Source\c_usb.c ICCARM - 163 - - - BICOMP - 111 + 165 ICCARM - 58 85 33 91 153 - - - BICOMP - 58 85 33 91 153 + 79 249 182 178 269 @@ -3103,163 +3103,125 @@ RAM_Debug - $PROJ_DIR$\..\..\Source\d_loader.h - $PROJ_DIR$\..\..\Source\Port.txt - $PROJ_DIR$\..\..\Source\c_output.h - $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\Functions.inl + $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\Devices.txt + $PROJ_DIR$\..\..\Source\c_cmd.h + $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_button.h + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\..\Source\c_button.c + $TOOLKIT_DIR$\inc\xtinfo.h + $PROJ_DIR$\..\..\Source\Connections.txt + $PROJ_DIR$\..\..\Source\c_ioctrl.iom + $PROJ_DIR$\..\..\Source\d_hispeed.r + $TOOLKIT_DIR$\inc\DLib_Threads.h + $TOOLKIT_DIR$\inc\string.h $PROJ_DIR$\..\..\Source\c_cmd.c - $PROJ_DIR$\..\..\Source\RCXintro_8.txt - $PROJ_DIR$\..\..\Source\d_usb.r - $TOOLKIT_DIR$\inc\xtls.h - $PROJ_DIR$\..\..\Source\c_loader.h $PROJ_DIR$\..\..\Source\c_comm.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\RCXintro_12.txt - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\Submenu02.rms - $TOOLKIT_DIR$\inc\xlocale.h - $PROJ_DIR$\..\..\Source\d_loader.r - $PROJ_DIR$\..\..\Source\d_lowspeed.r - $PROJ_DIR$\..\..\Source\RCXintro_15.txt - $PROJ_DIR$\..\..\Source\c_ioctrl.iom - $PROJ_DIR$\..\..\Source\Submenu07.rms - $PROJ_DIR$\..\..\Source\c_input.iom - $PROJ_DIR$\..\..\Source\RCXintro_14.txt - $PROJ_DIR$\..\..\Source\d_bt.h - $PROJ_DIR$\..\..\Source\RCXintro_5.txt - $PROJ_DIR$\..\..\Source\d_timer.h - $PROJ_DIR$\..\..\Source\Status.txt - $PROJ_DIR$\..\..\Source\Step.txt - $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\c_sound.c + $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\..\Source\d_sound.c $PROJ_DIR$\..\..\Source\c_display.iom - $PROJ_DIR$\..\..\Source\c_comm.iom - $PROJ_DIR$\..\..\Source\c_comm.h - $PROJ_DIR$\..\..\Source\Display.txt - $PROJ_DIR$\..\..\Source\Cursor.txt - $PROJ_DIR$\..\..\Source\c_button.h - $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc - $PROJ_DIR$\..\..\Source\Running.txt - $TOOLKIT_DIR$\inc\stdio.h $PROJ_DIR$\..\..\Source\RCXintro_13.txt - $PROJ_DIR$\..\..\Source\Info.txt - $PROJ_DIR$\..\..\Source\RCXintro_16.txt - $PROJ_DIR$\..\..\Source\Test1.txt - $PROJ_DIR$\..\..\Source\c_loader.iom - $PROJ_DIR$\..\..\Source\d_button.r - $PROJ_DIR$\..\..\Source\c_output.iom - $PROJ_DIR$\..\..\Source\Ui.txt - $PROJ_DIR$\..\..\Source\Connections.txt - $PROJ_DIR$\..\..\Source\d_sound.r - $TOOLKIT_DIR$\inc\xlocale_c.h - $PROJ_DIR$\..\..\Source\d_sound.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\..\Source\c_cmd.iom - $PROJ_DIR$\..\..\Source\d_hispeed.h - $PROJ_DIR$\..\..\Source\RCXintro_6.txt + $PROJ_DIR$\..\..\Source\d_output.h $PROJ_DIR$\..\Include\sam7s256.c $PROJ_DIR$\..\..\Source\RCXintro_1.txt - $TOOLKIT_DIR$\inc\xtinfo.h - $PROJ_DIR$\..\..\Source\d_hispeed.r - $PROJ_DIR$\..\..\Source\stdconst.h + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\..\..\Source\RCXintro_11.txt + $PROJ_DIR$\..\..\Source\d_sound.h + $PROJ_DIR$\..\..\Source\Step.txt + $PROJ_DIR$\..\Include\AT91SAM7S256.h + $PROJ_DIR$\..\..\Source\RCXintro_6.txt $PROJ_DIR$\..\..\Source\c_ioctrl.h + $PROJ_DIR$\..\..\Source\c_display.h + $PROJ_DIR$\..\..\Source\d_bt.r + $PROJ_DIR$\..\..\Source\RCXintro_12.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.r + $PROJ_DIR$\..\..\Source\RCXintro_5.txt $PROJ_DIR$\..\..\Source\RCXintro_4.txt - $TOOLKIT_DIR$\inc\string.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\..\Source\RCXintro_11.txt $PROJ_DIR$\..\..\Source\Fail.txt - $PROJ_DIR$\..\..\Source\d_display.h - $TOOLKIT_DIR$\inc\xmtx.h - $TOOLKIT_DIR$\inc\ctype.h - $PROJ_DIR$\..\..\Source\Submenu05.rms - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\d_timer.r - $PROJ_DIR$\..\..\Source\c_display.h - $PROJ_DIR$\..\Include\AT91SAM7S256.h - $PROJ_DIR$\..\..\Source\d_output.r - $PROJ_DIR$\..\..\Source\RCXintro_9.txt - $PROJ_DIR$\..\..\Source\Mainmenu.rms - $PROJ_DIR$\..\..\Source\RCXintro_3.txt - $PROJ_DIR$\..\..\Source\c_lowspeed.iom $PROJ_DIR$\..\Include\ioat91sam7s256.h + $PROJ_DIR$\..\..\Source\RCXintro_8.txt + $PROJ_DIR$\..\..\Source\Icons.txt $PROJ_DIR$\..\..\Source\d_lowspeed.h $TOOLKIT_DIR$\inc\stdbool.h - $PROJ_DIR$\..\..\Source\Icons.txt - $PROJ_DIR$\..\..\Source\d_bt.r - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\d_output.h - $PROJ_DIR$\..\..\Source\modules.h - $TOOLKIT_DIR$\inc\time.h - $PROJ_DIR$\..\..\Source\d_ioctrl.r $PROJ_DIR$\..\..\Source\d_display.r - $PROJ_DIR$\..\..\Source\LowBattery.txt - $PROJ_DIR$\..\..\Source\c_button.iom - $PROJ_DIR$\..\..\Source\c_led.iom - $PROJ_DIR$\SrcIAR\Cstartup.s79 - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\..\Source\d_led.h - $PROJ_DIR$\..\..\Source\c_led.c - $PROJ_DIR$\..\..\Source\d_led.c - $PROJ_DIR$\..\..\Source\c_led.h - $PROJ_DIR$\..\..\Source\Submenu03.rms - $PROJ_DIR$\..\..\Source\d_sound_adpcm.r - $PROJ_DIR$\..\..\Source\d_led.r - $PROJ_DIR$\..\..\Source\c_ui.h $PROJ_DIR$\..\..\Source\Ok.txt + $PROJ_DIR$\..\..\Source\RCXintro_9.txt + $PROJ_DIR$\..\..\Source\Font.txt + $PROJ_DIR$\..\..\Source\d_button.r + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\..\Source\d_sound.r + $PROJ_DIR$\..\..\Source\c_cmd_drawing.inc + $PROJ_DIR$\..\..\Source\RCXintro_16.txt + $TOOLKIT_DIR$\inc\xlocale_c.h + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\..\..\Source\c_cmd.iom + $PROJ_DIR$\..\..\Source\d_hispeed.h + $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\Status.txt + $PROJ_DIR$\..\..\Source\c_loader.iom + $PROJ_DIR$\..\..\Source\stdconst.h $TOOLKIT_DIR$\inc\limits.h - $PROJ_DIR$\..\..\Source\d_ioctrl.h - $PROJ_DIR$\..\..\Source\d_button.h + $PROJ_DIR$\..\..\Source\Submenu03.rms + $PROJ_DIR$\..\..\Source\d_led.h + $PROJ_DIR$\..\..\Source\c_led.iom $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\..\..\Source\d_sensor.c + $TOOLKIT_DIR$\inc\math.h + $PROJ_DIR$\..\..\Source\d_sound_adpcm.r $PROJ_DIR$\..\..\Source\d_motor.c - $PROJ_DIR$\..\..\Source\c_sensor.c $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\c_led.h + $PROJ_DIR$\..\..\Source\c_led.c + $PROJ_DIR$\..\..\Source\d_led.r $PROJ_DIR$\..\..\Source\d_sensor.r - $PROJ_DIR$\..\..\Source\c_motor.iom $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\c_sensor.h + $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\Include\ioat91sam7s64.h $PROJ_DIR$\..\..\Source\main.c + $PROJ_DIR$\..\..\Source\c_motor.h + $PROJ_DIR$\..\..\Source\c_motor.iom $PROJ_DIR$\..\..\Source\d_motor.h $PROJ_DIR$\..\..\Source\d_motor.r + $PROJ_DIR$\..\..\Source\d_sensor.c $PROJ_DIR$\..\..\Source\d_sensor.h $PROJ_DIR$\..\..\Source\c_sensor.iom $PROJ_DIR$\..\src\main.c - $PROJ_DIR$\..\..\Source\c_motor.h - $PROJ_DIR$\..\Include\ioat91sam7s64.h - $PROJ_DIR$\RAM_Debug\Obj\c_output.r79 - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\Source\c_cmd.h - $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 - $PROJ_DIR$\..\..\Source\BtTest.inc + $PROJ_DIR$\..\..\Source\c_sensor.h $PROJ_DIR$\RAM_Debug\Obj\c_display.r79 - $PROJ_DIR$\RAM_Debug\Obj\m_sched.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_led.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_ui.r79 - $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_usb.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_button.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_loader.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_comm.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_display.pbi $PROJ_DIR$\RAM_Debug\Obj\c_output.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_output.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_loader.pbi $PROJ_DIR$\RAM_Debug\Obj\d_sound.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_comm.r79 $PROJ_DIR$\RAM_Debug\Obj\d_button.pbi $PROJ_DIR$\RAM_Debug\Obj\c_comm.pbi $PROJ_DIR$\RAM_Debug\Exe\LMS_ARM.d79 - $PROJ_DIR$\RAM_Debug\Obj\c_led.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_sound.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_loader.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_loader.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_button.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_input.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_display.pbi - $PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi - $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi - $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - $PROJ_DIR$\RAM_Debug\Obj\d_button.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_display.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_usb.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_output.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_cmd.r79 $PROJ_DIR$\RAM_Debug\Obj\c_cmd.pbi $PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.pbi $PROJ_DIR$\RAM_Debug\Obj\c_lowspeed.r79 @@ -3267,817 +3229,855 @@ $PROJ_DIR$\RAM_Debug\Obj\sam7s256.r79 $PROJ_DIR$\RAM_Debug\Obj\c_input.pbi $TOOLKIT_DIR$\lib\dl4tptinl8n.h - $PROJ_DIR$\RAM_Debug\Obj\d_input.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_led.r79 $PROJ_DIR$\RAM_Debug\Obj\d_lowspeed.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79 $PROJ_DIR$\RAM_Debug\Obj\c_ui.pbi - $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79 - $PROJ_DIR$\..\..\Source\d_input.h - $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79 $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.pbi $PROJ_DIR$\RAM_Debug\Obj\c_motor.r79 $PROJ_DIR$\RAM_Debug\Obj\c_sensor.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.r79 - $PROJ_DIR$\RAM_Debug\Obj\Cstartup.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_input.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_sound.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_bt.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.pbi $PROJ_DIR$\RAM_Debug\Obj\d_motor.r79 $PROJ_DIR$\RAM_Debug\Obj\d_timer.pbi $PROJ_DIR$\RAM_Debug\Obj\d_loader.pbi $PROJ_DIR$\RAM_Debug\Obj\d_output.r79 $PROJ_DIR$\RAM_Debug\Obj\main.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_usb.r79 + $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_usb.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_input.pbi $PROJ_DIR$\RAM_Debug\Obj\d_bt.pbi - $PROJ_DIR$\RAM_Debug\Obj\c_sound.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_cmd.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_hispeed.r79 $PROJ_DIR$\RAM_Debug\Obj\d_display.r79 - $PROJ_DIR$\RAM_Debug\Obj\d_bt.r79 - $PROJ_DIR$\RAM_Debug\Obj\c_sound.pbi - $PROJ_DIR$\..\Include\sam7s256.h - $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h - $PROJ_DIR$\..\..\Source\c_ui.iom + $PROJ_DIR$\..\..\Source\c_button.iom + $TOOLKIT_DIR$\inc\time.h + $PROJ_DIR$\..\..\Source\c_input.iom + $PROJ_DIR$\..\..\Source\d_loader.h + $PROJ_DIR$\..\..\Source\c_ui.h + $PROJ_DIR$\..\..\Source\c_loader.h + $PROJ_DIR$\..\..\Source\Submenu05.rms + $PROJ_DIR$\..\..\Source\d_display.h + $PROJ_DIR$\..\..\Source\RCXintro_3.txt + $PROJ_DIR$\..\..\Source\c_lowspeed.iom + $PROJ_DIR$\..\..\Source\Submenu07.rms + $TOOLKIT_DIR$\inc\xtls.h + $PROJ_DIR$\..\..\Source\Ui.txt + $TOOLKIT_DIR$\inc\xmtx.h + $PROJ_DIR$\..\..\Source\d_bt.h + $PROJ_DIR$\..\..\Source\Test1.txt + $PROJ_DIR$\..\..\Source\RCXintro_15.txt + $PROJ_DIR$\..\..\Source\d_ioctrl.h + $PROJ_DIR$\..\..\Source\c_comm.iom + $PROJ_DIR$\..\..\Source\c_sound.h + $PROJ_DIR$\..\..\Source\c_sound.iom + $PROJ_DIR$\..\..\Source\Mainmenu.rms + $PROJ_DIR$\..\..\Source\d_output.r + $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\Info.txt + $PROJ_DIR$\..\..\Source\Submenu02.rms + $TOOLKIT_DIR$\inc\stdlib.h $PROJ_DIR$\..\..\Source\Submenu01.rms + $TOOLKIT_DIR$\inc\ctype.h $PROJ_DIR$\..\..\Source\Submenu04.rms + $PROJ_DIR$\..\..\Source\Submenu06.rms + $PROJ_DIR$\..\..\Source\RCXintro_14.txt $PROJ_DIR$\..\..\Source\c_lowspeed.h + $PROJ_DIR$\..\..\Source\c_cmd_bytecodes.h + $PROJ_DIR$\..\Include\sam7s256.h $TOOLKIT_DIR$\inc\wchar.h - $PROJ_DIR$\..\..\Source\Devices.txt - $PROJ_DIR$\..\..\Source\Test2.txt - $PROJ_DIR$\..\..\Source\d_hispeed.c - $PROJ_DIR$\..\..\Source\d_input.c - $PROJ_DIR$\..\..\Source\d_ioctrl.c - $PROJ_DIR$\..\..\Source\d_loader.c - $PROJ_DIR$\..\..\Source\d_lowspeed.c - $PROJ_DIR$\..\..\Source\d_output.c - $PROJ_DIR$\..\..\Source\d_sound.c - $PROJ_DIR$\..\..\Source\d_timer.c - $PROJ_DIR$\..\..\Source\d_usb.c - $PROJ_DIR$\..\..\Source\Functions.inl - $PROJ_DIR$\..\..\Source\m_sched.c - $TOOLKIT_DIR$\inc\xlocaleuse.h - $PROJ_DIR$\..\..\Source\Wait.txt - $PROJ_DIR$\..\..\Source\c_display.c - $PROJ_DIR$\..\..\Source\c_input.c - $PROJ_DIR$\..\..\Source\c_ioctrl.c - $PROJ_DIR$\..\..\Source\c_loader.c - $PROJ_DIR$\..\..\Source\c_lowspeed.c - $PROJ_DIR$\..\..\Source\c_output.c - $PROJ_DIR$\..\..\Source\c_sound.c - $PROJ_DIR$\..\..\Source\c_ui.c - $PROJ_DIR$\..\Include\Cstartup.s79 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c - $PROJ_DIR$\..\..\Source\d_bt.c - $PROJ_DIR$\..\..\Source\d_button.c - $PROJ_DIR$\..\..\Source\d_display.c - $PROJ_DIR$\..\..\Source\c_button.c - $PROJ_DIR$\..\..\Source\RCXintro_2.txt - $PROJ_DIR$\..\..\Source\Submenu06.rms - $PROJ_DIR$\..\..\Source\RCXintro_10.txt - $PROJ_DIR$\..\..\Source\c_sound.h - $PROJ_DIR$\..\..\Source\Font.txt - $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\Include\AT91SAM7S256_inc.h + $PROJ_DIR$\..\..\Source\d_input.h + $PROJ_DIR$\..\..\Source\d_usb.r $PROJ_DIR$\..\..\Source\c_input.h + $PROJ_DIR$\..\..\Source\d_timer.r + $PROJ_DIR$\..\..\Source\d_timer.h + $PROJ_DIR$\..\..\Source\modules.h + $PROJ_DIR$\..\..\Source\RCXintro_10.txt + $PROJ_DIR$\..\..\Source\Wait.txt + $PROJ_DIR$\..\..\Source\c_ui.iom + $TOOLKIT_DIR$\inc\xlocaleuse.h + $PROJ_DIR$\..\..\Source\LowBattery.txt + $PROJ_DIR$\..\..\Source\Port.txt + $PROJ_DIR$\..\..\Source\c_output.h + $TOOLKIT_DIR$\inc\xlocale.h + $PROJ_DIR$\..\..\Source\RCXintro_7.txt + $PROJ_DIR$\..\..\Source\c_output.iom + $PROJ_DIR$\..\..\Source\d_loader.r + $PROJ_DIR$\..\..\Source\c_comm.h + $PROJ_DIR$\..\..\Source\Display.txt + $PROJ_DIR$\..\..\Source\Cursor.txt + $PROJ_DIR$\..\..\Source\c_button.h + $PROJ_DIR$\..\..\Source\Running.txt + $TOOLKIT_DIR$\inc\stdio.h + $PROJ_DIR$\..\..\Source\BtTest.inc $PROJ_DIR$\..\..\Source\d_input.r - $PROJ_DIR$\..\..\Source\m_sched.h + $PROJ_DIR$\..\..\Source\d_usb.h + $PROJ_DIR$\..\..\Source\Test2.txt + $PROJ_DIR$\..\..\Source\RCXintro_2.txt + $PROJ_DIR$\..\..\Source\d_lowspeed.r + $PROJ_DIR$\RAM_Debug\Obj\c_sound.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_output.r79 + $PROJ_DIR$\RAM_Debug\Obj\m_sched.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_ioctrl.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_led.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_sound.pbi + $PROJ_DIR$\RAM_Debug\Obj\d_timer.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_button.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_ui.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_loader.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_input.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_loader.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_button.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_input.r79 + $PROJ_DIR$\RAM_Debug\Obj\c_display.pbi + $PROJ_DIR$\RAM_Debug\Obj\m_sched.pbi + $PROJ_DIR$\RAM_Debug\Obj\c_ioctrl.pbi + $PROJ_DIR$\RAM_Debug\Obj\Cstartup_SAM7.pbi + $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd + $PROJ_DIR$\RAM_Debug\Obj\d_button.r79 + $PROJ_DIR$\RAM_Debug\Obj\d_sensor.r79 - [ROOT_NODE] + $PROJ_DIR$\..\..\Source\m_sched.c - XLINK - 142 + BICOMP + 228 - - - - $PROJ_DIR$\..\..\Source\c_cmd.c - ICCARM - 185 - - - BICOMP - 157 + 215 - ICCARM - 57 84 50 43 20 41 191 27 89 28 29 76 233 189 77 124 170 24 36 49 12 163 82 123 10 61 60 68 92 105 102 34 + BICOMP + 78 189 170 181 56 40 201 186 149 204 147 152 166 49 179 196 3 180 72 48 151 - BICOMP - 57 84 50 43 20 41 191 27 89 28 29 76 233 189 77 124 170 24 36 49 12 82 123 10 61 60 68 92 105 102 34 + ICCARM + 78 189 170 181 56 40 201 186 149 204 147 152 166 49 179 196 3 180 72 48 151 - $PROJ_DIR$\..\..\Source\c_comm.c + $PROJ_DIR$\..\..\Source\d_usb.c - - ICCARM - 135 - BICOMP - 141 + 142 - - ICCARM - 57 84 29 41 18 191 50 28 30 230 51 22 60 49 12 163 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + 116 + + BICOMP - 57 84 29 41 18 191 50 28 30 230 51 22 60 49 12 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + 78 170 181 56 209 185 - - - - $PROJ_DIR$\..\Include\sam7s256.c - ICCARM - 161 + 78 170 181 56 209 185 - + - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\..\..\Source\c_button.c - AARM - 175 + BICOMP + 225 - - - - $PROJ_DIR$\..\..\Source\c_led.c - ICCARM - 143 + 220 + + BICOMP + 78 189 204 147 5 + ICCARM - 57 84 90 96 93 + 78 189 204 147 5 - $PROJ_DIR$\..\..\Source\d_led.c + $PROJ_DIR$\..\..\Source\c_cmd.c + + BICOMP + 119 + ICCARM - 129 + 118 + + BICOMP + 78 189 72 199 149 77 192 167 147 37 165 156 170 181 56 3 180 188 206 74 66 42 6 12 71 13 173 84 83 79 68 + ICCARM - 57 233 189 121 93 99 + 78 189 72 199 149 77 192 167 147 37 165 156 170 181 56 3 180 188 206 74 66 125 42 6 12 71 13 173 84 83 79 68 - $PROJ_DIR$\..\..\Source\d_sensor.c + $PROJ_DIR$\..\..\Source\c_comm.c + + BICOMP + 113 + ICCARM - 156 + 111 + + BICOMP + 78 189 165 77 10 192 72 37 201 209 73 161 13 74 66 42 6 12 71 175 197 158 160 173 193 70 8 148 182 + ICCARM - 57 233 189 121 117 110 + 78 189 165 77 10 192 72 37 201 209 73 161 13 74 66 125 42 6 12 71 175 197 158 160 173 193 70 8 148 182 - $PROJ_DIR$\..\..\Source\d_motor.c + $PROJ_DIR$\..\..\Source\d_timer.c + + BICOMP + 137 + ICCARM - 177 + 219 + + BICOMP + 78 170 181 56 188 187 + ICCARM - 57 233 189 121 115 116 + 78 170 181 56 188 187 - $PROJ_DIR$\..\..\Source\c_sensor.c + $PROJ_DIR$\..\..\Source\c_display.c + + BICOMP + 227 + ICCARM - 173 + 106 + + BICOMP + 13 74 66 42 6 12 71 78 189 37 49 154 + ICCARM - 57 84 118 113 117 + 13 74 66 125 42 6 12 71 78 189 37 49 154 - $PROJ_DIR$\..\..\Source\c_motor.c + $PROJ_DIR$\..\..\Source\c_input.c + + BICOMP + 124 + ICCARM - 172 + 226 + + BICOMP + 78 189 186 149 184 199 77 13 74 66 42 6 12 71 + ICCARM - 57 84 111 120 115 + 78 189 186 149 184 199 77 13 74 66 125 42 6 12 71 - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_ioctrl.c + + BICOMP + 229 + ICCARM - 131 + 108 - - - $PROJ_DIR$\..\..\Source\main.c - + + + BICOMP + 78 189 10 48 164 + ICCARM - 181 + 78 189 10 48 164 - + - $PROJ_DIR$\..\src\main.c + $PROJ_DIR$\..\..\Source\c_loader.c + + BICOMP + 109 + ICCARM - 181 + 224 - - - $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - BILINK - 153 148 157 141 150 162 152 134 160 137 188 167 183 140 136 171 176 144 179 158 138 145 178 132 151 + BICOMP + 78 189 77 10 150 152 13 74 66 42 6 12 71 + + + ICCARM + 78 189 77 10 150 152 13 74 66 125 42 6 12 71 - $PROJ_DIR$\..\..\Source\d_hispeed.c + $PROJ_DIR$\..\..\Source\c_lowspeed.c - ICCARM - 168 + BICOMP + 122 - BICOMP - 171 + ICCARM + 121 - ICCARM - 57 233 189 77 51 56 + BICOMP + 78 189 156 149 179 59 - BICOMP - 57 233 189 77 51 56 + ICCARM + 78 189 156 149 179 59 - $PROJ_DIR$\..\..\Source\d_input.c + $PROJ_DIR$\..\..\Source\c_output.c - ICCARM - 164 + BICOMP + 107 - BICOMP - 176 + ICCARM + 214 - ICCARM - 57 233 189 77 231 20 169 232 + BICOMP + 206 74 66 42 6 12 71 60 78 189 199 196 39 37 - BICOMP - 57 233 189 77 231 20 169 232 + ICCARM + 206 74 66 125 42 6 12 71 60 78 189 199 196 39 37 - $PROJ_DIR$\..\..\Source\d_ioctrl.c + $PROJ_DIR$\..\..\Source\c_sound.c - ICCARM - 166 + BICOMP + 213 - BICOMP - 144 + ICCARM + 133 - ICCARM - 60 49 12 163 82 123 10 61 57 233 189 77 103 86 + BICOMP + 173 74 66 42 6 12 71 13 78 189 167 77 166 44 - BICOMP - 60 49 12 82 123 10 61 57 233 189 77 103 86 + ICCARM + 173 74 66 125 42 6 12 71 13 78 189 167 77 166 44 - $PROJ_DIR$\..\..\Source\d_loader.c + $PROJ_DIR$\..\..\Source\c_ui.c - ICCARM - 146 + BICOMP + 128 - BICOMP - 179 + ICCARM + 221 - ICCARM - 57 84 233 189 77 0 15 60 49 12 163 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + BICOMP + 206 74 66 42 6 12 71 13 175 197 158 160 173 193 70 8 148 182 78 189 192 151 170 181 56 37 77 147 167 149 199 10 72 165 156 202 194 64 45 203 205 195 62 191 55 171 58 41 211 155 54 53 47 198 57 63 190 43 51 38 178 163 69 76 2 9 159 168 174 172 80 176 153 177 157 0 207 162 210 - BICOMP - 57 84 233 189 77 0 15 60 49 12 82 123 10 61 66 14 7 65 68 209 47 55 85 195 + ICCARM + 206 74 66 125 42 6 12 71 13 175 197 158 160 173 193 70 8 148 182 78 189 192 151 170 181 56 37 77 147 167 149 199 10 72 165 156 202 194 64 45 203 205 195 62 191 55 171 58 41 211 155 54 53 47 198 57 63 190 43 51 38 178 163 69 76 2 9 159 168 174 172 80 176 153 177 157 0 207 162 210 - $PROJ_DIR$\..\..\Source\d_lowspeed.c + $PROJ_DIR$\..\Include\Cstartup.s79 - ICCARM - 165 - - - BICOMP - 158 + AARM + 129 - ICCARM - 57 233 189 77 78 16 - - - BICOMP - 57 233 189 77 78 16 + AARM + 183 - $PROJ_DIR$\..\..\Source\d_output.c + $PROJ_DIR$\..\Include\Cstartup_SAM7.c - ICCARM - 180 + BICOMP + 230 - BICOMP - 138 + ICCARM + 141 - ICCARM - 57 233 189 77 83 72 + BICOMP + 46 - BICOMP - 57 233 189 77 83 72 + ICCARM + 46 - $PROJ_DIR$\..\..\Source\d_sound.c + $PROJ_DIR$\..\..\Source\d_bt.c - ICCARM - 139 + BICOMP + 144 - BICOMP - 145 + ICCARM + 134 - ICCARM - 57 233 189 77 48 46 98 + BICOMP + 78 189 170 181 56 161 50 13 74 66 42 6 12 71 - BICOMP - 57 233 189 77 48 46 98 + ICCARM + 78 189 170 181 56 161 50 13 74 66 125 42 6 12 71 - $PROJ_DIR$\..\..\Source\d_timer.c + $PROJ_DIR$\..\..\Source\d_button.c - ICCARM - 125 + BICOMP + 112 - BICOMP - 178 + ICCARM + 232 - ICCARM - 57 233 189 77 24 69 + BICOMP + 78 170 181 56 5 65 - BICOMP - 57 233 189 77 24 69 + ICCARM + 78 170 181 56 5 65 - $PROJ_DIR$\..\..\Source\d_usb.c + $PROJ_DIR$\..\..\Source\d_display.c - ICCARM - 182 + BICOMP + 115 - BICOMP - 132 + ICCARM + 146 - ICCARM - 57 233 189 77 230 6 + BICOMP + 78 170 181 56 154 61 - BICOMP - 57 233 189 77 230 6 + ICCARM + 78 170 181 56 154 61 - $PROJ_DIR$\..\..\Source\m_sched.c + $PROJ_DIR$\..\..\Source\d_hispeed.c - ICCARM - 128 + BICOMP + 130 - BICOMP - 151 + ICCARM + 145 - ICCARM - 57 84 233 189 77 53 30 231 20 33 89 8 228 70 194 2 124 170 50 58 100 + BICOMP + 78 170 181 56 73 11 - BICOMP - 57 84 233 189 77 53 30 231 20 33 89 8 228 70 194 2 124 170 50 58 100 + ICCARM + 78 170 181 56 73 11 - $PROJ_DIR$\..\..\Source\c_display.c + $PROJ_DIR$\..\..\Source\d_input.c - ICCARM - 127 + BICOMP + 143 - BICOMP - 150 + ICCARM + 223 - ICCARM - 60 49 12 163 82 123 10 61 57 84 28 70 64 + BICOMP + 78 170 181 56 186 149 184 208 - BICOMP - 60 49 12 82 123 10 61 57 84 28 70 64 + ICCARM + 78 170 181 56 186 149 184 208 - $PROJ_DIR$\..\..\Source\c_input.c + $PROJ_DIR$\..\..\Source\d_ioctrl.c - ICCARM - 149 + BICOMP + 135 - BICOMP - 162 + ICCARM + 216 - ICCARM - 57 84 231 20 169 43 41 60 49 12 163 82 123 10 61 + BICOMP + 13 74 66 42 6 12 71 78 170 181 56 164 52 - BICOMP - 57 84 231 20 169 43 41 60 49 12 82 123 10 61 + ICCARM + 13 74 66 125 42 6 12 71 78 170 181 56 164 52 - $PROJ_DIR$\..\..\Source\c_ioctrl.c + $PROJ_DIR$\..\..\Source\d_loader.c - ICCARM - 174 + BICOMP + 138 - BICOMP - 152 + ICCARM + 222 - ICCARM - 57 84 18 58 103 + BICOMP + 78 189 170 181 56 150 200 13 74 66 42 6 12 71 175 197 158 160 173 193 70 8 148 182 - BICOMP - 57 84 18 58 103 + ICCARM + 78 189 170 181 56 150 200 13 74 66 125 42 6 12 71 175 197 158 160 173 193 70 8 148 182 - $PROJ_DIR$\..\..\Source\c_loader.c + $PROJ_DIR$\..\..\Source\d_lowspeed.c - ICCARM - 147 + BICOMP + 120 - BICOMP - 134 + ICCARM + 127 - ICCARM - 57 84 41 18 0 8 60 49 12 163 82 123 10 61 + BICOMP + 78 170 181 56 59 212 - BICOMP - 57 84 41 18 0 8 60 49 12 82 123 10 61 + ICCARM + 78 170 181 56 59 212 - $PROJ_DIR$\..\..\Source\c_lowspeed.c + $PROJ_DIR$\..\..\Source\d_output.c - ICCARM - 159 + BICOMP + 117 - BICOMP - 160 + ICCARM + 139 - ICCARM - 57 84 76 20 194 78 + BICOMP + 78 170 181 56 39 169 - BICOMP - 57 84 76 20 194 78 + ICCARM + 78 170 181 56 39 169 - $PROJ_DIR$\..\..\Source\c_output.c + $PROJ_DIR$\..\..\Source\d_sound.c - ICCARM - 122 + BICOMP + 218 - BICOMP - 137 + ICCARM + 110 - ICCARM - 36 49 12 163 82 123 10 61 79 57 84 43 2 83 28 + BICOMP + 78 170 181 56 44 67 85 - BICOMP - 36 49 12 82 123 10 61 79 57 84 43 2 83 28 + ICCARM + 78 170 181 56 44 67 85 - $PROJ_DIR$\..\..\Source\c_sound.c + [ROOT_NODE] - ICCARM - 184 - - - BICOMP - 188 + XLINK + 114 - + + + $PROJ_DIR$\..\Include\sam7s256.c + ICCARM - 68 49 12 163 82 123 10 61 60 57 84 27 41 228 48 + 123 - - BICOMP - 68 49 12 82 123 10 61 60 57 84 27 41 228 48 - - + - $PROJ_DIR$\..\..\Source\c_ui.c + $PROJ_DIR$\..\..\Source\d_led.c ICCARM - 130 - - - BICOMP - 167 + 217 ICCARM - 36 49 12 163 82 123 10 61 60 66 14 7 65 68 209 47 55 85 195 57 84 191 100 233 189 77 28 41 89 27 20 43 18 50 29 76 31 88 229 26 32 35 1 101 210 63 38 80 54 225 75 59 23 52 3 5 73 227 62 11 37 21 17 39 25 196 45 44 74 192 13 97 193 67 226 19 207 126 40 197 - - - BICOMP - 36 49 12 82 123 10 61 60 66 14 7 65 68 209 47 55 85 195 57 84 191 100 233 189 77 28 41 89 27 20 43 18 50 29 76 31 88 229 26 32 35 1 101 210 63 38 80 54 225 75 59 23 52 3 5 73 227 62 11 37 21 17 39 25 196 45 44 74 192 13 97 193 67 226 19 207 126 40 197 + 78 170 181 95 81 90 - $PROJ_DIR$\..\Include\Cstartup.s79 + $PROJ_DIR$\..\..\Source\d_motor.c - AARM - 175 + ICCARM + 136 - AARM - 190 + ICCARM + 78 170 181 95 99 100 - $PROJ_DIR$\..\Include\Cstartup_SAM7.c + $PROJ_DIR$\..\..\Source\c_motor.c ICCARM 131 - - BICOMP - 153 - ICCARM - 71 - - - BICOMP - 71 + 78 189 98 97 99 - $PROJ_DIR$\..\..\Source\d_bt.c + $PROJ_DIR$\..\..\Source\c_led.c ICCARM - 187 - - - BICOMP - 183 + 126 ICCARM - 57 84 233 189 77 22 81 60 49 12 163 82 123 10 61 - - - BICOMP - 57 84 233 189 77 22 81 60 49 12 82 123 10 61 + 78 189 82 88 81 - $PROJ_DIR$\..\..\Source\d_button.c + $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c ICCARM - 155 + 141 + + + + $PROJ_DIR$\SrcIAR\Cstartup.s79 + - BICOMP - 140 + AARM + 129 - + + + $PROJ_DIR$\..\..\Source\c_sensor.c + ICCARM - 57 233 189 77 104 42 + 132 + + - BICOMP - 57 233 189 77 104 42 + ICCARM + 78 189 103 105 102 - $PROJ_DIR$\..\..\Source\d_display.c + $PROJ_DIR$\..\..\Source\main.c ICCARM - 186 + 140 + + + + $PROJ_DIR$\..\..\Source\d_sensor.c + - BICOMP - 136 + ICCARM + 233 ICCARM - 57 233 189 77 64 87 - - - BICOMP - 57 233 189 77 64 87 + 78 170 181 95 102 91 - $PROJ_DIR$\..\..\Source\c_button.c + $PROJ_DIR$\..\src\main.c ICCARM - 133 - - - BICOMP - 148 + 140 + + + $PROJ_DIR$\RAM_Debug\Obj\LMS_ARM.pbd - ICCARM - 57 84 33 89 104 - - - BICOMP - 57 84 33 89 104 + BILINK + 230 225 119 113 227 124 229 109 122 107 213 128 144 112 115 130 143 135 138 120 117 218 137 142 228 diff --git a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp index c90d273..7d7825a 100644 --- a/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp +++ b/AT91SAM7S256/SAM7S256/Tools/LMS_ARM.ewp @@ -1789,6 +1789,9 @@ CCDefines PROTOTYPE_PCB_4 NEW_MENU + INCLUDE_OBP + INCLUDE_INTRO + INCLUDE_DATALOG diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni index 883e131..562a6be 100644 --- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni +++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.dni @@ -18,13 +18,13 @@ LimitSize=0 ByteLimit=50 [Profiling] Enabled=0 -[TermIOLog] -LoggingEnabled=_ 0 -LogFile=_ "" [Log file] LoggingEnabled=_ 0 LogFile=_ "" Category=_ 0 +[TermIOLog] +LoggingEnabled=_ 0 +LogFile=_ "" [Disassemble mode] mode=0 [Breakpoints] diff --git a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt index 7759d5d..2657fbb 100644 --- a/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt +++ b/AT91SAM7S256/SAM7S256/Tools/settings/LMS_ARM.wsdt @@ -11,7 +11,7 @@ - 1733271307876 + 1233271307876 300Find-in-FilesDebug-Log1862724461 @@ -32,7 +32,7 @@ - + TabID-32446-5425 @@ -44,20 +44,20 @@ - 0TabID-27191-10055BuildBuildTabID-29560-16542Find in FilesFind-in-Files0 + 0TabID-27191-10055BuildBuildTabID-29560-16542Find in FilesFind-in-FilesTabID-7715-30991BreakpointsBreakpointsTabID-19698-32199Debug LogDebug-Log0 - TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.c09420266667266667TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_bt.c032670647064TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_bt.r09000TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\modules.h03717621762TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.c025591219121TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.iom05420602060TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.iom07200TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.h0300TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_loader.c06928682868TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_hispeed.c0000TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_hispeed.r03012111224TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.h010520152015TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_input.c09963552635535TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_input.iom018922931130100000010000001 + TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.c09569270796270796TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_cmd.iom013455035503TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.c0000TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\c_comm.iom025500TextEditorD:\NXT\lms_nbcnxc_131\AT91SAM7S256\Source\d_output.c01776984698440100000010000001 - iaridepm.enu1-2-2601223-2-20000157123716152-2-21971434-2-214361991002793236342139665236342 + iaridepm.enu1-2-2463190-2-20000157119701357-2-21551224-2-212261571003273236802139935236802 diff --git a/AT91SAM7S256/Source/Functions.inl b/AT91SAM7S256/Source/Functions.inl index d12ebc0..3b9410b 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 +#ifdef INCLUDE_OBP 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 +#ifdef INCLUDE_DATALOG 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) { +#ifdef INCLUDE_DATALOG + 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) { +#ifdef INCLUDE_DATALOG 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; +#ifdef INCLUDE_OBP VarsUi.pTmp = (UBYTE*)Cursor; for (VarsUi.Tmp = 0;(VarsUi.Tmp < SIZE_OF_CURSOR) && (VarsUi.Tmp < (UBYTE)sizeof(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; +#ifdef INCLUDE_OBP 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)); @@ -1475,6 +1488,7 @@ void cUiDrawPortNo(UBYTE *Bitmap,UBYTE MenuIconNo,UBYTE PortNo) UBYTE cUiDataLogging(UBYTE Action) { +#ifdef INCLUDE_DATALOGGING SBYTE TmpBuffer[DATALOGBUFFERSIZE + 1]; switch (Action) @@ -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 { +#ifdef INCLUDE_OBP switch (Action) { case MENU_INIT : // Show motor / sensor text @@ -2454,6 +2469,7 @@ UBYTE cUiOnBrickProgramming(UBYTE Action) // On brick programming pMapDisplay->UpdateMask |= (SPECIAL_BIT(STEPLINE) | SPECIAL_BIT(TOPLINE)); } +#endif return (VarsUi.State); } @@ -2676,7 +2692,7 @@ UBYTE cUiFileRun(UBYTE Action) // Run selected file } } break; - +#ifdef INCLUDE_OBP case (FILETYPE_NXT * 10 + 0) :// Start Program file (*.prg) { VarsUi.TmpHandle = pMapLoader->pFunc(OPENREAD,VarsUi.SelectedFilename,NULL,&VarsUi.TmpLength); @@ -2740,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); @@ -2845,11 +2861,13 @@ UBYTE cUiView(UBYTE Action) // MENU_INIT pMapDisplay->TextLinesCenterFlags |= TEXTLINE_BIT(TEXTLINE_3); pMapDisplay->UpdateMask |= TEXTLINE_BIT(TEXTLINE_3); pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_SMALL); +#ifdef INCLUDE_DATALOG // Init ports for (VarsUi.Tmp = 0;VarsUi.Tmp < DATALOGPORTS;VarsUi.Tmp++) { VarsUi.DatalogPort[VarsUi.Tmp] = MENU_SENSOR_EMPTY; } +#endif } break; @@ -2862,8 +2880,9 @@ UBYTE cUiView(UBYTE Action) // MENU_INIT if ((Action >= MENU_PORT_1) && (Action <= MENU_PORT_C)) { VarsUi.SelectedPort = Action; - +#ifdef INCLUDE_DATALOG VarsUi.DatalogPort[VarsUi.SelectedPort - MENU_PORT_1] = VarsUi.SelectedSensor; +#endif IOMapUi.Flags |= UI_BUSY; pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_LARGE); @@ -3966,12 +3985,14 @@ UBYTE cUiPowerOffTime(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_E { VarsUi.Counter = VarsUi.NVData.PowerdownCode + 1; +#ifdef INCLUDE_OBP VarsUi.pTmp = (UBYTE*)Cursor; for (VarsUi.Tmp = 0;(VarsUi.Tmp < SIZE_OF_CURSOR) && (VarsUi.Tmp < (UBYTE)sizeof(Cursor));VarsUi.Tmp++) { VarsUi.CursorTmp[VarsUi.Tmp] = *VarsUi.pTmp; VarsUi.pTmp++; } +#endif Action = MENU_DRAW; } break; @@ -4013,9 +4034,11 @@ UBYTE cUiPowerOffTime(UBYTE Action) // MENU_INIT,MENU_LEFT,MENU_RIGHT,MENU_E } pMapDisplay->pTextLines[TEXTLINE_3] = VarsUi.DisplayBuffer; +#ifdef INCLUDE_OBP 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/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 674960c..0e79d08 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -409,7 +409,12 @@ UBYTE cCmdBTGetDeviceType(UBYTE *pCOD) return (Result); } -UBYTE CMD_RESPONSE_LENGTH[255] = +void cCmdSetVMState(VM_STATE newState) +{ + VarsCmd.VMState = newState; +} + +UBYTE CMD_RESPONSE_LENGTH[256] = { 3, // DCStartProgram (x00) 3, // DCStopProgram (x01) @@ -500,7 +505,8 @@ UBYTE CMD_RESPONSE_LENGTH[255] = 0, // SEEKFROMCURRENT = 0xD2, 0, // SEEKFROMEND = 0xD3 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xD4-xDF) - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 // (xF0-xFF) + 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 @@ -1204,7 +1210,7 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) // don't change the VM state if the state is currently idle or resetting if (VarsCmd.VMState > VM_IDLE && VarsCmd.VMState < VM_RESET1) { - VarsCmd.VMState = (VM_STATE)pInBuf[1]; + cCmdSetVMState((VM_STATE)pInBuf[1]); // setting the VM state turns on debugging VarsCmd.Debugging = TRUE; if (VarsCmd.VMState == VM_RESET1) @@ -1328,7 +1334,12 @@ UWORD cCmdHandleRemoteCommands(UBYTE * pInBuf, UBYTE * pOutBuf, UBYTE * pLen) //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]]; - memcpy((PSZ)VarsCmd.LastResponseBuffer, (PSZ)(&pInBuf[0]), VarsCmd.LastResponseLength-1); + 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; }; @@ -1413,7 +1424,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 @@ -1480,7 +1491,7 @@ void cCmdCtrl(void) 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; } @@ -1505,13 +1516,13 @@ void cCmdCtrl(void) #endif // automatically switch from RUN_SINGLE to RUN_PAUSE after a single step if (VarsCmd.VMState == VM_RUN_SINGLE) - VarsCmd.VMState = VM_RUN_PAUSE; + 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; } } @@ -1529,13 +1540,13 @@ void cCmdCtrl(void) else if (IS_ERR(Status)) // mem error is handled in InterpFromClump if possible { Continue = FALSE; - VarsCmd.VMState = VM_RESET1; + 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) @@ -1572,12 +1583,12 @@ void cCmdCtrl(void) if (IS_ERR(Status)) { IOMapCmd.ProgStatus = Status; - VarsCmd.VMState = VM_RESET1; + 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; @@ -1642,7 +1653,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; @@ -1668,7 +1679,7 @@ 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 @@ -4581,7 +4592,7 @@ NXT_STATUS cCmdInterpFromClump() if (pBreakpoints[j].Enabled && (pBreakpoints[j].Location == (CODE_INDEX)(pClumpRec->PC-pClumpRec->CodeStart))) { - VarsCmd.VMState = VM_RUN_PAUSE; + cCmdSetVMState(VM_RUN_PAUSE); return BREAKOUT_REQ; } } @@ -4590,7 +4601,7 @@ NXT_STATUS cCmdInterpFromClump() ((CODE_INDEX)(pClumpRec->PC-pClumpRec->CodeStart) == VarsCmd.PausePC)) { // pause the VM - VarsCmd.VMState = VM_RUN_PAUSE; + cCmdSetVMState(VM_RUN_PAUSE); // and turn off the auto pause flags VarsCmd.PauseClump = NOT_A_CLUMP; VarsCmd.PausePC = 0xFFFF; diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c index 1878108..5b5292d 100644 --- a/AT91SAM7S256/Source/c_comm.c +++ b/AT91SAM7S256/Source/c_comm.c @@ -440,6 +440,7 @@ UWORD cCommInterprete(UBYTE *pInBuf, UBYTE *pOutBuf, UBYTE *pLength, UBYTE C // 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); @@ -1532,11 +1533,14 @@ void cCommReceivedHiSpeedData(void) { // receiving hi-speed data in NXT mode /* Copy the bytes into the IOMapBuffer */ - memcpy((IOMapComm.HsInBuf.Buf), (VarsComm.HsModuleInBuf.Buf), NumberOfBytes); - + if (NumberOfBytes > SIZE_OF_HSBUF) + NumberOfBytes = SIZE_OF_HSBUF; + memcpy((PSZ)IOMapComm.HsInBuf.Buf, (PSZ)VarsComm.HsModuleInBuf.Buf, NumberOfBytes); + memset((PSZ)VarsComm.HsModuleInBuf.Buf, 0, 256); /* Move the inptr ahead */ IOMapComm.HsInBuf.InPtr = NumberOfBytes; + IOMapComm.HsInBuf.OutPtr = 0; /* using the outbuf inptr in order to get the number of bytes in the return answer at the right place*/ IOMapComm.HsOutBuf.InPtr = NumberOfBytes; @@ -1547,8 +1551,10 @@ void cCommReceivedHiSpeedData(void) /* if there is a reply to be sent then send it */ if (IOMapComm.HsOutBuf.InPtr) { - dHiSpeedSendData(IOMapComm.HsOutBuf.Buf, IOMapComm.HsOutBuf.InPtr); + cCommSendHiSpeedData(); +// dHiSpeedSendData(IOMapComm.HsOutBuf.Buf, IOMapComm.HsOutBuf.InPtr); IOMapComm.HsOutBuf.InPtr = 0; + IOMapComm.HsOutBuf.OutPtr = 0; } } } diff --git a/AT91SAM7S256/Source/c_ui.c b/AT91SAM7S256/Source/c_ui.c index b47813a..53c1f82 100644 --- a/AT91SAM7S256/Source/c_ui.c +++ b/AT91SAM7S256/Source/c_ui.c @@ -59,7 +59,9 @@ const HEADER cUi = #include "Display.txt" // Bitmap for frame used in view and datalog #include "LowBattery.txt" // Bitmap showed when low battery occures #include "Font.txt" // Font used for all text +#ifdef INCLUDE_OBP #include "Step.txt" // Bitmap used in On Brick Programming +#endif #include "Cursor.txt" // Bitmap for cursor #include "Running.txt" // Icon collection used for "running" symbol #include "Port.txt" // Font used for naming sensor ports in datalog/bluetooth @@ -69,6 +71,7 @@ const HEADER cUi = #include "Info.txt" // Bitmap for feedback #include "Icons.txt" // Icon collection used for menues +#ifdef INCLUDE_INTRO // ****** INTRO ANIMATION RESOURCES ****************************************** #include "RCXintro_1.txt" // Bitmap for picture 1 in the intro animation @@ -107,6 +110,7 @@ const BMPMAP *Intro[NO_OF_INTROBITMAPS] = // Picture sequence for the intro (BMPMAP*)RCXintro_15, (BMPMAP*)RCXintro_16 }; +#endif // ****** STATUS LINE GRAPHIC RESOURCES ************************************** @@ -1281,7 +1285,9 @@ void cUiCtrl(void) VarsUi.CRPasskey++; VarsUi.ButtonTimer++; +#ifdef INCLUDE_OBP VarsUi.OBPTimer++; +#endif switch (IOMapUi.State) { case INIT_DISPLAY : // Load font and icons @@ -1301,7 +1307,9 @@ void cUiCtrl(void) pMapDisplay->pFont = (FONT*)Font; pMapDisplay->pStatusIcons = (ICON*)Status; pMapDisplay->pStatusText = (UBYTE*)VarsUi.StatusText; +#ifdef INCLUDE_OBP pMapDisplay->pStepIcons = (ICON*)Step; +#endif VarsUi.State = 0; VarsUi.Pointer = 0; @@ -1320,7 +1328,9 @@ void cUiCtrl(void) IOMapUi.State = INIT_INTRO; pMapDisplay->EraseMask = SCREEN_BIT(SCREEN_BACKGROUND); +#ifdef INCLUDE_INTRO pMapDisplay->pBitmaps[BITMAP_1] = (BMPMAP*)Intro[VarsUi.Pointer]; +#endif pMapDisplay->UpdateMask = BITMAP_BIT(BITMAP_1); pMapDisplay->Flags |= DISPLAY_ON; @@ -1336,7 +1346,9 @@ void cUiCtrl(void) { VarsUi.LowBattHasOccured = 2; pMapDisplay->EraseMask = SCREEN_BIT(SCREEN_BACKGROUND); +#ifdef INCLUDE_INTRO pMapDisplay->pBitmaps[BITMAP_1] = (BMPMAP*)Intro[VarsUi.Pointer]; +#endif pMapDisplay->UpdateMask = BITMAP_BIT(BITMAP_1); IOMapUi.Flags &= ~UI_ENABLE_STATUS_UPDATE; VarsUi.State = 0; @@ -1368,6 +1380,7 @@ void cUiCtrl(void) VarsUi.LowBattHasOccured = 1; } } +#ifdef INCLUDE_INTRO if (++VarsUi.Timer >= (INTRO_SHIFT_TIME)) { switch (VarsUi.State) @@ -1420,10 +1433,14 @@ void cUiCtrl(void) } } +#else + pMapDisplay->EraseMask |= SCREEN_BIT(SCREEN_BACKGROUND); + IOMapUi.State = INIT_MENU; +#endif } } break; - +#ifdef INCLUDE_INTRO case INIT_WAIT : { if (++VarsUi.Timer >= INTRO_STOP_TIME) @@ -1433,7 +1450,7 @@ void cUiCtrl(void) } } break; - +#endif case INIT_MENU : { // Restart menu system diff --git a/AT91SAM7S256/Source/c_ui.h b/AT91SAM7S256/Source/c_ui.h index 08dc1d8..83d5a62 100644 --- a/AT91SAM7S256/Source/c_ui.h +++ b/AT91SAM7S256/Source/c_ui.h @@ -19,7 +19,11 @@ #ifndef C_UI #define C_UI +#ifdef INCLUDE_DATALOG #define DATALOGENABLED 1 // 1 == Datalog enable +#else +#define DATALOGENABLED 0 // 0 == Datalog disabled +#endif #define NO_OF_FEEDBACK_CHARS 12 // Chars left when bitmap also showed #define SIZE_OF_CURSOR 16 // Bitmap size of cursor (header + 8x8 pixels) @@ -283,6 +287,7 @@ typedef struct UBYTE FileRight; // File right UBYTE NoOfFiles; // No of files +#ifdef INCLUDE_OBP // On brick programming menu UBYTE ProgramSteps[ON_BRICK_PROGRAMSTEPS]; // On brick programming steps UBYTE ProgramStepPointer; // On brick programming step pointer @@ -290,7 +295,8 @@ typedef struct UBYTE FileHeader[FILEHEADER_LENGTH]; // File header for programs UBYTE *FeedBackText; // Program end text UWORD OBPTimer; // Graphic update timer - +#endif + // BT search menu UBYTE NoOfDevices; // BT search no of devices found UBYTE NoOfNames; // BT search no of names found @@ -337,6 +343,7 @@ typedef struct SLONG ViewSampleValue; // Latch for sensor values UBYTE ViewSampleValid; // Latch for sensor valid +#ifdef INCLUDE_DATALOG // Datalog ULONG DatalogOldTick; ULONG DatalogRTC; // Real time in mS @@ -348,7 +355,8 @@ typedef struct UWORD DatalogError; // Error code UBYTE DatalogPort[DATALOGPORTS]; // Logging sensor UBYTE Update; // Update icons flag - +#endif + // NV storage ULONG NVTmpLength; // Non volatile filelength SWORD NVTmpHandle; // Non volatile filehandle diff --git a/AT91SAM7S256/Source/c_ui.iom b/AT91SAM7S256/Source/c_ui.iom index a33505e..6adcbc0 100644 --- a/AT91SAM7S256/Source/c_ui.iom +++ b/AT91SAM7S256/Source/c_ui.iom @@ -31,12 +31,16 @@ enum // Various filenames without extension #define UI_NONVOLATILE "NVConfig" // Ui non volatile config filename +#ifdef INCLUDE_OBP #define UI_PROGRAM_DEFAULT "Untitled" // On brick programming default filename #define UI_PROGRAM_TEMP "Program" // On brick programming tmp filename #define UI_PROGRAM_READER "RPGReader" // On brick programming script reader filename +#endif +#ifdef INCLUDE_DATALOG #define UI_DATALOG_FILENAME "OBD_" // On brick datalog filename #define UI_DATALOG_DEFAULT "Untitled" // On brick datalog default name #define UI_DATALOG_TEMP "Tmp" // On brick datalog tmp filename +#endif #define UI_STARTUP_SOUND "! Startup" // Sound file activated when the menu system starts up #define UI_KEYCLICK_SOUND "! Click" // Sound file activated when key pressed in the menu system #define UI_ATTENTION_SOUND "! Attention" // Sound file activated when incomming BT requests attention diff --git a/AT91SAM7S256/Source/d_output.c b/AT91SAM7S256/Source/d_output.c index e6de984..73719cc 100644 --- a/AT91SAM7S256/Source/d_output.c +++ b/AT91SAM7S256/Source/d_output.c @@ -83,6 +83,25 @@ static SYNCMOTORDATA SyncData; static UBYTE RegTime; +UBYTE dOutputRunStateAtLimit(MOTORDATA * pMD) +{ +// return MOTOR_RUN_STATE_IDLE; + return pMD->RunStateAtLimit; +} + +UBYTE dOutputRampDownToLimit(MOTORDATA * pMD) +{ +// return 0; + return pMD->RampDownToLimit; +} + +UBYTE dOutputRegModeAtLimit(MOTORDATA * pMD) +{ + if (dOutputRunStateAtLimit(pMD)==MOTOR_RUN_STATE_HOLD) + return REGSTATE_REGULATED; + return REGSTATE_IDLE; +} + void dOutputInit(void) { UBYTE Temp; @@ -164,7 +183,7 @@ void dOutputCtrl(void) pMD->MotorTargetSpeed = 0; pMD->RegulationTimeCount = 0; pMD->DeltaCaptureCount = 0; -// pMD->MotorRunState = MOTOR_RUN_STATE_RUNNING; + pMD->MotorRunState = MOTOR_RUN_STATE_RUNNING; } if (pMD->RegulationTimeCount > RegTime) { @@ -484,7 +503,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) { if (pMD->CurrentCaptureCount > (pMD->MotorRampTachoCountOld + pMD->MotorRampUpIncrement)) { - pMD->MotorTargetSpeed++; + pMD->MotorTargetSpeed += 1; pMD->MotorRampTachoCountOld = pMD->CurrentCaptureCount; pMD->MotorRampUpCount = 0; } @@ -493,7 +512,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) if (!(pMD->RegulationMode & REGSTATE_REGULATED)) { pMD->MotorRampUpCount++; - if (pMD->MotorRampUpCount > RegTime) + if (pMD->MotorRampUpCount > 100) { pMD->MotorRampUpCount = 0; pMD->MotorTargetSpeed++; @@ -505,7 +524,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) { if (pMD->CurrentCaptureCount < (pMD->MotorRampTachoCountOld + pMD->MotorRampUpIncrement)) { - pMD->MotorTargetSpeed--; + pMD->MotorTargetSpeed -= 1; pMD->MotorRampTachoCountOld = pMD->CurrentCaptureCount; pMD->MotorRampUpCount = 0; } @@ -514,7 +533,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) if (!(pMD->RegulationMode & REGSTATE_REGULATED)) { pMD->MotorRampUpCount++; - if (pMD->MotorRampUpCount > RegTime) + if (pMD->MotorRampUpCount > 100) { pMD->MotorRampUpCount = 0; pMD->MotorTargetSpeed--; @@ -528,7 +547,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) if ((pMD->CurrentCaptureCount - pMD->MotorRampTachoCountStart) >= (pMD->MotorTachoCountToRun - pMD->MotorRampTachoCountStart)) { pMD->MotorTargetSpeed = pMD->MotorSetSpeed; - pMD->MotorRunState = pMD->RunStateAtLimit; + pMD->MotorRunState = dOutputRunStateAtLimit(pMD); } } else @@ -536,7 +555,7 @@ void dOutputRampUpFunction(UBYTE MotorNr) if ((pMD->CurrentCaptureCount + pMD->MotorRampTachoCountStart) <= (pMD->MotorTachoCountToRun + pMD->MotorRampTachoCountStart)) { pMD->MotorTargetSpeed = pMD->MotorSetSpeed; - pMD->MotorRunState = pMD->RunStateAtLimit; + pMD->MotorRunState = dOutputRunStateAtLimit(pMD); } } if (pMD->MotorSetSpeed > 0) @@ -645,7 +664,7 @@ void dOutputRampDownFunction(UBYTE MotorNr) if ((pMD->RegulationMode & REGSTATE_SYNCHRONE) && (pMD->TurnParameter != 0)) { dOutputSyncTachoLimitControl(MotorNr); - if (pMD->MotorRunState == pMD->RunStateAtLimit) + if (pMD->MotorRunState == dOutputRunStateAtLimit(pMD)) { dOutputMotorReachedTachoLimit(MotorNr); } @@ -673,13 +692,6 @@ void dOutputRampDownFunction(UBYTE MotorNr) } } -UBYTE dOutputRegModeAtLimit(UBYTE RunStateAtLimit) -{ - if (RunStateAtLimit==MOTOR_RUN_STATE_HOLD) - return REGSTATE_REGULATED; - return REGSTATE_IDLE; -} - /* Function used to tell whether the wanted position is obtained */ void dOutputTachoLimitControl(UBYTE MotorNr) { @@ -692,14 +704,14 @@ void dOutputTachoLimitControl(UBYTE MotorNr) } else { - if (pMD->RampDownToLimit == 0) + if (dOutputRampDownToLimit(pMD) == 0) { if (pMD->MotorSetSpeed > 0) { if ((pMD->CurrentCaptureCount >= pMD->MotorTachoCountToRun)) { - pMD->MotorRunState = pMD->RunStateAtLimit; - pMD->RegulationMode = dOutputRegModeAtLimit(pMD->RunStateAtLimit); + pMD->MotorRunState = dOutputRunStateAtLimit(pMD); + pMD->RegulationMode = dOutputRegModeAtLimit(pMD); } } else @@ -708,8 +720,8 @@ void dOutputTachoLimitControl(UBYTE MotorNr) { if (pMD->CurrentCaptureCount <= pMD->MotorTachoCountToRun) { - pMD->MotorRunState = pMD->RunStateAtLimit; - pMD->RegulationMode = dOutputRegModeAtLimit(pMD->RunStateAtLimit); + pMD->MotorRunState = dOutputRunStateAtLimit(pMD); + pMD->RegulationMode = dOutputRegModeAtLimit(pMD); } } } @@ -930,7 +942,7 @@ void dOutputSyncMotorPosition(UBYTE MotorOne, UBYTE MotorTwo) if (pOne->TurnParameter != 0) { - if ((pOne->MotorBlockTachoCount != 0) || (pTwo->MotorBlockTachoCount != 0)) + if ((pOne->MotorBlockTachoCount != 0) || (pTwo->MotorBlockTachoCount)) { if (pOne->MotorTargetSpeed >= 0) { @@ -1124,15 +1136,15 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) pOne->MotorSetSpeed = 0; pOne->MotorTargetSpeed = 0; pOne->MotorActualSpeed = 0; - pOne->MotorRunState = pOne->RunStateAtLimit; - pOne->RegulationMode = dOutputRegModeAtLimit(pOne->RunStateAtLimit); + pOne->MotorRunState = dOutputRunStateAtLimit(pOne); + pOne->RegulationMode = dOutputRegModeAtLimit(pOne); if (MotorTwo != 0xFF) { MOTORDATA * pTwo = &(MotorData[MotorTwo]); pTwo->MotorSetSpeed = 0; pTwo->MotorTargetSpeed = 0; pTwo->MotorActualSpeed = 0; - pTwo->MotorRunState = pTwo->RunStateAtLimit; - pTwo->RegulationMode = dOutputRegModeAtLimit(pTwo->RunStateAtLimit); + pTwo->MotorRunState = dOutputRunStateAtLimit(pTwo); + pTwo->RegulationMode = dOutputRegModeAtLimit(pTwo); } } else @@ -1142,8 +1154,8 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) pOne->MotorTargetSpeed = 0; pOne->MotorActualSpeed = 0; } - pOne->MotorRunState = pOne->RunStateAtLimit; - pOne->RegulationMode = dOutputRegModeAtLimit(pOne->RunStateAtLimit); + pOne->MotorRunState = dOutputRunStateAtLimit(pOne); + pOne->RegulationMode = dOutputRegModeAtLimit(pOne); } } @@ -1171,14 +1183,14 @@ void dOutputSyncTachoLimitControl(UBYTE MotorNr) MOTORDATA * pTwo = &(MotorData[MotorTwo]); SLONG l1 = pOne->MotorTachoCountToRun; SLONG l2 = pTwo->MotorTachoCountToRun; - UBYTE NewRunState1 = pOne->RunStateAtLimit; - UBYTE NewRunState2 = pTwo->RunStateAtLimit; - if (pOne->RampDownToLimit == OPTION_RAMPDOWNTOLIMIT) + UBYTE NewRunState1 = dOutputRunStateAtLimit(pOne); + UBYTE NewRunState2 = dOutputRunStateAtLimit(pTwo); + if (dOutputRampDownToLimit(pOne) == OPTION_RAMPDOWNTOLIMIT) { NewRunState1 = MOTOR_RUN_STATE_RAMPDOWN; l1 = (SLONG)((float)l1 * 0.80f); } - if (pTwo->RampDownToLimit == OPTION_RAMPDOWNTOLIMIT) + if (dOutputRampDownToLimit(pTwo) == OPTION_RAMPDOWNTOLIMIT) { NewRunState2 = MOTOR_RUN_STATE_RAMPDOWN; l2 = (SLONG)((float)l2 * 0.80f); -- cgit v1.2.3 From 35881fb1c31cc215a64991b877913e519123fec9 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Fri, 21 Jan 2011 22:09:53 +0000 Subject: Added support for seeking in files that are open for both reading and writing. Added FileTell system call function. git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@32 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 24 ++++-- AT91SAM7S256/Source/c_cmd.h | 1 + AT91SAM7S256/Source/c_loader.c | 6 ++ AT91SAM7S256/Source/c_loader.iom | 3 +- AT91SAM7S256/Source/d_loader.c | 169 ++++++++++++++++++++++++++------------- AT91SAM7S256/Source/d_loader.h | 1 + 6 files changed, 142 insertions(+), 62 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 0e79d08..53a274f 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -257,8 +257,8 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapDrawFont, // 95 cCmdWrapMemoryManager, cCmdWrapReadLastResponse, - cCmdWrapUndefinedSysCall, - cCmdWrapUndefinedSysCall // 99 --> 100 system call slots + cCmdWrapFileTell, + cCmdWrapUndefinedSysCall // 100 system call slots // don't forget to update SYSCALL_COUNT in c_cmd.h }; @@ -504,7 +504,8 @@ UBYTE CMD_RESPONSE_LENGTH[256] = 0, // SEEKFROMSTART = 0xD1, 0, // SEEKFROMCURRENT = 0xD2, 0, // SEEKFROMEND = 0xD3 - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // (xD4-xDF) + 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) }; @@ -2206,9 +2207,6 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) VarsCmd.Debugging = FALSE; VarsCmd.PauseClump = NOT_A_CLUMP; VarsCmd.PausePC = 0xFFFF; - // restore default data mode values - pMapComm->BtDataMode = DATA_MODE_NXT|DATA_MODE_UPDATE; - pMapComm->HsDataMode = DATA_MODE_RAW|DATA_MODE_UPDATE; return (Status); } @@ -9664,6 +9662,20 @@ NXT_STATUS cCmdWrapReadLastResponse(UBYTE * ArgV[]) 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); +} + NXT_STATUS cCmdWrapUndefinedSysCall(UBYTE * ArgV[]) { return (NO_ERR); diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index b23e9f6..0486b1c 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -909,6 +909,7 @@ 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 cCmdWrapUndefinedSysCall(UBYTE * ArgV[]); diff --git a/AT91SAM7S256/Source/c_loader.c b/AT91SAM7S256/Source/c_loader.c index b9f290f..b6e6436 100644 --- a/AT91SAM7S256/Source/c_loader.c +++ b/AT91SAM7S256/Source/c_loader.c @@ -279,6 +279,12 @@ UWORD cLoaderFileRq(UBYTE Cmd, UBYTE *pFileName, UBYTE *pBuffer, ULONG *pLen ReturnState = dLoaderSeek(*pFileName, *(SLONG*)pLength, Cmd-SEEKFROMSTART); } break; + case FILEPOSITION: + { + // *pFileName is the handle, pLength is the returned file position + ReturnState = dLoaderTell(*pFileName, pLength); + } + break; case READ: { ReturnState = dLoaderRead(*pFileName, pBuffer, pLength); diff --git a/AT91SAM7S256/Source/c_loader.iom b/AT91SAM7S256/Source/c_loader.iom index c0549b1..afc6523 100644 --- a/AT91SAM7S256/Source/c_loader.iom +++ b/AT91SAM7S256/Source/c_loader.iom @@ -68,7 +68,8 @@ enum RESIZEDATAFILE = 0xD0, SEEKFROMSTART = 0xD1, SEEKFROMCURRENT = 0xD2, - SEEKFROMEND = 0xD3 + SEEKFROMEND = 0xD3, + FILEPOSITION = 0xD4 }; typedef UWORD LOADER_STATUS; diff --git a/AT91SAM7S256/Source/d_loader.c b/AT91SAM7S256/Source/d_loader.c index 99624e8..c9ed747 100644 --- a/AT91SAM7S256/Source/d_loader.c +++ b/AT91SAM7S256/Source/d_loader.c @@ -35,8 +35,9 @@ typedef struct { const UBYTE *pFlash; const UWORD *pSectorNo; - ULONG ReadLength; - ULONG DataLength; + ULONG FilePosition; + ULONG DataSize; + ULONG RemainingLength; ULONG FileDlPtr; UBYTE SearchStr[FILENAME_SIZE]; UWORD FileIndex; @@ -72,6 +73,7 @@ UWORD dLoaderAllocateWriteBuffer(UWORD Handle); UWORD dLoaderSetFilePointer(UWORD Handle, ULONG BytePtr, const UBYTE **pData); UWORD dLoaderGetSectorNumber(ULONG Adr); void dLoaderCheckVersion(void); +UWORD dLoaderCheckHandleForReadWrite(UWORD Handle); UWORD dLoaderCheckHandle(UWORD Handle, UBYTE Operation); ULONG dLoaderCalcFreeFileSpace(UWORD NosOfFreeSectors); UWORD dLoaderCheckDownload(UBYTE *pName); @@ -330,8 +332,8 @@ UWORD dLoaderCreateFileHeader(ULONG FileSize, UBYTE *pName, UBYTE LinearStat ULONG CompleteFileByteSize; UWORD Handle; UBYTE Name[FILENAME_SIZE]; - ULONG FileLength; - ULONG DataLength; + ULONG TmpFileSize; + ULONG DataSize; UWORD ErrorCode; UWORD CompleteSectorNo; UWORD Tmp; @@ -339,7 +341,7 @@ UWORD dLoaderCreateFileHeader(ULONG FileSize, UBYTE *pName, UBYTE LinearStat memset(&(Header.FileName), 0, sizeof(Header.FileName)); memset(&(Header.FileSectorTable), 0xFF, sizeof(Header.FileSectorTable)); - ErrorCode = dLoaderFind(pName, Name, &FileLength, &DataLength, (UBYTE)BUSY); + ErrorCode = dLoaderFind(pName, Name, &TmpFileSize, &DataSize, (UBYTE)BUSY); Handle = ErrorCode & 0x00FF; if (SUCCESS == (ErrorCode & 0xFF00)) { @@ -367,8 +369,8 @@ UWORD dLoaderCreateFileHeader(ULONG FileSize, UBYTE *pName, UBYTE LinearStat dLoaderCopyFileName((Header.FileName), pName); HandleTable[Handle].pSectorNo = 0; - HandleTable[Handle].DataLength = FileSize; /* used for end of file detection */ - Header.FileSize = FileSize; /* used to program into flash */ + HandleTable[Handle].RemainingLength = FileSize; /* used for end of file detection */ + Header.FileSize = FileSize; /* used to program into flash */ if (DATAFILE == FileType) { Header.DataSize = 0; @@ -377,6 +379,8 @@ UWORD dLoaderCreateFileHeader(ULONG FileSize, UBYTE *pName, UBYTE LinearStat { Header.DataSize = FileSize; } + HandleTable[Handle].DataSize = Header.DataSize; + HandleTable[Handle].FilePosition = 0; HandleTable[Handle].FileType = FileType | LinearState; /* if it is a datafile it can be stopped */ Header.FileType = FileType | LinearState; /* FileType included for future appending */ @@ -450,17 +454,23 @@ UWORD dLoaderCreateFileHeader(ULONG FileSize, UBYTE *pName, UBYTE LinearStat UWORD dLoaderWriteData(UWORD Handle, UBYTE *pBuf, UWORD *pLen) { UWORD Tmp; + ULONG NewFP, TmpLen; UBYTE *pSectorBuf; Handle = dLoaderCheckHandle(Handle, DOWNLOADING); if (0x8000 > Handle) { - - if (*pLen > HandleTable[Handle].DataLength) + // will we write past the current DataSize value? + NewFP = HandleTable[Handle].FilePosition + *pLen; + if (NewFP > HandleTable[Handle].DataSize) + TmpLen = NewFP - HandleTable[Handle].DataSize; + else + TmpLen = 0; + if (TmpLen > HandleTable[Handle].RemainingLength) { /* Write request exceeds filesize - only flash up to filesize*/ - *pLen = HandleTable[Handle].DataLength; + *pLen = HandleTable[Handle].RemainingLength; WriteBuffer[HandleTable[Handle].WriteBufNo].Status = DLERROR; /* save error untill close handle */ } @@ -480,10 +490,18 @@ UWORD dLoaderWriteData(UWORD Handle, UBYTE *pBuf, UWORD *pLen) (WriteBuffer[HandleTable[Handle].WriteBufNo].BufIndex)++; } } - HandleTable[Handle].DataLength -= *pLen; + // did we write past the current DataSize value? + NewFP = HandleTable[Handle].FilePosition + *pLen; + if (NewFP > HandleTable[Handle].DataSize) + { + TmpLen = NewFP - HandleTable[Handle].DataSize; + HandleTable[Handle].RemainingLength -= TmpLen; + HandleTable[Handle].DataSize = NewFP; + } + HandleTable[Handle].FilePosition = NewFP; /* Check for correct end of file */ - if (0 == HandleTable[Handle].DataLength) + if (0 == HandleTable[Handle].RemainingLength) { if ((WriteBuffer[HandleTable[Handle].WriteBufNo].BufIndex) != 0) { @@ -581,7 +599,7 @@ UWORD dLoaderCloseHandle(UWORD Handle) /* This is a Datafile that should be closed and this is a legal action */ /* 1. Write the data from the writebuffer into flash */ - /* 2. Update the Datalength in the file header */ + /* 2. Update the RemainingLength in the file header */ /* This takes minimum 8 mS (2 page writes into flash) */ if (WriteBuffer[HandleTable[Handle].WriteBufNo].BufIndex) @@ -594,14 +612,14 @@ UWORD dLoaderCloseHandle(UWORD Handle) /* Now the databuffer is free now use if for a buffer for the fileheader*/ memcpy(WriteBuffer[HandleTable[Handle].WriteBufNo].Buf, (void const*)HandleTable[Handle].FileDlPtr, SECTORSIZE); TmpFileHeader = (FILEHEADER *) WriteBuffer[HandleTable[Handle].WriteBufNo].Buf; - TmpFileHeader->DataSize = TmpFileHeader->FileSize - HandleTable[Handle].DataLength; + TmpFileHeader->DataSize = TmpFileHeader->FileSize - HandleTable[Handle].RemainingLength; dLoaderWritePage(((ULONG)HandleTable[Handle].FileDlPtr & ~(SECTORSIZE - 1)), SECTORSIZE, WriteBuffer[HandleTable[Handle].WriteBufNo].Buf); } else { /* This is a system file being closed now update the file pointer table if no error and complete file written */ - if ((DLERROR != WriteBuffer[HandleTable[Handle].WriteBufNo].Status) && (0 == HandleTable[Handle].DataLength)) + if ((DLERROR != WriteBuffer[HandleTable[Handle].WriteBufNo].Status) && (0 == HandleTable[Handle].RemainingLength)) { /* no error durig download - add the file pointer to the file pointer table */ @@ -630,22 +648,23 @@ UWORD dLoaderCloseHandle(UWORD Handle) UWORD dLoaderOpenRead(UBYTE *pFileName, ULONG *pLength) { UWORD Handle; - UBYTE Name[16]; + UBYTE Name[FILENAME_SIZE]; const FILEHEADER *TmpHeader; - ULONG FileLength; - ULONG DataLength; + ULONG FileSize; + ULONG DataSize; - Handle = dLoaderFind(pFileName, Name, &FileLength, &DataLength, (UBYTE)BUSY); + Handle = dLoaderFind(pFileName, Name, &FileSize, &DataSize, (UBYTE)BUSY); if (0x8000 > Handle) { - if (FileLength) + if (FileSize) { TmpHeader = (FILEHEADER const *)(FILEPTRTABLE[HandleTable[Handle].FileIndex]); HandleTable[Handle].pFlash = (const UBYTE *)TmpHeader->FileStartAdr; - HandleTable[Handle].pSectorNo = TmpHeader->FileSectorTable; - HandleTable[Handle].DataLength = TmpHeader->DataSize; - HandleTable[Handle].ReadLength = 0; - *pLength = TmpHeader->DataSize; + HandleTable[Handle].pSectorNo = TmpHeader->FileSectorTable; + HandleTable[Handle].DataSize = DataSize; + HandleTable[Handle].FilePosition = 0; + HandleTable[Handle].RemainingLength = FileSize - DataSize; + *pLength = DataSize; } else { @@ -657,16 +676,16 @@ UWORD dLoaderOpenRead(UBYTE *pFileName, ULONG *pLength) UWORD dLoaderSeek(UBYTE Handle, SLONG offset, UBYTE from) { - // move the ReadLength file pointer for this handle to the new offset + // move the FilePosition file pointer for this handle to the new offset // and update pFlash appropriately UWORD Status; SLONG distFromStart; const FILEHEADER *TmpHeader; - Status = dLoaderCheckHandle(Handle, BUSY); + Status = dLoaderCheckHandleForReadWrite(Handle); if (0x8000 > Status) { - Status = Handle; + Status = Handle; // calculate distance from start regardless of "from" // and start from there going forward unless distance > current // in which case start from current going forward @@ -675,41 +694,62 @@ UWORD dLoaderSeek(UBYTE Handle, SLONG offset, UBYTE from) distFromStart = offset; break; case SEEK_FROMCURRENT: - distFromStart = (SLONG)HandleTable[Handle].ReadLength + offset; + distFromStart = (SLONG)HandleTable[Handle].FilePosition + offset; break; case SEEK_FROMEND: - distFromStart = (SLONG)HandleTable[Handle].DataLength + offset; + distFromStart = (SLONG)HandleTable[Handle].DataSize + offset; break; } - if (distFromStart != HandleTable[Handle].ReadLength) { - if ((distFromStart < 0) || (distFromStart > HandleTable[Handle].DataLength)) + if (distFromStart != HandleTable[Handle].FilePosition) { + if ((distFromStart < 0) || (distFromStart > HandleTable[Handle].DataSize)) return (Status | INVALIDSEEK); - if (distFromStart < HandleTable[Handle].ReadLength) { + if (distFromStart < HandleTable[Handle].FilePosition) { // start from the beginning in this case TmpHeader = (FILEHEADER const *)(FILEPTRTABLE[HandleTable[Handle].FileIndex]); - HandleTable[Handle].pFlash = (const UBYTE *)TmpHeader->FileStartAdr; - HandleTable[Handle].ReadLength = 0; + HandleTable[Handle].pFlash = (const UBYTE *)TmpHeader->FileStartAdr; + HandleTable[Handle].pSectorNo = TmpHeader->FileSectorTable; + HandleTable[Handle].FilePosition = 0; } else - distFromStart -= HandleTable[Handle].ReadLength; // dist from current + distFromStart -= HandleTable[Handle].FilePosition; // dist from current // now move forward from the current location while (distFromStart > 0) { distFromStart--; // move to next byte in the flash HandleTable[Handle].pFlash++; // update our file pointer - HandleTable[Handle].ReadLength++; + HandleTable[Handle].FilePosition++; // if we reach a flash sector boundary then find the next sector pointer if (!((ULONG)(HandleTable[Handle].pFlash) & (SECTORSIZE-1))) { HandleTable[Handle].pFlash = dLoaderGetNextSectorPtr(Handle); } } + // if we are open for writing then we need to do a little more work + if (HandleTable[Handle].Status == DOWNLOADING) + { + // open for writing + WriteBuffer[HandleTable[Handle].WriteBufNo].BufIndex = (ULONG)(HandleTable[Handle].pFlash) & (SECTORSIZE - 1); + memcpy(WriteBuffer[HandleTable[Handle].WriteBufNo].Buf, (const UBYTE *)((ULONG)(HandleTable[Handle].pFlash) & ~(SECTORSIZE - 1)), WriteBuffer[HandleTable[Handle].WriteBufNo].BufIndex ); + } } } return(Status); } +UWORD dLoaderTell(UBYTE Handle, ULONG* filePos) +{ + UWORD Status; + + Status = dLoaderCheckHandleForReadWrite(Handle); + if (0x8000 > Status) + { + Status = Handle; + *filePos = HandleTable[Handle].FilePosition; + } + return(Status); +} + UWORD dLoaderRead(UBYTE Handle, UBYTE *pBuffer, ULONG *pLength) { UWORD ByteCnt, Status; @@ -721,9 +761,9 @@ UWORD dLoaderRead(UBYTE Handle, UBYTE *pBuffer, ULONG *pLength) ByteCnt = 0; while (ByteCnt < *pLength) { - if (HandleTable[Handle].DataLength <= HandleTable[Handle].ReadLength) + if (HandleTable[Handle].DataSize <= HandleTable[Handle].FilePosition) { - // if the file pointer (ReadLength) is >= file size then return EOF + // if the file pointer (FilePosition) is >= file size then return EOF *pLength = ByteCnt; Status |= ENDOFFILE; } @@ -736,7 +776,7 @@ UWORD dLoaderRead(UBYTE Handle, UBYTE *pBuffer, ULONG *pLength) // move to next byte in the flash HandleTable[Handle].pFlash++; // update our file pointer - HandleTable[Handle].ReadLength++; + HandleTable[Handle].FilePosition++; // if we reach a flash sector boundary then find the next sector pointer if (!((ULONG)(HandleTable[Handle].pFlash) & (SECTORSIZE-1))) { @@ -751,11 +791,11 @@ UWORD dLoaderRead(UBYTE Handle, UBYTE *pBuffer, ULONG *pLength) UWORD dLoaderDelete(UBYTE *pFile) { UWORD LStatus; - ULONG FileLength; - ULONG DataLength; - UBYTE Name[FILENAME_LENGTH + 1]; + ULONG FileSize; + ULONG DataSize; + UBYTE Name[FILENAME_SIZE]; - LStatus = dLoaderFind(pFile, Name, &FileLength, &DataLength, (UBYTE)BUSY); + LStatus = dLoaderFind(pFile, Name, &FileSize, &DataSize, (UBYTE)BUSY); if (!IS_LOADER_ERR(LStatus)) { @@ -767,7 +807,7 @@ UWORD dLoaderDelete(UBYTE *pFile) return(LStatus); } -UWORD dLoaderFind(UBYTE *pFind, UBYTE *pFound, ULONG *pFileLength, ULONG *pDataLength, UBYTE Session) +UWORD dLoaderFind(UBYTE *pFind, UBYTE *pFound, ULONG *pFileSize, ULONG *pDataSize, UBYTE Session) { UWORD Handle; @@ -783,20 +823,20 @@ UWORD dLoaderFind(UBYTE *pFind, UBYTE *pFound, ULONG *pFileLength, ULONG *pD HandleTable[Handle].FileIndex = 0xFFFF; HandleTable[Handle].Status = Session; dLoaderInsertSearchStr((HandleTable[Handle].SearchStr), pFind, &(HandleTable[Handle].SearchType)); - Handle = dLoaderFindNext(Handle, pFound, pFileLength, pDataLength); + Handle = dLoaderFindNext(Handle, pFound, pFileSize, pDataSize); } } return(Handle); } -UWORD dLoaderFindNext(UWORD Handle, UBYTE *pFound, ULONG *pFileLength, ULONG *pDataLength) +UWORD dLoaderFindNext(UWORD Handle, UBYTE *pFound, ULONG *pFileSize, ULONG *pDataSize) { UBYTE Tmp; UWORD ReturnVal; FILEHEADER *pHeader; - *pFileLength = 0; + *pFileSize = 0; ReturnVal = Handle | FILENOTFOUND; @@ -815,13 +855,13 @@ UWORD dLoaderFindNext(UWORD Handle, UBYTE *pFound, ULONG *pFileLength, ULONG if (0x8000 > ReturnVal) { pHeader = (FILEHEADER *)FILEPTRTABLE[HandleTable[Handle].FileIndex]; - if (NULL != pFileLength) + if (NULL != pFileSize) { - *pFileLength = pHeader->FileSize; + *pFileSize = pHeader->FileSize; } - if (NULL != pDataLength) + if (NULL != pDataSize) { - *pDataLength = pHeader->DataSize; + *pDataSize = pHeader->DataSize; } if (NULL != pFound) { @@ -893,15 +933,15 @@ ULONG dLoaderCalcFreeFileSpace(UWORD NosOfFreeSectors) } -UWORD dLoaderGetFilePtr(UBYTE *pFileName, UBYTE *pPtrToFile, ULONG *pFileLength) +UWORD dLoaderGetFilePtr(UBYTE *pFileName, UBYTE *pPtrToFile, ULONG *pFileSize) { UWORD RtnVal; UBYTE FoundFile[16]; FILEHEADER *File; - ULONG DataLength; + ULONG DataSize; - RtnVal = dLoaderFind(pFileName, FoundFile, pFileLength, &DataLength, (UBYTE)BUSY); + RtnVal = dLoaderFind(pFileName, FoundFile, pFileSize, &DataSize, (UBYTE)BUSY); if (0x8000 > RtnVal) { @@ -1265,7 +1305,9 @@ UWORD dLoaderOpenAppend(UBYTE *pFileName, ULONG *pAvailSize) HandleTable[Handle].FileDlPtr = FILEPTRTABLE[HandleTable[Handle].FileIndex]; HandleTable[Handle].Status = (UBYTE)DOWNLOADING; *pAvailSize = FileSize - DataSize; - HandleTable[Handle].DataLength = *pAvailSize; + HandleTable[Handle].RemainingLength = *pAvailSize; + HandleTable[Handle].FilePosition = DataSize; + HandleTable[Handle].DataSize = DataSize; HandleTable[Handle].FileType = pHeader->FileType; } } @@ -1438,6 +1480,23 @@ void dLoaderInsertSearchStr(UBYTE *pDst, UBYTE *pSrc, UBYTE *pSearchType) } } +UWORD dLoaderCheckHandleForReadWrite(UWORD Handle) +{ + if (MAX_HANDLES > Handle) + { + if ((DOWNLOADING != HandleTable[(UBYTE)Handle].Status) && + (BUSY != HandleTable[(UBYTE)Handle].Status)) + { + Handle |= ILLEGALHANDLE; + } + } + else + { + Handle |= ILLEGALHANDLE; + } + return(Handle); +} + UWORD dLoaderCheckHandle(UWORD Handle, UBYTE Operation) { diff --git a/AT91SAM7S256/Source/d_loader.h b/AT91SAM7S256/Source/d_loader.h index e5ecb82..a86283e 100644 --- a/AT91SAM7S256/Source/d_loader.h +++ b/AT91SAM7S256/Source/d_loader.h @@ -86,6 +86,7 @@ UWORD dLoaderWriteData(UWORD Handle, UBYTE *pBuf, UWORD *pLen); UWORD dLoaderCloseHandle(UWORD Handle); UWORD dLoaderOpenRead(UBYTE *pFileName, ULONG *pLength); UWORD dLoaderSeek(UBYTE Handle, SLONG offset, UBYTE from); +UWORD dLoaderTell(UBYTE Handle, ULONG* filePos); UWORD dLoaderRead(UBYTE Handle, UBYTE *pBuf, ULONG *pLength); UWORD dLoaderDelete(UBYTE *pFile); UWORD dLoaderFind(UBYTE *pFind, UBYTE *pFound, ULONG *pFileLength, ULONG *pDataLength, UBYTE Session); -- cgit v1.2.3 From 13201b7a7b0e5a5b8119257105cc3fa683ad99f0 Mon Sep 17 00:00:00 2001 From: tcsadmin Date: Fri, 21 Jan 2011 23:18:35 +0000 Subject: More stripped options git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@34 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 22 +++++++++++++++++++++- AT91SAM7S256/Source/c_cmd.h | 4 ++++ 2 files changed, 25 insertions(+), 1 deletion(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 53a274f..231ebec 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -1042,6 +1042,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); @@ -1064,13 +1065,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; @@ -2178,6 +2182,7 @@ NXT_STATUS cCmdActivateProgram(UBYTE * pFileName) } } +#ifndef STRIPPED //Initialize datalog queue VarsCmd.DatalogBuffer.ReadIndex = 0; VarsCmd.DatalogBuffer.WriteIndex = 0; @@ -2185,6 +2190,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; @@ -3521,6 +3527,7 @@ NXT_STATUS cCmdDatalogWrite(UBYTE * pData, UWORD Length) { NXT_STATUS Status = NO_ERR; +#ifndef STRIPPED if (pData == NULL) return ERR_ARG; @@ -3563,11 +3570,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) @@ -3591,11 +3600,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) @@ -3636,7 +3650,7 @@ NXT_STATUS cCmdDatalogRead(UBYTE * pBuffer, UWORD Length, UBYTE Remove) return (STAT_MSG_EMPTY_MAILBOX); } - +#endif return Status; } @@ -8779,6 +8793,7 @@ void cCmdWriteBenchmarkFile() // NXT_STATUS cCmdWrapDatalogWrite(UBYTE * ArgV[]) { +#ifndef STRIPPED NXT_STATUS Status = NO_ERR; DV_INDEX DVIndex; @@ -8794,6 +8809,9 @@ NXT_STATUS cCmdWrapDatalogWrite(UBYTE * ArgV[]) return Status; else return (NO_ERR); +#else + return (NO_ERR); +#endif } // @@ -8803,8 +8821,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); } diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index 0486b1c..a555e8b 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -332,6 +332,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 // @@ -362,6 +363,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 @@ -560,7 +562,9 @@ typedef struct ULONG StartTick; +#ifndef STRIPPED DATALOG_QUEUE DatalogBuffer; +#endif UBYTE Debugging; UBYTE PauseClump; -- cgit v1.2.3 From fc1e658f15bbb8d4497d189e79b43fab4b964839 Mon Sep 17 00:00:00 2001 From: John Hansen Date: Sun, 13 Mar 2011 23:36:50 +0000 Subject: Added position regulation mode (Nicolas Schodet) git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@37 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 8 + AT91SAM7S256/Source/c_cmd.h | 4 +- AT91SAM7S256/Source/c_output.c | 19 +- AT91SAM7S256/Source/c_output.iom | 14 +- AT91SAM7S256/Source/d_output.c | 419 ++++++++++++++++++++++----------------- AT91SAM7S256/Source/d_output.h | 16 +- 6 files changed, 284 insertions(+), 196 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 231ebec..7a81c71 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -320,6 +320,8 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT TC_UBYTE, //IO_OUT_OPTIONS + TC_SBYTE, //IO_OUT_MAX_SPEED + TC_SBYTE, //IO_OUT_MAX_ACCELERATION //IO_OUT1 TC_UBYTE, //IO_OUT_FLAGS @@ -338,6 +340,8 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT TC_UBYTE, //IO_OUT_OPTIONS + TC_SBYTE, //IO_OUT_MAX_SPEED + TC_SBYTE, //IO_OUT_MAX_ACCELERATION //IO_OUT2 TC_UBYTE, //IO_OUT_FLAGS @@ -356,6 +360,8 @@ TYPE_CODE IO_TYPES_OUT[IO_OUT_FIELD_COUNT] = TC_SLONG, //IO_OUT_BLOCK_TACH_COUNT TC_SLONG, //IO_OUT_ROTATION_COUNT TC_UBYTE, //IO_OUT_OPTIONS + TC_SBYTE, //IO_OUT_MAX_SPEED + TC_SBYTE, //IO_OUT_MAX_ACCELERATION }; @@ -1402,6 +1408,8 @@ void cCmdInit(void* pHeader) IO_PTRS_OUT[IO_OUT_BLOCK_TACH_COUNT + i * IO_OUT_FPP] = (void*)&(pOut->BlockTachoCount); IO_PTRS_OUT[IO_OUT_ROTATION_COUNT + i * IO_OUT_FPP] = (void*)&(pOut->RotationCount); IO_PTRS_OUT[IO_OUT_OPTIONS + i * IO_OUT_FPP] = (void*)&(pOut->Options); + IO_PTRS_OUT[IO_OUT_MAX_SPEED + i * IO_OUT_FPP] = (void*)&(pOut->MaxSpeed); + IO_PTRS_OUT[IO_OUT_MAX_ACCELERATION + i * IO_OUT_FPP] = (void*)&(pOut->MaxAcceleration); } //Initialize IO_PTRS_IN diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index a555e8b..bb4891f 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -207,9 +207,11 @@ enum IO_OUT_BLOCK_TACH_COUNT, IO_OUT_ROTATION_COUNT, IO_OUT_OPTIONS, + IO_OUT_MAX_SPEED, + IO_OUT_MAX_ACCELERATION, }; -#define IO_OUT_FPP 16 +#define IO_OUT_FPP 18 #define IO_OUT_FIELD_COUNT (IO_OUT_FPP * NO_OF_OUTPUTS) // diff --git a/AT91SAM7S256/Source/c_output.c b/AT91SAM7S256/Source/c_output.c index 212cc89..9e7c2e0 100644 --- a/AT91SAM7S256/Source/c_output.c +++ b/AT91SAM7S256/Source/c_output.c @@ -43,7 +43,6 @@ void cOutputInit(void* pHeader) { UBYTE Tmp; - IOMapOutput.PwnFreq = REGULATION_TIME; for(Tmp = 0; Tmp < NO_OF_OUTPUTS; Tmp++) { OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); @@ -57,7 +56,11 @@ void cOutputInit(void* pHeader) pOut->RegIParameter = DEFAULT_I_GAIN_FACTOR; pOut->RegDParameter = DEFAULT_D_GAIN_FACTOR; pOut->Options = 0x00; + pOut->MaxSpeed = DEFAULT_MAX_SPEED; + pOut->MaxAcceleration = DEFAULT_MAX_ACCELERATION; } + IOMapOutput.RegulationTime = REGULATION_TIME; + IOMapOutput.RegulationOptions = 0; VarsOutput.TimeCnt = 0; dOutputInit(); } @@ -66,7 +69,6 @@ void cOutputCtrl(void) { UBYTE Tmp; - dOutputUpdateRegulationTime(IOMapOutput.PwnFreq); for(Tmp = 0; Tmp < NO_OF_OUTPUTS; Tmp++) { OUTPUT * pOut = &(IOMapOutput.Outputs[Tmp]); @@ -95,11 +97,6 @@ void cOutputCtrl(void) dOutputSetSpeed (Tmp, pOut->RunState, pOut->Speed, pOut->SyncTurnParameter); } } - if (pOut->Flags & UPDATE_TACHO_LIMIT) - { - pOut->Flags &= ~UPDATE_TACHO_LIMIT; - dOutputSetTachoLimit(Tmp, pOut->TachoLimit, pOut->Options); - } if (pOut->Flags & UPDATE_MODE) { pOut->Flags &= ~UPDATE_MODE; @@ -130,13 +127,21 @@ void cOutputCtrl(void) dOutputDisableRegulation(Tmp); } } + if (pOut->Flags & UPDATE_TACHO_LIMIT) + { + pOut->Flags &= ~UPDATE_TACHO_LIMIT; + dOutputSetTachoLimit(Tmp, pOut->TachoLimit, pOut->Options); + } if (pOut->Flags & UPDATE_PID_VALUES) { pOut->Flags &= ~UPDATE_PID_VALUES; dOutputSetPIDParameters(Tmp, pOut->RegPParameter, pOut->RegIParameter, pOut->RegDParameter); + dOutputSetMax(Tmp, pOut->MaxSpeed, pOut->MaxAcceleration); } } } + dOutputSetRegulationTime(IOMapOutput.RegulationTime); + dOutputSetRegulationOptions(IOMapOutput.RegulationOptions); dOutputCtrl(); cOutputUpdateIomap(); } diff --git a/AT91SAM7S256/Source/c_output.iom b/AT91SAM7S256/Source/c_output.iom index f6191bf..989a0c4 100644 --- a/AT91SAM7S256/Source/c_output.iom +++ b/AT91SAM7S256/Source/c_output.iom @@ -52,9 +52,10 @@ enum // Constant related to RegMode enum { - REGULATION_MODE_IDLE, - REGULATION_MODE_MOTOR_SPEED, - REGULATION_MODE_MOTOR_SYNC + REGULATION_MODE_IDLE = 0, + REGULATION_MODE_MOTOR_SPEED = 1, + REGULATION_MODE_MOTOR_SYNC = 2, + REGULATION_MODE_MOTOR_POS = 4, }; typedef struct @@ -76,15 +77,16 @@ typedef struct UBYTE Overloaded; /* R - True if the motor has been overloaded within speed control regulation */ SBYTE SyncTurnParameter; /* RW - Holds the turning parameter need within MoveBlock */ UBYTE Options; - UBYTE SpareTwo; - UBYTE SpareThree; + SBYTE MaxSpeed; /* RW - Maximum speed for absolute regulation, or 0 for no limit */ + SBYTE MaxAcceleration; /* RW - Maximum acceleration for absolute regulation, or 0 for no limit */ }OUTPUT; typedef struct { OUTPUT Outputs[NO_OF_OUTPUTS]; - UBYTE PwnFreq; // use for frequency of checking regulation mode + UBYTE RegulationTime; /* RW - Interval between regulation computations */ + UBYTE RegulationOptions; /* RW - Options for regulation, see REGOPTION_* */ }IOMAPOUTPUT; diff --git a/AT91SAM7S256/Source/d_output.c b/AT91SAM7S256/Source/d_output.c index 73719cc..3e9e1cd 100644 --- a/AT91SAM7S256/Source/d_output.c +++ b/AT91SAM7S256/Source/d_output.c @@ -17,26 +17,38 @@ #include "d_output.h" #include "d_output.r" +#include + #define MAXIMUM_SPEED_FW 100 #define MAXIMUM_SPEED_RW -100 #define INPUT_SCALE_FACTOR 100 +#define SPEED_TIME 100 #define MAX_COUNT_TO_RUN 10000000 #define REG_MAX_VALUE 100 #define REG_MIN_VALUE -100 +#define RAMP_TIME_INTERVAL 25 // Measured in 1 mS => 25 mS interval + #define RAMPDOWN_STATE_RAMPDOWN 0 #define RAMPDOWN_STATE_CONTINIUE 1 #define COAST_MOTOR_MODE 0 +void dOutputRampDownSynch(UBYTE MotorNr); +SLONG dOutputBound(SLONG In, SLONG Limit); +SLONG dOutputPIDRegulation(UBYTE MotorNr, SLONG PositionError); +SLONG dOutputFractionalChange(SLONG Value, SWORD *FracError); +void dOutputSpeedFilter(UBYTE MotorNr, SLONG PositionDiff); + +#define ABS(a) (((a) < 0) ? -(a) : (a)) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + #define OPTION_HOLDATLIMIT 0x10 #define OPTION_RAMPDOWNTOLIMIT 0x20 -void dOutputRampDownSynch(UBYTE MotorNr); - typedef struct { SBYTE MotorSetSpeed; // Motor setpoint in speed @@ -57,6 +69,7 @@ typedef struct SWORD MotorRampUpIncrement; // Tell the number of count between each speed adjustment during Ramp-up SWORD AccError; // Accumulated Error, used within the integrator of the PID regulation SWORD OldPositionError; // Used within position regulation + SWORD PositionFracError; // Fractionnal position error of last position update SLONG DeltaCaptureCount; // Counts within last regulation time-periode SLONG CurrentCaptureCount; // Total counts since motor counts has been reset SLONG MotorTachoCountToRun; // Holds number of counts to run. 0 = Run forever @@ -64,6 +77,10 @@ typedef struct SLONG MotorRampTachoCountOld; // Used to hold old position during Ramp-Up SLONG MotorRampTachoCountStart; // Used to hold position when Ramp-up started SLONG RotationCaptureCount; // Counter for additional rotation counter + SLONG MotorTachoCountTarget; // For absolute regulation, position on which regulation is done + SWORD SpeedFracError; // Fractionnal speed error of last speed update + SBYTE MotorMaxSpeed; // For absolute regulation, maximum motor speed + SBYTE MotorMaxAcceleration; // For absolute regulation, maximum motor acceleration UBYTE RunStateAtLimit; // what run state to switch to when tacho limit is reached UBYTE RampDownToLimit; UBYTE Spare2; @@ -80,8 +97,8 @@ typedef struct static MOTORDATA MotorData[3]; static SYNCMOTORDATA SyncData; - -static UBYTE RegTime; +static UBYTE RegulationTime; +static UBYTE RegulationOptions; UBYTE dOutputRunStateAtLimit(MOTORDATA * pMD) { @@ -111,7 +128,7 @@ void dOutputInit(void) ENABLECaptureMotorB; ENABLECaptureMotorC; - RegTime = REGULATION_TIME; + RegulationTime = REGULATION_TIME; for (Temp = 0; Temp < 3; Temp++) { @@ -125,10 +142,13 @@ void dOutputInit(void) pMD->MotorTachoCountToRun = 0; pMD->MotorRunForever = 1; pMD->AccError = 0; + pMD->PositionFracError = 0; pMD->RegulationTimeCount = 0; pMD->RegPParameter = DEFAULT_P_GAIN_FACTOR; pMD->RegIParameter = DEFAULT_I_GAIN_FACTOR; pMD->RegDParameter = DEFAULT_D_GAIN_FACTOR; + pMD->MotorMaxSpeed = DEFAULT_MAX_SPEED; + pMD->MotorMaxAcceleration = DEFAULT_MAX_ACCELERATION; pMD->RegulationMode = 0; pMD->MotorOverloaded = 0; pMD->RunStateAtLimit = MOTOR_RUN_STATE_IDLE; @@ -181,11 +201,12 @@ void dOutputCtrl(void) pMD->MotorSetSpeed = 0; pMD->MotorActualSpeed = 0; pMD->MotorTargetSpeed = 0; + pMD->PositionFracError = 0; pMD->RegulationTimeCount = 0; pMD->DeltaCaptureCount = 0; pMD->MotorRunState = MOTOR_RUN_STATE_RUNNING; } - if (pMD->RegulationTimeCount > RegTime) + if (pMD->RegulationTimeCount > RegulationTime) { pMD->RegulationTimeCount = 0; dOutputRegulateMotor(MotorNr); @@ -237,6 +258,7 @@ void dOutputEnableRegulation(UBYTE MotorNr, UBYTE RegulationMode) { pMD->AccError = 0; pMD->OldPositionError = 0; + pMD->PositionFracError = 0; } if (pMD->RegulationMode & REGSTATE_SYNCHRONE) @@ -265,6 +287,7 @@ void dOutputResetTachoLimit(UBYTE MotorNr) MOTORDATA * pMD = &(MotorData[MotorNr]); pMD->CurrentCaptureCount = 0; pMD->MotorTachoCountToRun = 0; + pMD->MotorTachoCountTarget = 0; if (pMD->RegulationMode & REGSTATE_SYNCHRONE) { @@ -300,13 +323,38 @@ void dOutputSetPIDParameters(UBYTE MotorNr, UBYTE NewRegPParameter, UBYTE NewReg pMD->RegDParameter = NewRegDParameter; } +/* Set maximum speed and acceleration */ +void dOutputSetMax(UBYTE MotorNr, SBYTE NewMaxSpeed, SBYTE NewMaxAcceleration) +{ + MOTORDATA * pMD = &(MotorData[MotorNr]); + pMD->MotorMaxSpeed = NewMaxSpeed; + pMD->MotorMaxAcceleration = NewMaxAcceleration; +} + +/* Set new regulation time */ +void dOutputSetRegulationTime(UBYTE NewRegulationTime) +{ + RegulationTime = NewRegulationTime; +} + +/* Set new regulation options */ +void dOutputSetRegulationOptions(UBYTE NewRegulationOptions) +{ + RegulationOptions = NewRegulationOptions; +} + /* Called to set TachoCountToRun which is used for position control for the model */ /* Must be called before motor start */ /* TachoCountToRun is calculated as a signed value */ void dOutputSetTachoLimit(UBYTE MotorNr, ULONG BlockTachoCntToTravel, UBYTE Options) { MOTORDATA * pMD = &(MotorData[MotorNr]); - if (BlockTachoCntToTravel == 0) + if (pMD->RegulationMode & REGSTATE_POSITION) + { + pMD->MotorRunForever = 0; + pMD->MotorTachoCountToRun = BlockTachoCntToTravel; + } + else if (BlockTachoCntToTravel == 0) { pMD->MotorRunForever = 1; pMD->RunStateAtLimit = MOTOR_RUN_STATE_IDLE; @@ -354,6 +402,7 @@ void dOutputSetSpeed (UBYTE MotorNr, UBYTE NewMotorRunState, SBYTE Speed, SBYTE { pMD->AccError = 0; pMD->OldPositionError = 0; + pMD->PositionFracError = 0; pMD->RegulationTimeCount = 0; pMD->DeltaCaptureCount = 0; TACHOCountReset(MotorNr); @@ -696,6 +745,11 @@ void dOutputRampDownFunction(UBYTE MotorNr) void dOutputTachoLimitControl(UBYTE MotorNr) { MOTORDATA * pMD = &(MotorData[MotorNr]); + if (pMD->RegulationMode & REGSTATE_POSITION) + { + /* No limit when doing absolute position regulation. */ + return; + } if (pMD->MotorRunForever == 0) { if (pMD->RegulationMode & REGSTATE_SYNCHRONE) @@ -811,6 +865,17 @@ void dOutputMotorIdleControl(UBYTE MotorNr) } } +/* Check if Value is between [-Limit:Limit], and change it if it is not the case. */ +SLONG dOutputBound(SLONG Value, SLONG Limit) +{ + if (Value > Limit) + return Limit; + else if (Value < -Limit) + return -Limit; + else + return Value; +} + /* Function called to evaluate which regulation princip that need to run and which MotorNr to use (I.E.: Which motors are synched together)*/ void dOutputRegulateMotor(UBYTE MotorNr) { @@ -818,7 +883,11 @@ void dOutputRegulateMotor(UBYTE MotorNr) UBYTE SyncMotorTwo; MOTORDATA * pMD = &(MotorData[MotorNr]); - if (pMD->RegulationMode & REGSTATE_REGULATED) + if (pMD->RegulationMode & REGSTATE_POSITION) + { + dOutputAbsolutePositionRegulation(MotorNr); + } + else if (pMD->RegulationMode & REGSTATE_REGULATED) { dOutputCalculateMotorPosition(MotorNr); } @@ -836,92 +905,167 @@ void dOutputRegulateMotor(UBYTE MotorNr) } } -/* Regulation function used when Position regulation is enabled */ -/* The regulation form only control one motor at a time */ -void dOutputCalculateMotorPosition(UBYTE MotorNr) +/* Compute PID regulation result for a given error. */ +SLONG dOutputPIDRegulation(UBYTE MotorNr, SLONG PositionError) { - SWORD PositionError; - SWORD PValue; - SWORD IValue; - SWORD DValue; - SWORD TotalRegValue; - SWORD NewSpeedCount = 0; + SLONG PValue, DValue, IValue, TotalRegValue; - MOTORDATA * pMD = &(MotorData[MotorNr]); - NewSpeedCount = (SWORD)((pMD->MotorTargetSpeed * MAX_CAPTURE_COUNT)/INPUT_SCALE_FACTOR); + MOTORDATA *pMD = &MotorData[MotorNr]; + + PositionError = dOutputBound (PositionError, 32000); + + PValue = PositionError * (pMD->RegPParameter/REG_CONST_DIV); + + DValue = (PositionError - pMD->OldPositionError) * (pMD->RegDParameter/REG_CONST_DIV); + pMD->OldPositionError = PositionError; - PositionError = (SWORD)(pMD->OldPositionError - pMD->DeltaCaptureCount) + NewSpeedCount; + pMD->AccError = (pMD->AccError * 3 + PositionError) / 4; + pMD->AccError = dOutputBound (pMD->AccError, 800); - //Overflow control on PositionError - if (pMD->RegPParameter != 0) + IValue = pMD->AccError * (pMD->RegIParameter/REG_CONST_DIV); + + if (!(RegulationOptions & REGOPTION_NO_SATURATION)) { - if (PositionError > (SWORD)(32000 / pMD->RegPParameter)) - { - PositionError = (SWORD)(32000 / pMD->RegPParameter); - } - if (PositionError < (SWORD)(-(32000 / pMD->RegPParameter))) - { - PositionError = (SWORD)(-(32000 / pMD->RegPParameter)); - } + PValue = dOutputBound (PValue, REG_MAX_VALUE); + IValue = dOutputBound (IValue, REG_MAX_VALUE); } - else + + TotalRegValue = (PValue + IValue + DValue) / 2; + + if (TotalRegValue > MAXIMUM_SPEED_FW) { - if (PositionError > (SWORD)32000) - { - PositionError = (SWORD)32000; - } - if (PositionError < (SWORD)-32000) - { - PositionError = (SWORD)-32000; - } + TotalRegValue = MAXIMUM_SPEED_FW; + pMD->MotorOverloaded = 1; + } + else if (TotalRegValue < MAXIMUM_SPEED_RW) + { + TotalRegValue = MAXIMUM_SPEED_RW; + pMD->MotorOverloaded = 1; } - PValue = PositionError * (SWORD)(pMD->RegPParameter/REG_CONST_DIV); - if (PValue > (SWORD)REG_MAX_VALUE) + return TotalRegValue; +} + +/* Compute integer change for this regulation step, according to value and + * previous fractional error. + * Used for values which are expressed as "per SPEED_TIME" to translate them + * in "per RegulationTime".*/ +SLONG dOutputFractionalChange(SLONG Value, SWORD *FracError) +{ + SLONG IntegerChange; + + /* Apply fractional change in case RegulationTime is different from + * SPEED_TIME. In this case, fractional part is accumulated until it reach + * one half (with "one" being SPEED_TIME). This is use the same principle + * as the Bresenham algorithm. */ + IntegerChange = Value * RegulationTime / SPEED_TIME; + *FracError += Value * RegulationTime % SPEED_TIME; + if (*FracError > SPEED_TIME / 2) { - PValue = REG_MAX_VALUE; + *FracError -= SPEED_TIME; + IntegerChange++; } - if (PValue <= (SWORD)REG_MIN_VALUE) + else if (*FracError < -SPEED_TIME / 2) { - PValue = REG_MIN_VALUE; + *FracError += SPEED_TIME; + IntegerChange--; } - DValue = (PositionError - pMD->OldPositionError) * (SWORD)(pMD->RegDParameter/REG_CONST_DIV); - pMD->OldPositionError = PositionError; - - pMD->AccError = (pMD->AccError * 3) + PositionError; - pMD->AccError = pMD->AccError / 4; + return IntegerChange; +} - if (pMD->AccError > (SWORD)800) +/* Filter speed according to motor maximum speed and acceleration. */ +void dOutputSpeedFilter(UBYTE MotorNr, SLONG PositionDiff) +{ + /* Inputs: + * - PositionDiff: difference between current position and position to reach. + * - MotorMaxAcceleration: maximum speed change per regulation period (or 0 for unlimited). + * - MotorMaxSpeed: maximum motor speed (can not be zero, or do not call this function). + * Output: + * - MotorTargetSpeed: speed to regulate on motor. + */ + MOTORDATA *pMD = &MotorData[MotorNr]; + SLONG IdealSpeed; + SLONG PositionDiffAbs = ABS (PositionDiff); + /* Should be able to brake on time. */ + if (pMD->MotorMaxAcceleration + && PositionDiffAbs < MAXIMUM_SPEED_FW * MAXIMUM_SPEED_FW / 2) { - pMD->AccError = 800; + IdealSpeed = sqrtf (2 * PositionDiffAbs * pMD->MotorMaxAcceleration); + IdealSpeed = dOutputBound (IdealSpeed, pMD->MotorMaxSpeed); } - if (pMD->AccError <= (SWORD)-800) + else { - pMD->AccError = -800; + /* Do not go past consign. */ + IdealSpeed = MIN (PositionDiffAbs, pMD->MotorMaxSpeed); } - IValue = pMD->AccError * (SWORD)(pMD->RegIParameter/REG_CONST_DIV); - - if (IValue > (SWORD)REG_MAX_VALUE) + /* Apply sign. */ + if (PositionDiff < 0) { - IValue = REG_MAX_VALUE; + IdealSpeed = -IdealSpeed; } - if (IValue <= (SWORD)REG_MIN_VALUE) + /* Check max acceleration. */ + SLONG SpeedDiff = IdealSpeed - pMD->MotorTargetSpeed; + if (pMD->MotorMaxAcceleration) { - IValue = REG_MIN_VALUE; + SLONG MaxSpeedChange = dOutputFractionalChange (pMD->MotorMaxAcceleration, &pMD->SpeedFracError); + SpeedDiff = dOutputBound (SpeedDiff, MaxSpeedChange); } - TotalRegValue = (SWORD)((PValue + IValue + DValue)/2); + pMD->MotorTargetSpeed += SpeedDiff; +} - if (TotalRegValue > MAXIMUM_SPEED_FW) +/* Absolute position regulation. */ +void dOutputAbsolutePositionRegulation(UBYTE MotorNr) +{ + /* Inputs: + * - CurrentCaptureCount: current motor position. + * - MotorTachoCountToRun: wanted position, filtered with speed and acceleration. + * + * Outputs: + * - MotorActualSpeed: power to be applied to motor. + * - MotorOverloaded: set if MotorActualSpeed reached maximum. + */ + SLONG PositionChange; + SLONG PositionError; + SLONG TotalRegValue; + + MOTORDATA *pMD = &MotorData[MotorNr]; + + /* Position update. */ + if (pMD->MotorMaxSpeed) { - TotalRegValue = MAXIMUM_SPEED_FW; - pMD->MotorOverloaded = 1; + dOutputSpeedFilter (MotorNr, pMD->MotorTachoCountToRun - pMD->MotorTachoCountTarget); + PositionChange = dOutputFractionalChange (pMD->MotorTargetSpeed * MAX_CAPTURE_COUNT / INPUT_SCALE_FACTOR, &pMD->PositionFracError); + pMD->MotorTachoCountTarget += PositionChange; } - if (TotalRegValue < MAXIMUM_SPEED_RW) + else { - TotalRegValue = MAXIMUM_SPEED_RW; - pMD->MotorOverloaded = 1; + pMD->MotorTachoCountTarget = pMD->MotorTachoCountToRun; } + + /* Regulation. */ + PositionError = pMD->MotorTachoCountTarget - pMD->CurrentCaptureCount; + TotalRegValue = dOutputPIDRegulation (MotorNr, PositionError); + + pMD->MotorActualSpeed = TotalRegValue; +} + +/* Regulation function used when Position regulation is enabled */ +/* The regulation form only control one motor at a time */ +void dOutputCalculateMotorPosition(UBYTE MotorNr) +{ + SLONG PositionError; + SLONG TotalRegValue; + SLONG PositionChange; + + MOTORDATA * pMD = &(MotorData[MotorNr]); + + PositionChange = dOutputFractionalChange (pMD->MotorTargetSpeed * MAX_CAPTURE_COUNT / INPUT_SCALE_FACTOR, &pMD->PositionFracError); + + PositionError = (pMD->OldPositionError - pMD->DeltaCaptureCount) + PositionChange; + + TotalRegValue = dOutputPIDRegulation (MotorNr, PositionError); + pMD->MotorActualSpeed = (SBYTE)TotalRegValue; } @@ -930,11 +1074,11 @@ void dOutputCalculateMotorPosition(UBYTE MotorNr) void dOutputSyncMotorPosition(UBYTE MotorOne, UBYTE MotorTwo) { SLONG TempTurnParameter; - SWORD PValue; - SWORD IValue; - SWORD DValue; - SWORD CorrectionValue; - SWORD MotorSpeed; + SLONG PValue; + SLONG IValue; + SLONG DValue; + SLONG CorrectionValue; + SLONG MotorSpeed; MOTORDATA * pOne = &(MotorData[MotorOne]); MOTORDATA * pTwo = &(MotorData[MotorTwo]); @@ -981,136 +1125,48 @@ void dOutputSyncMotorPosition(UBYTE MotorOne, UBYTE MotorTwo) //SyncTurnParameter should ophold difference between the two motors. SyncData.SyncTachoDif += SyncData.SyncTurnParameter; + SyncData.SyncTachoDif = dOutputBound (SyncData.SyncTachoDif, 500); - if (SyncData.SyncTachoDif > 500) - { - SyncData.SyncTachoDif = 500; - } - if (SyncData.SyncTachoDif < -500) - { - SyncData.SyncTachoDif = -500; - } + PValue = SyncData.SyncTachoDif * (pOne->RegPParameter/REG_CONST_DIV); - /* - if ((SWORD)SyncData.SyncTachoDif > 500) - { - SyncData.SyncTachoDif = 500; - } - if ((SWORD)SyncData.SyncTachoDif < -500) - { - SyncData.SyncTachoDif = -500; - } - */ - - PValue = (SWORD)SyncData.SyncTachoDif * (SWORD)(pOne->RegPParameter/REG_CONST_DIV); - - DValue = ((SWORD)SyncData.SyncTachoDif - SyncData.SyncOldError) * (SWORD)(pOne->RegDParameter/REG_CONST_DIV); + DValue = (SyncData.SyncTachoDif - SyncData.SyncOldError) * (pOne->RegDParameter/REG_CONST_DIV); SyncData.SyncOldError = (SWORD)SyncData.SyncTachoDif; SyncData.SyncAccError += (SWORD)SyncData.SyncTachoDif; + SyncData.SyncAccError = dOutputBound (SyncData.SyncAccError, 900); - if (SyncData.SyncAccError > (SWORD)900) - { - SyncData.SyncAccError = 900; - } - if (SyncData.SyncAccError < (SWORD)-900) - { - SyncData.SyncAccError = -900; - } - IValue = SyncData.SyncAccError * (SWORD)(pOne->RegIParameter/REG_CONST_DIV); + IValue = SyncData.SyncAccError * (pOne->RegIParameter/REG_CONST_DIV); - CorrectionValue = (SWORD)((PValue + IValue + DValue)/4); + CorrectionValue = (PValue + IValue + DValue) / 4; MotorSpeed = (SWORD)pOne->MotorTargetSpeed - CorrectionValue; - - if (MotorSpeed > (SWORD)MAXIMUM_SPEED_FW) - { - MotorSpeed = MAXIMUM_SPEED_FW; - } - else - { - if (MotorSpeed < (SWORD)MAXIMUM_SPEED_RW) - { - MotorSpeed = MAXIMUM_SPEED_RW; - } - } + MotorSpeed = dOutputBound (MotorSpeed, MAXIMUM_SPEED_FW); if (pOne->TurnParameter != 0) { if (pOne->MotorTargetSpeed > 0) { - if (MotorSpeed > (SWORD)pOne->MotorTargetSpeed) - { - MotorSpeed = (SWORD)pOne->MotorTargetSpeed; - } - else - { - if (MotorSpeed < (SWORD)-pOne->MotorTargetSpeed) - { - MotorSpeed = -pOne->MotorTargetSpeed; - } - } + MotorSpeed = dOutputBound (MotorSpeed, pOne->MotorTargetSpeed); } else { - if (MotorSpeed < (SWORD)pOne->MotorTargetSpeed) - { - MotorSpeed = (SWORD)pOne->MotorTargetSpeed; - } - else - { - if (MotorSpeed > (SWORD)-pOne->MotorTargetSpeed) - { - MotorSpeed = -pOne->MotorTargetSpeed; - } - } + MotorSpeed = dOutputBound (MotorSpeed, -pOne->MotorTargetSpeed); } } pOne->MotorActualSpeed = (SBYTE)MotorSpeed; MotorSpeed = (SWORD)pTwo->MotorTargetSpeed + CorrectionValue; - - if (MotorSpeed > (SWORD)MAXIMUM_SPEED_FW) - { - MotorSpeed = MAXIMUM_SPEED_FW; - } - else - { - if (MotorSpeed < (SWORD)MAXIMUM_SPEED_RW) - { - MotorSpeed = MAXIMUM_SPEED_RW; - } - } + MotorSpeed = dOutputBound (MotorSpeed, MAXIMUM_SPEED_FW); if (pOne->TurnParameter != 0) { if (pTwo->MotorTargetSpeed > 0) { - if (MotorSpeed > (SWORD)pTwo->MotorTargetSpeed) - { - MotorSpeed = (SWORD)pTwo->MotorTargetSpeed; - } - else - { - if (MotorSpeed < (SWORD)-pTwo->MotorTargetSpeed) - { - MotorSpeed = -pTwo->MotorTargetSpeed; - } - } + MotorSpeed = dOutputBound (MotorSpeed, pTwo->MotorTargetSpeed); } else { - if (MotorSpeed < (SWORD)pTwo->MotorTargetSpeed) - { - MotorSpeed = (SWORD)pTwo->MotorTargetSpeed; - } - else - { - if (MotorSpeed > (SWORD)-pTwo->MotorTargetSpeed) - { - MotorSpeed = -pTwo->MotorTargetSpeed; - } - } + MotorSpeed = dOutputBound (MotorSpeed, -pTwo->MotorTargetSpeed); } } pTwo->MotorActualSpeed = (SBYTE)MotorSpeed; @@ -1125,7 +1181,8 @@ void dOutputMotorReachedTachoLimit(UBYTE MotorNr) UBYTE MotorOne, MotorTwo; MotorOne = MotorNr; MotorTwo = 0xFF; - for(UBYTE i = MOTOR_A; i <= MOTOR_C; i++) { + UBYTE i; + for(i = MOTOR_A; i <= MOTOR_C; i++) { if (i == MotorOne) continue; if (MotorData[i].RegulationMode & REGSTATE_SYNCHRONE) { @@ -1167,7 +1224,10 @@ void dOutputSyncTachoLimitControl(UBYTE MotorNr) MotorOne = MotorNr; MotorTwo = 0xFF; - for(UBYTE i = MOTOR_A; i <= MOTOR_C; i++) { + // Synchronisation is done two times, as this function is called for each + // motor. This is the same behaviour as previous code. + UBYTE i; + for(i = MOTOR_A; i <= MOTOR_C; i++) { if (i == MotorOne) continue; if (MotorData[i].RegulationMode & REGSTATE_SYNCHRONE) { @@ -1332,7 +1392,8 @@ void dOutputResetSyncMotors(UBYTE MotorNr) MotorOne = MotorNr; MotorTwo = 0xFF; - for(UBYTE i = MOTOR_A; i <= MOTOR_C; i++) { + UBYTE i; + for(i = MOTOR_A; i <= MOTOR_C; i++) { if (i == MotorOne) continue; if (MotorData[i].RegulationMode & REGSTATE_SYNCHRONE) { @@ -1348,13 +1409,16 @@ void dOutputResetSyncMotors(UBYTE MotorNr) MOTORDATA * pTwo = &(MotorData[MotorTwo]); pMD->CurrentCaptureCount = 0; pMD->MotorTachoCountToRun = 0; + pMD->MotorTachoCountTarget = 0; pTwo->CurrentCaptureCount = 0; pTwo->MotorTachoCountToRun = 0; + pTwo->MotorTachoCountTarget = 0; } else { pMD->CurrentCaptureCount = 0; pMD->MotorTachoCountToRun = 0; + pMD->MotorTachoCountTarget = 0; } } @@ -1365,7 +1429,8 @@ void dOutputRampDownSynch(UBYTE MotorNr) MotorOne = MotorNr; MotorTwo = 0xFF; - for(UBYTE i = MOTOR_A; i <= MOTOR_C; i++) { + UBYTE i; + for(i = MOTOR_A; i <= MOTOR_C; i++) { if (i == MotorOne) continue; if (MotorData[i].RegulationMode & REGSTATE_SYNCHRONE) { @@ -1419,7 +1484,3 @@ void dOutputRampDownSynch(UBYTE MotorNr) } } -void dOutputUpdateRegulationTime(UBYTE rt) -{ - RegTime = rt; -} diff --git a/AT91SAM7S256/Source/d_output.h b/AT91SAM7S256/Source/d_output.h index ce78246..20955a6 100644 --- a/AT91SAM7S256/Source/d_output.h +++ b/AT91SAM7S256/Source/d_output.h @@ -39,10 +39,17 @@ #endif +#define DEFAULT_MAX_SPEED 80 +#define DEFAULT_MAX_ACCELERATION 20 + +#define REGULATION_TIME 100 // Measured in 1 mS => 100 mS regulation interval +//#define REGULATION_TIME 10 // Measured in 1 mS, regulation interval + //Constant reffering to RegMode parameter #define REGSTATE_IDLE 0x00 #define REGSTATE_REGULATED 0x01 #define REGSTATE_SYNCHRONE 0x02 +#define REGSTATE_POSITION 0x04 //Constant reffering to RunState parameter #define MOTOR_RUN_STATE_IDLE 0x00 @@ -51,9 +58,8 @@ #define MOTOR_RUN_STATE_RAMPDOWN 0x40 #define MOTOR_RUN_STATE_HOLD 0x60 - -#define RAMP_TIME_INTERVAL 25 // Measured in 1 mS => 25 mS interval -#define REGULATION_TIME 100 // Measured in 1 mS => 100 mS regulation interval +// Constants related to Regulation Options +#define REGOPTION_NO_SATURATION 0x01 // Do not limit intermediary regulation results enum { @@ -76,12 +82,16 @@ void dOutputResetTachoLimit(UBYTE MotorNr); void dOutputResetBlockTachoLimit(UBYTE MotorNr); void dOutputResetRotationCaptureCount(UBYTE MotorNr); void dOutputSetPIDParameters(UBYTE MotorNr, UBYTE NewRegPParameter, UBYTE NewRegIParameter, UBYTE NewRegDParameter); +void dOutputSetMax(UBYTE MotorNr, SBYTE NewMaxSpeed, SBYTE NewMaxAcceleration); +void dOutputSetRegulationTime(UBYTE NewRegulationTime); +void dOutputSetRegulationOptions(UBYTE NewRegulationOptions); void dOutputRegulateMotor(UBYTE MotorNr); void dOutputCalculateRampUpParameter(UBYTE MotorNr, ULONG NewTachoLimit); void dOutputRampDownFunction(UBYTE MotorNr); void dOutputRampUpFunction(UBYTE MotorNr); void dOutputTachoLimitControl(UBYTE MotorNr); +void dOutputAbsolutePositionRegulation(UBYTE MotorNr); void dOutputCalculateMotorPosition(UBYTE MotorNr); void dOutputSyncMotorPosition(UBYTE MotorOne, UBYTE MotorTwo); void dOutputMotorReachedTachoLimit(UBYTE MotorNr); -- cgit v1.2.3 From a7a9ea475496801f3fd2f800f30177dd737df215 Mon Sep 17 00:00:00 2001 From: afanofosc Date: Sat, 2 Jul 2011 16:14:36 +0000 Subject: Added a new random number generator system call (RandomEx) git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@39 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 49 ++++++++++++++++++++++++++++++++++++++++++++- AT91SAM7S256/Source/c_cmd.h | 1 + 2 files changed, 49 insertions(+), 1 deletion(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 7a81c71..80b8267 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -258,7 +258,7 @@ static pSysCall SysCallFuncs[SYSCALL_COUNT] = cCmdWrapMemoryManager, cCmdWrapReadLastResponse, cCmdWrapFileTell, - cCmdWrapUndefinedSysCall // 100 system call slots + cCmdWrapRandomEx // 100 system call slots // don't forget to update SYSCALL_COUNT in c_cmd.h }; @@ -9704,6 +9704,53 @@ NXT_STATUS cCmdWrapFileTell(UBYTE * ArgV[]) 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); diff --git a/AT91SAM7S256/Source/c_cmd.h b/AT91SAM7S256/Source/c_cmd.h index bb4891f..22f1a2e 100644 --- a/AT91SAM7S256/Source/c_cmd.h +++ b/AT91SAM7S256/Source/c_cmd.h @@ -916,6 +916,7 @@ 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[]); -- cgit v1.2.3 From b0472321014e8fcb110f4cecad734bb6a7e27ae0 Mon Sep 17 00:00:00 2001 From: afanofosc Date: Sun, 3 Jul 2011 03:37:56 +0000 Subject: ARROP fixes for floating point arrays git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@40 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 53 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 6 deletions(-) (limited to 'AT91SAM7S256/Source/c_cmd.c') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 80b8267..112d13a 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -44,6 +44,7 @@ #include #include // for sqrt, abs, and trig stuff #include +#include #define VMProfilingCode 0 @@ -7356,13 +7357,30 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) 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 (IS_SIGNED_TYPE(TypeCode3) && (Arg1 != OPARR_SUMSQR)) + 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++) @@ -7402,9 +7420,12 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) cCmdSetVal(pArg2, TypeCode2, uval); } // calculate standard deviation - if (Arg1 == OPARR_STD) { + if (Arg1 == OPARR_STD) + { float avg, delta, sumSqr; - if (IS_SIGNED_TYPE(TypeCode3)) + if (TypeCode3 == TC_FLOAT) + avg = fval/numElements; + else if (IS_SIGNED_TYPE(TypeCode3)) avg = (float)sval/numElements; else avg = (float)uval/numElements; @@ -7412,14 +7433,18 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) 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 + else // unsigned types delta = (float)cCmdGetVal(pArg3, TypeCode3) - avg; sumSqr += (delta*delta); } delta = sqrtf(sumSqr / (numElements - (float)1.0)); - if (IS_SIGNED_TYPE(TypeCode3)) + 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); @@ -7428,7 +7453,23 @@ NXT_STATUS cCmdInterpOther(CODE_WORD * const pCode) else if ((Arg1 == OPARR_MIN) || (Arg1 == OPARR_MAX)) { pArg2 = cCmdResolveDataArg(Arg2, 0, &TypeCode2); - if (IS_SIGNED_TYPE(TypeCode3)) + 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; -- cgit v1.2.3