From 2bc3cfe70d2377bf1dfcfc5016166ae2af68a5e8 Mon Sep 17 00:00:00 2001 From: afanofosc Date: Wed, 4 Jan 2012 13:45:24 +0000 Subject: Fixed a bug with signed longs Tweaked HS inPtr code. git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@43 c9361245-7fe8-9947-84e8-057757c4e366 --- AT91SAM7S256/Source/c_cmd.c | 8 +++++++- AT91SAM7S256/Source/c_comm.c | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'AT91SAM7S256') diff --git a/AT91SAM7S256/Source/c_cmd.c b/AT91SAM7S256/Source/c_cmd.c index 66b53f7..fca498f 100644 --- a/AT91SAM7S256/Source/c_cmd.c +++ b/AT91SAM7S256/Source/c_cmd.c @@ -3760,9 +3760,14 @@ void cCmdSetValFlt(void * pVal, TYPE_CODE TypeCode, float NewVal) switch (TypeCode) { case TC_ULONG: + { + *(ULONG*)pVal = (ULONG)NewVal; + } + break; + case TC_SLONG: { - *(ULONG*)pVal = NewVal; + *(SLONG*)pVal = (SLONG)NewVal; } break; @@ -9582,6 +9587,7 @@ NXT_STATUS cCmdWrapCommHSCheckStatus(UBYTE * ArgV[]) //cCmdWrapCommHSWrite //ArgV[0]: (return) Status byte, SBYTE //ArgV[1]: Buffer +//ArgV[2]: BufferLength -- not used for Write NXT_STATUS cCmdWrapCommHSWrite(UBYTE * ArgV[]) { SBYTE * pReturnVal = (SBYTE*)(ArgV[0]); diff --git a/AT91SAM7S256/Source/c_comm.c b/AT91SAM7S256/Source/c_comm.c index 651e309..57f6af1 100644 --- a/AT91SAM7S256/Source/c_comm.c +++ b/AT91SAM7S256/Source/c_comm.c @@ -1539,7 +1539,7 @@ void cCommReceivedHiSpeedData(void) { IOMapComm.HsInBuf.Buf[IOMapComm.HsInBuf.InPtr] = VarsComm.HsModuleInBuf.Buf[Tmp]; IOMapComm.HsInBuf.InPtr++; - if (IOMapComm.HsInBuf.InPtr > (SIZE_OF_HSBUF - 1)) + if (IOMapComm.HsInBuf.InPtr >= SIZE_OF_HSBUF) { IOMapComm.HsInBuf.InPtr = 0; } -- cgit v1.2.3