aboutsummaryrefslogtreecommitdiffhomepage
path: root/AT91SAM7S256/Source/d_input.r
diff options
context:
space:
mode:
authorafanofosc2011-08-03 23:38:17 +0000
committerNicolas Schodet2012-02-01 00:20:26 +0100
commitc38f18c2a32e3c91a9d0b1c18c0a52ee3d47f12e (patch)
tree4b96a12a8cc885ccf96625c1cd3ab98901b670fc /AT91SAM7S256/Source/d_input.r
parent7514a2c489b810faf022a04321c894645e67f3df (diff)
Fast I2C support
Direct digital pin control support CommHSRead system call changes to support partial buffer reads git-svn-id: https://mindboards.svn.sourceforge.net/svnroot/mindboards/lms_nbcnxc/branches/version_131@42 c9361245-7fe8-9947-84e8-057757c4e366
Diffstat (limited to 'AT91SAM7S256/Source/d_input.r')
-rw-r--r--AT91SAM7S256/Source/d_input.r12
1 files changed, 10 insertions, 2 deletions
diff --git a/AT91SAM7S256/Source/d_input.r b/AT91SAM7S256/Source/d_input.r
index 3dc567e..c7226de 100644
--- a/AT91SAM7S256/Source/d_input.r
+++ b/AT91SAM7S256/Source/d_input.r
@@ -15,6 +15,8 @@
#ifdef SAM7S256
+void rInputWaitUS(UBYTE usec);
+
void rInputWait2uS(void);
void rInputWait20uS(void);
void rInputWait30uS(void);
@@ -175,8 +177,6 @@ static ULONG ColorTimer[NO_OF_INPUTS];
CHECKColorState(Port, Status); \
}
-#define SETClkHi(Port) INPUTClkHigh(Port) \
-
#define COLORTx(Port, Data) { \
UBYTE BitCnt; \
BitCnt = 0; \
@@ -284,6 +284,14 @@ void GetAdVals(COLORSTRUCT *pColStruct, UBYTE Color, UBYTE Status)
}
}
+void rInputWaitUS(UBYTE usec)
+{
+ // OSC = 48054850L
+ ULONG Count = (OSC/16)/(1000000L/usec);
+ ULONG PitTmr = (*AT91C_PITC_PIIR);
+ while (((*AT91C_PITC_PIIR) - PitTmr) < Count);
+}
+
void rInputWait2uS(void)
{
ULONG PitTmr;