Home
PDF Version
Contents
1. 000008 29 Decompress Eie EE se IEN 29 defineErrorHandler 44 CloseluparComprescedFile 30 et e Close OntputCompressedFile 30 elay MS sureres eege ee COBEGpIn v 05 05 geisicei tered essere 31 Delays EE si EE 31 DelayTicks eg Sek EE 47 cof_pktXsend EE 32 ee 48 Cof_seEread cccccccceeeeeeeeees 37 COf_SerAGEtC oe ceeeeeeeecceece neon 33 v Dynamic C Function Reference Manual E errlogFormatEntry 06 51 errlogFormatRegDump 52 errlogFormatStackDump 53 errlogGetHeaderInfo 49 errlogGetMessage 000068 54 errlogGetNthEntry 50 errlogReadHeader ue 54 EXCEPTION nesae arein 55 OXI Ay Aid Oi oak 56 Eegen 57 F fabs eannan ie aain 58 flosante 59 IO nS I REEE ETE 60 fcreate CR asvdeegek dees kee 61 fcreate_unused 2 000 62 fcreate_unused FS2 63 leie ee Ane ee renee 64 fdelete FS2 AN veegek d deEANEe 65 fflush FS2 EE 66 eelere 67 FEECPIXINV oo resi eens 68 EE 69 fftr alihV essiens seinir 70 flash_erasechip 0000000 71 flash_erasesector ssesesseeeeee 72 flash_gettype ccceceeeeeeeees 13 flash_imit snusen ninii 74 flash_read cceeececececeeeeeeeeeees 75 flash_readsector cccceeeeeeeees 76 flash_sector2xwindow T1 flash_writesector sessess0eeeee 78 ler n r a 79 ee 80 fopen_rd FS1 en 81 fopen_rd FS2 oc eeeeee 82 TOPE Weeden 83 fopen_
2. sssesseseesessees 338 Serres d e ee EN codes 339 serDwrFree en 338 ser Beloge ap sde Sees cedcags 325 serDwrite een 339 SET EE EEGEN 325 serEclose ee 325 Ler Ato Ee aaa a 326 serEdatabits 325 serBflowcontrolOn 0660 327 serEflowcontrolOff 326 SEPB BCC hisi nonen 328 serEflowcontrolOn 327 SerBgetError ioniese 329 SE KEE E SC SCTBOPeN eeeceeeeeeeeeeeees 330 SO PEE ee Ee eeeee Sef Bparity Ee ERAN ENKEN 331 SETEOPEN en 330 eee EE 332 SerEparity en a SCTBPUC pessos siri iiis 333 serEpeek nen Se EE 334 SELEPULC Een 333 ET EE 335 SELEPUIS eg ege eege 334 SCrBrdFree ugi een deg dee 335 serErdFlush en 335 E LEE EE 336 serbrdbiree cecceessenceees 335 SerBread seinri iiin 337 serErdUsed eent 336 STE Deeg 338 serEread ccceeessseseeceeeeeees 337 serBwrFree sssssssssssesesseseee 338 a SS Sate O O ATIA SETEWIFICE nianna Sia EE EE 339 Ser GAB EE 325 serFclose PEE Ee 325 DEE ENER 326 SerFdatabits 325 serCfowcontrolOn ee 327 serFflowcontrolOff 326 SEC Ete berere sedi eee 328 serFflowcontrolON 327 serCgetError eececceeesseceeeeeeee 329 SELF GEI ege gege sege e 328 serCheckParity c ssecsseeseeeeeee 324 SerFgetError eeeeee seen 329 serCopen Ze deer 330 SELFOPED Een 330 ix Dynamic C Function Reference Manual SOLE Parity ssostni 331 SCPE Peek Sesidir piy 332 SErFpUIC sinesi isties 333 SOPEPUUS Nee tssis eg ech 33
3. DESCRIPTION Returns a null terminated string containing a stack dump using the data in errLogEntry Stack Dump 0024 04f1 d378 c146 c400 a108 2404 0000 RETURN VALUE The null terminated string describe above LIBRARY ERRORS LIB Chapter 1 Function Descriptions 53 errlogGetMessage root char errlogGetMessage DESCRIPTION Returns a null terminated string containing the 8 byte message in errLogEntry RETURN VALUE A null terminated string LIBRARY ERRORS LIB errlogReadHeader root int errlogReadHeader DESCRIPTION Reads error log header into the structure errlogInfo RETURN VALUE 0 Success entry checksum OK 1 Failure entry checksum not OK LIBRARY ERRORS LIB 54 Dynamic C Function Reference Manual exception int exception int errCode DESCRIPTION This function is called by Rabbit libraries when a runtime error occurs It puts information relevant to the runtime error on the stack and calls the default runtime error handler pointed to by the ERROR_ EXIT macro To define your own error handler see the defineErrorHandler function When the error handler is called the following information will be on the stack Location on Stack Description SP 0 Return address for error handler call SP 2 Runtime error code SP 4 can be used for additional information SP 6 XPC when exception was called upper byte SP 8 Address where exception
4. DESCRIPTION This function deletes a mutual exclusion semaphore and readies all tasks pending on it Note that e This function must be used with care Tasks that would normally expect the presence of the mutex MUST check the return code of OSMutexPend e This call can potentially disable interrupts for a long time The interrupt disable time is directly proportional to the number of tasks waiting on the mutex e Because ALL tasks pending on the mutex will be readied you MUST be careful because the resource s will no longer be guarded by the mutex PARAMETERS pevent Pointer to mutex s event control block opt May be one of the following delete options e OS DEL MO PEND Delete mutex only if no task pending e OS DEL ALWAYS Deletes the mutex even if tasks are wait ing In this case all pending tasks will be readied err Pointer to an error code that can contain one of the following values e OS NO ERR The call was successful and the mutex was de leted e OS ERR DEL ISR Attempted to delete the mutex from an ISR e OS ERR INVALID OPT An invalid option was specified e OS ERR TASK WAITING One or more tasks were waiting on the mutex e OS ERR EVENT _TYPE If you didn t pass a pointer to a mu tex pointer RETURN VALUE pevent On error OS_ EVENT 0 Mutex was deleted LIBRARY OS MUTEX C Chapter 1 Function Descriptions 205 OSMutexPend void OSMutexPend OS EVENT pevent INT16U timeout INT8U err DESCRIPTIO
5. where X A B C D DESCRIPTION This single user cofunction writes a null terminated string to port X It yields to other tasks for as long as the input buffer may be locked or whenever the buffer may become full as characters are written This function is non reentrant Starting with Dynamic C version 7 25 the functions cof_serEputs and cof _serFputs may be used with the Rabbit 3000 microprocessor PARAMETERS str Null terminated character string to write LIBRARY RS232 LIB EXAMPLE writes a null terminated character string repeatedly main Gomsic Chet Sil sielle est serAopen 19200 lo opanaaktes p while 1 loophead costate wid cof serAputs s serAclose 36 Dynamic C Function Reference Manual cof serXread int cof serXread void data int length unsigned long tmout where X A B C D E F DESCRIPTION This single user cofunction reads length characters from port X or until tmout milli seconds transpires between characters read It yields to other tasks for as long as the input buffer is locked or whenever the buffer becomes empty as characters are read A timeout will never occur if no characters have been read This function is non reentrant Starting with Dynamic C version 7 25 the functions cof_serEread and cof _serFread may be used with the Rabbit 3000 microprocessor PARAMETERS data Data structure into which characters are read length The num
6. 0 Error or Len was zero ERRNO VALUES EBADED File descriptor not opened or is read only EINVAL len less than zero 0 Success but len was zero EIO I O error ENOSPC extent out of space EBUSY file opened more than once This is only possible if Foi SHIFT DOESNT _UPDATE FPOS is not defined which is the default case LIBRARY FS2 LIB SEE ALSO fread FS2 fwrite FS2 Chapter 1 Function Descriptions 109 fwrite FS1 int fwrite File f char buf int Leni DESCRIPTION Appends len bytes from the source buffer to the end of the file PARAMETERS f A pointer to the file to write to buf A pointer to the source buffer len The number of bytes to write RETURN VALUE The number of bytes written Success 0 Failure LIBRARY FILESYSTEM LIB 110 Dynamic C Function Reference Manual fwrite FS2 int fwrite File void buf int len DESCRIPTION Write data to file opened for writing The data is written starting at the current position This is zero start of file when it is opened or created but may be changed by fread fwrite fshift or fSeek functions After writing the data the current po sition is advanced to the position just after the last byte written Thus sequential calls to fwrite will add or append data contiguously Unlike the previous file system FILESYSTEM LIB this library allows files to be overwritten not just appended Internally overwrite and ap
7. INT8U OSSemQuery OS EVENT pevent OS SEM DATA pdata DESCRIPTION Obtains information about a semaphore PARAMETERS pevent Pointer to the desired semaphore s event control block pdata Pointer to a data structure that will hold information about the sema phore RETURN VALUE OS MO ERR The call was successful and the message was sent OS ERR EVENT TYPE Attempting to obtain data from a non semaphore OS ERR PEVENT NULL If the pevent parameter is a null pointer LIBRARY UCOS2 LIB SEE ALSO OSSemAccept OSSemCreate OSSemPend OSSemPost Chapter 1 Function Descriptions 223 OSSetTickPerSec INT16U OSSetTickPerSec INT16U TicksPerSec DESCRIPTION Sets the amount of ticks per second from 1 2048 Ticks per second defaults to 64 If this function is used the define OS TICKS PER_SEC needs to be changed so that the time delay functions work correctly Since this function uses integer division the ac tual ticks per second may be slightly different that the desired ticks per second PARAMETERS TicksPerSec Unsigned 16 bit integer RETURN VALUE The actual ticks per second set as an unsigned 16 bit integer LIBRARY UCOS2 LIB SEE ALSO OSStart Oosstart void OSStart void DESCRIPTION Starts the multitasking process allowing uC OS II to manage the tasks that have been cre ated Before OSStart is called OSInit MUST have been called and at least one task MUST have been created This functio
8. LIBRARY FFT LIB SEE ALSO fftcplxinv fftreal fftrealinv hanncplx hannreal powerspectrum Chapter 1 Function Descriptions 67 fftcplxinv void fftcplxinv int x int N int blockexp DESCRIPTION Computes the inverse complex DFT of the N point complex spectrum contained in the ar ray x and returns the complex result in x N must be a power of 2 and lie between 4 and 1024 An invalid N causes a RANGE exception The value of blockexp is increased by 1 each time array x has to be scaled to avoid arithmetic overflow The value of blockexp is also decreased by Jog AN to include the LIN factor in the definition of the inverse DFT PARAMETERS x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent LIBRARY FFT LIB SEE ALSO fftcplx fftreal fftrealinv hanncplx hannreal powerspectrum 68 Dynamic C Function Reference Manual fftreal void fftreal int x int N int blockexp DESCRIPTION Computes the N point positive frequency complex spectrum of the 2N point real se quence in array x The 2N point real sequence in array x is replaced with its N point pos itive frequency complex spectrum The value of blockexp is increased by 1 each time array x has to be scaled to avoid arithmetic overflow The imaginary part of the X 0 term stored in x 1 is set to the real part of the fmax term The 2N point real sequence is
9. printf 0g n f printf 1g n f printf 2g n f printf 3g n f printf 7 3g n f printf 0 3g n f printf 9 3g n f printf 15 3g n f printf 8 3g n f printf 8 3g n f p pointer Specifies a 16 bit logical pointer int i iptr i 0 ptr amp i printf p n ptr lp pointer Specifies a 32 bit physical pointer long i iptr i 0 ptr amp i printf slp n ptr bf 888888 0 8 888880E 06 888 888790 888 888790 888 888790 8 9E 02 8 9E 02 8 89E 02 888 889 KKKKKKK 888 889 888 889 888 889 888 889 888 889 prints value of ptr in hex logical memory location of i prints value of ptr in hex physical memory location of i 290 Dynamic C Function Reference Manual x hexadecimal Result in lowercase Width specifier 1 short values must not include 1 without 1 long values are treated as short Precision specifier n must be at least as large as total width treats argument as if it were unsigned short n n 30000 printf x n printf 5x n printf 6x n printf 3x n unsigned short n n 40000 printf Sx long m n m 25536 n 0x10000 Oxabc GR Prints x n m o printf x n Zz X hexadecimal 7530 7530 7530 KKK 9c40 9c40 ab
10. which specifies whether e is to be inserted before or after where 284 Dynamic C Function Reference Manual preorder continued RETURN VALUE Returns the parameter value e unless e was null in which case the value of plast when called at function entry would be returned IMPORTANT If null is returned that means that some other task context or ISR modified the linked list while this operation was in progress In this case the application should call this function again with the same parame ters since this operation will NOT have completed This would be a rare occurrence however multitasking applications should handle this case cor rectly EXAMPLES void r void s s pnext p pfirst p sis second element r plast p ris last element preorder p s r POOL INSERT AFTER fs r then s will become the new last element You can use null parameters to perform the common case of moving the last element tothe head of the list preorder p NULL NULL POOL INSERT BEFORE which is identical to preorder p plast p pfirst p POOL INSERT BEFORE LIBRARY POOL LIB SEE ALSO pool init pool link plast pfirst pnext pprev pmovebetween Chapter 1 Function Descriptions 285 printf int printf char fmt DESCRIPTION This function is similar to sprintf but outputs the formatted string to the Stdio win dow Prior to Dynamic
11. Chapter 1 Function Descriptions 143 i2c check ack int i2c check ack DESCRIPTION Checks if slave pulls data low for ACK on clock pulse Allows for clocks stretching on SCL going high RETURN VALUE 0 ACK sent from slave 1 NAK sent from slave 1 Timeout occurred LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor 144 Dynamic C Function Reference Manual i2c init void i2c init DESCRIPTION Sets up the SCL and SDA port pins for open drain output LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor i2c read char int i2c read _ char char ch DESCRIPTION Reads 8 bits from the slave Allows for clocks stretching on all SCL going high This is not in the protocol for IC but allows DC slaves to be implemented on slower devices PARAMETERS ch A one character return buffer RETURN VALUE 0 Success 1 Clock stretching timeout LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the DC Bus with a Rabbit Microprocessor Chapter 1 Function Descriptions 145 i2c_ send ack int i2c send ack DESCRIPTION Sends ACK sequence to slave ACK is usually sent after a successful transfer where more bytes are going to be read RETURN VALUE 0 Success 1 Clock stretching timeout LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor i2c send nak
12. Dynamic C For Rabbit Semiconductor Microprocessors Integrated C Development System Function Reference Manual 019 0113 040930 F ii Table of Contents Alphabetical Listing of Dynamic C Functions Group Listing of Dynamic C Functions Arithmetic Bit Manipulation Character Data Encryption Dynamic Memory Allocation ECC Error Handling Extended Memory Fast Fourier Transforms File Compression File System Floating Point Math Global Positioning System HDLC Protocol Rabbit 3000 UO 12C Protocol Interrupts Low Level Flash Access MD5 MicroC OS II Chapter 1 Function Descriptions Notice to Users xiii Miscellaneous Multitasking NAND Flash Number to String Conversion Partitions Pulse Width Modulation Rabbit 3000 Quadrature Decoder Rabbit 3000 Rabbit 3000 Real Time Clock Serial Communication Serial Flash Serial Packet Driver SPI Stdio String Manipulation String to Number Conversion System User Block Watchdogs 423 Z World Software End User License Agreement 425 iv Alphabetical Listing of Dynamic C Functions Sym bols Cof_serAgets ceececseeceeeeeees 34 CO ser pute ceeeeeecc seco enone 35 _SysIsSoftReset en 384 COf_SerAPUtS cccecceseeeeeeees 36 ES VE 407 cof_serAread EE 37 SRAV ALL eessen 410 Cof_SerAWTite cccccccssessscesseeess 38 A cof_serBgete cceeeceec esse teens 33 COf_SerBgets osete 34 A E EE E EE alot tate 1 cof _serBputC ee 35 E 2 COF_
13. LIBRARY PART LIB SEE ALSO 158 Dynamic C Function Reference Manual mbr FormatDrive int mbr FormatDrive mbr drive drive DESCRIPTION Creates or rewrites the Master Boot Record MBR on the drive given The routine will only rewrite the Boot Loader code if an MBR already exists on the drive The existing par tition table will be preserved To modify an existing partition table use mbr CreatePartion Note This routine is NOT PROTECTED from power loss and can make existing partitions inaccessible if interrupted PARAMETERS drive Pointer to a drive structure RETURN VALUE 0 for success EEXIST if the MBR exists writing Boot Loader only EIO for Error trying to read the drive device or structure EINVAL if the Drive structure is not valid ENOMEM if memory for page buffer is not available EPERM if drive has mounted or FS enumerated partition s EBUSY if the device is busy LIBRARY PART LIB SEE ALSO Chapter 1 Function Descriptions 159 mbr MountPartition int mbr MountPartition mbr drive drive int pnum DESCRIPTION Marks the partition as mounted It is the higher level codes responsibility to verify that the fs part pointer for a partition is not in use null as this would indicate that another system is in the process of mounting this device PARAMETERS drive Pointer to a drive structure pnum Partition number to be mounted RETURN VALUE 0 for success EINVAL if Drive or P
14. a message a semaphore a queue the task will be prevented from running when the event arrives PARAMETERS prio The priority of the task to suspend RETURN VALUE OS MO ERR The requested task is suspended OS TASK SUS_IDLE Attempting to suspend the idle task not allowed OS PRIO INVALID The priority specified is higher than the maximum allowed Le 2 OS LOWEST PRIO or OS_ PRIO_ SELF is not specified OS TASK SUS_PRIO The task to suspend does not exist LIBRARY UCOS2 LIB SEE ALSO OSTaskResume Chapter 1 Function Descriptions 235 OSTaskSwHook void OSTaskSwHook void DESCRIPTION Called whenever a context switch happens The task control block TCB for the task that is ready to run is accessed via the global variable OSTCBHighRdy and the TCB for the task that is being switched out is accessed via the global variable OSTCBCur LIBRARY UCOS2 LIB OSTCBInitHook void OSTCBInitHook OS TCB ptcb DESCRIPTION This function is called by OSTCBInit after setting up most of the task control block TCB Interrupts may or may not be enabled during this call PARAMETER ptcb Pointer to the TCB of the task being created LIBRARY UCOS2 LIB 236 Dynamic C Function Reference Manual OSTimeDly void OSTimeDly INT16U ticks DESCRIPTION Delays execution of the task for the specified number of clock ticks No delay will result if ticks is 0 If ticks is gt 0 then a context switch will result PARAME
15. bration constants passwords and other non volatile data The User block is protected from normal write to the flash device and can only be accessed through this function or writeUserBlock This function writes a set of scattered data from root memory to the User block If the data to be written is in contiguous bytes using the function writeUserBlock is suffi cient Use of writeUserBlockArray is recommended when the data to be written is in noncontiguous bytes as may be the case for something like network configuration data See the Rabbit Microprocessor Designer s Handbook for more information about the System ID and User blocks Note Portions of the User block may be used by the BIOS for your board to store values e g calibration constants See the manual for your particular board for more information before overwriting any part of the User block Backwards Compatibility If the System ID block on the board doesn t support the User block or no System ID block is present then the 8K bytes starting 16K bytes from the top of the primary flash are des ignated User block area This only works if the flash type is small sector Z World manu factured boards with large sector flash will have valid System ID and User blocks so is not a problem on Z World boards If users create boards with large sector flash they must install System ID blocks version 3 or greater to use this function or modify this function PARAMETERS addr A
16. e PARAM EPARITY Configures serial port to check generate for even parity e PARAM 2STOP Configures serial port to generate 2 stop bits LIBRARY RS232 LIB Chapter 1 Function Descriptions 331 serXpeek int serXpeek where X A B C D E F DESCRIPTION Returns 1st character in input buffer X without removing it from the buffer This function is non reentrant Starting with Dynamic C version 7 25 the functions serEpeek and serFpeek may be used with the Rabbit 3000 microprocessor RETURN VALUE An integer with 1st character in buffer in the low byte 1 if the buffer is empty LIBRARY RS232 LIB 332 Dynamic C Function Reference Manual serxXputc int serXputc char c where X A B C D E F DESCRIPTION Writes a character to serial port X write buffer This function is non reentrant Starting with Dynamic C version 7 25 the functions serEputc and serFputc may be used with the Rabbit 3000 microprocessor PARAMETERS c Character to write to serial port X write buffer RETURN VALUE O if buffer locked or full 1 if character sent LIBRARY RS232 LIB EXAMPLE main echoes characters ime ei serAopen 19200 while 1 if c serAgetc 1 serAputc c serAclose Chapter 1 Function Descriptions 333 serxXputs int serXputs char s where X A B C D E F DESCRIPTION Calls serXwrite s strlen s This function is no
17. float pow float x float y DESCRIPTION Raises x to the yth power PARAMETERS x Value to be raised y Exponent RETURN VALUE x to the yth power LIBRARY MATH LIB SEE ALSO exp powl0 sqrt pow10 float powl10 float zi DESCRIPTION 10 to the power of x PARAMETERS x Exponent RETURN VALUE 10 raised to power x LIBRARY MATH LIB SEE ALSO pow exp sqrt Chapter 1 Function Descriptions 279 powerspectrum void powerspectrum int x int N int blockexp DESCRIPTION Computes the power spectrum from a complex spectrum according to Power k Re X k Im X k The N point power spectrum replaces the N point complex spectrum The power of each complex spectral component is computed as a 32 bit fraction Its more significant 16 bits replace the imaginary part of the component its less significant 16 bits replace the real part If the complex input spectrum is a positive frequency spectrum computed by fftreal the imaginary part of the X 0 term stored x 1 will contain the real part of the fmax term and will affect the calculation of the dc power If the dc power or the max power is important the fmax term should be retrieved from x 1 and x 1 set to zero before calling powerspectrum The power of the k th term can be retrieved via P k long amp x 2k 2 blockexp The value of blockexp is first doubled to reflect the squaring operation applied to all
18. was called from RETURN VALUE Runtime error code passed to it LIBRARY ERRORS LIB SEE ALSO defineErrorHandler Chapter 1 Function Descriptions 55 exit void exit int exitcode DESCRIPTION Stops the program and returns exit code to Dynamic C Dynamic C uses values above 128 for run time errors When not debugging exit will run an infinite loop causing a watchdog timeout if the watchdog is enabled PARAMETERS exitcode Error code passed by Dynamic C LIBRARY SYS LIB 56 Dynamic C Function Reference Manual exp float exp float x DESCRIPTION Computes the exponential of real float value x PARAMETERS x Value to compute RETURN VALUE Returns the value of e If x gt 89 8 approx the function returns INF and signals a range error If x lt 89 8 ap prox the function returns 0 and signals a range error LIBRARY MATH LIB SEE ALSO log log1l0 frexp ldexp pow powl0 sqrt Chapter 1 Function Descriptions 57 fabs float fabs float x DESCRIPTION Computes the float absolute value of float x PARAMETERS x Value to compute RETURN VALUE x if x gt 0 else x LIBRARY MATH LIB SEE ALSO abs 58 Dynamic C Function Reference Manual fclose void fclose File f DESCRIPTION Closes a file PARAMETERS f The pointer to the file to close LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 59 fcreat
19. C flag set There are no more elements C flag clear NC BCDE points to last element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxlast pxprev_fast Chapter 1 Function Descriptions 303 pxnext long pxnext Pool t p long e DESCRIPTION Get the next allocated element in an xmem pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined You can easily iterate through all of the allocated elements of a root pool using the follow ing construct long e Pool t p for e pxfirst p e e pxnext p e PARAMETERS P Pool handle structure as previously passed to pool_xinit e Previous element address obtained by e g pxfirst This must be an allocated element in the given pool otherwise the results are undefined Be careful when iterating through a list and deleting ele ments using pxf ree once the element is deleted is is no longer valid to pass its address to this function If this parameter is zero then the result is the same as pxfirst This ensures the invariant pxnext p pxprev p ell e RETURN VALUE 0 There are no more elements 0 Pointer to the next allocated element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxalloc pxfree pxfirst pxprev 304 Dynamic C Function Reference Manual pxnext fast xmem long pxnext fast Pool t p long e DESCRIPTION Get the next allocate
20. Chapter 1 Function Descriptions 217 OSSchedLock void OSSchedLock void DESCRIPTION Prevents task rescheduling This allows an application to prevent context switches until it is ready for them There must be a matched call to OSSchedUnlock for every call to OSSchedLock LIBRARY UCOS2 LIB SEE ALSO OSSchedUnlock OSSchedUnlock void OSSchedUnlock void DESCRIPTION Allow task rescheduling There must be a matched call to OSSchedUnlock forev ery call to OSSchedLock LIBRARY UCOS2 LIB SEE ALSO OSSchedLock 218 Dynamic C Function Reference Manual OSSemAccept INT16U OSSemAccept OS EVENT pevent DESCRIPTION This function checks the semaphore to see if a resource is available or if an event occurred Unlike OSSemPend OSSemAccept does not suspend the calling task if the re source is not available or the event did not occur PARAMETERS pevent Pointer to the desired semaphore s event control block RETURN VALUE Semaphore value If gt 0 semaphore value is decremented value is returned before the decrement If 0 then either resource is unavailable event did not occur or null or invalid pointer was passed to the function LIBRARY UCOS2 LIB SEE ALSO OSSemCreate OSSemPend OSSemPost OSSemQuery Chapter 1 Function Descriptions 219 OSSemCreate OS EVENT OSSemCreate INT16U cnt DESCRIPTION Creates a semaphore PARAMETERS ent The initial value
21. LIBRARY POOL LIB SEE ALSO pool init pool link palloc pfree plast pnext Chapter 1 Function Descriptions 281 pprev fast xmem void pprev_ fast Pool t p void e DESCRIPTION Get the previous allocated element in a root pool The pool MUST be set to being a linked pool by using pool _link p lt non zero gt otherwise the results are undefined This is an assembler only version of pprev Do not call this function from C REGISTERS Parameters in IX DE respectively Trashes F DE Return value in HL carry flag EXAMPLE ld ix my_ pool ld de current element lcall pprev_fast jr c no_ more elems HL points to previously allocated element PARAMETERS P Pool handle structure as previously passed to pool_init Pass this in IX register e Current element address in DE register See pprev for fuller de scription RETURN VALUE C flag set HL 0 There are no more elements C flag clear NC HL points to previous element LIBRARY POOL LIB SEE ALSO pool_init pool_link palloc pprev 282 Dynamic C Function Reference Manual premain void premain DESCRIPTION Dynamic C calls premain to start initialization functions such as VdInit The final thing premain does is call main This function should never be called by an application program It is included here for informational purposes only LIBRARY PROGRAM LIB Chapter 1 Function Descriptions 283 preorder
22. Starting with Dynamic C version 7 25 the functions serEwrFlush and serFwrFlush may be used with the Rabbit 3000 microprocessor LIBRARY RS232 LIB serxXwrFree int serXwrfree where X A B C D E F DESCRIPTION Calculates the free space in the serial port transmit buffer This function is non reentrant Starting with Dynamic C version 7 25 the functions serEwrFree and serFwrFree may be used with the Rabbit 3000 microprocessor RETURN VALUE The number of characters the serial port transmit buffer can accept before becoming full LIBRARY RS232 LIB 338 Dynamic C Function Reference Manual serXwrite int serXwrite void data int length X A B C D E F DESCRIPTION Transmits length bytes to serial port X This function is non reentrant Starting with Dynamic C version 7 25 the functions serEwrite and serFwrite may be used with the Rabbit 3000 microprocessor PARAMETERS data Data structure to write to serial port X length Number of bytes to write RETURN VALUE The number of bytes successfully written to the serial port LIBRARY RS232 LIB EXAMPLE writes a block of characters repeatedly main const char s Hello Z World serAopen 19200 while 1 serAwrite s strlen s serAclose Chapter 1 Function Descriptions 339 Set void set void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Sets specif
23. The base frequency is the frequency without pulse spreading Pulse spreading see pwm_set will increase the frequency by a factor of 4 This function is intended for use with the Rabbit 3000 microprocessor PARAMETER frequency Requested frequency in Hz RETURN VALUE The actual frequency that was set This will be the closest possible match to the requested frequency LIBRARY R3000 LIB Chapter 1 Function Descriptions 293 pwm set int pwm set int channel int duty cycle int options DESCRIPTION Sets a duty cycle for one of the pulse width modulation PWM channels The duty cycle can be a value from 0 to 1024 where 0 is logic low the whole time and 1024 is logic high the whole time Option flags are used to enable features on an individual PWM channel Bit masks for these are e PWM SPREAD sets pulse spreading The duty cycle is spread over four seperate pulses to increase the pulse frequency e PWM _OPENDRAIN sets the PWM output pin to be open drain instead of a normal push pull logic output This function is intended for use with the Rabbit 3000 microprocessor PARAMETERS channel channel 0 to 3 duty cycle value from 0 to 1024 options combination of optional flags see above RETURN VALUE 0 Success 1 Error an invalid channel number is used 2 Error requested duty_cycle is invalid LIBRARY R3000 LIB 294 Dynamic C Function Reference Manual pxalloc long pxalloc Pool t
24. The following checks are available FSCK_ HEADERS Block headers FSCK_CHECKSUMS Data checksums FSCK_VERSION Block versions from a failed write RETURN VALUE 0 Success 0 Failure this is a bitmask indicating which checks failed LIBRARY FILESYSTEM LIB 94 Dynamic C Function Reference Manual fseek FS1 int fseek File f long to char whence DESCRIPTION Places the read pointer at a desired location in the file PARAMETERS f A pointer to the file to seek into to The number of bytes to move the read pointer This can be a positive or negative number whence The location in the file to offset from This is one of the following constants SEEK_ SET Seek from the beginning of the file SEEK_CUR Seek from the current read position in the file SEEK_END Seek from the end of the file EXAMPLE To seek to 10 bytes from the end of the file f use fseek f 10 SEEK_END To rewind the file f by 5 bytes use fseek f 5 SEEK CUR RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 95 fseek FS2 int fseek File f long where char whence DESCRIPTION Set the current read write position of the file Bytes in a file are sequentially numbered starting at zero If the current position is zero then the first byte of the file will be read or written If the position equals the file length then no data can be read but any write will
25. and rad convert radians and degrees PARAMETERS x Angle in radians RETURN VALUE Cosine of the argument LIBRARY MATH LIB SEE ALSO acos cosh sin tan cosh float cosh float x DESCRIPTION Computes the hyperbolic cosine of real float value x This functions takes a unitless num ber as a parameter and returns a unitless number PARAMETERS x Value to compute RETURN VALUE Hyperbolic cosine If Ixl gt 89 8 approx the function returns INF and signals a range error LIBRARY MATH LIB SEE ALSO cos acos sin sinh tan tanh 42 Dynamic C Function Reference Manual DecompressFile void DecompressFile ZFILE input ZFILE output DESCRIPTION This is the expansion routine for the LZSS algorithm It performs the opposite operation of CompressFile The input file a compressed ZFILE opened with OpenInputCompressedFile is decompressed to the output file an empty FS2 ZFILE opened with OpenOutput CompressedFile PARAMETERS input Input bit file output Output bit file RETURN VALUE None LIBRARY LZSS LIB Chapter 1 Function Descriptions 43 defineErrorHandler void defineErrorHandler void errfcn DESCRIPTION Sets the BIOS function pointer for runtime errors to the function pointed to by errfcn This user defined function must be in root memory Specify root at the start of the func tion definition to ensure this When a runtime error occurs the following inf
26. bit is set 0 bit is clear LIBRARY UTIL LIB SEE ALSO bit Chapter 1 Function Descriptions BitRdPortE root int BitRdPortE unsigned int port int bitnumber DESCRIPTION Returns 1 or 0 matching the value of the bit read from the specified external I O port PARAMETERS port Address of external parallel port data register bitnumber Bit to read 0 7 RETURN VALUE O or 1 The value of the bit read LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI WrPortI BitWrPortI RdPortE WrPortE BitWrPortE 20 Dynamic C Function Reference Manual BitRdPortI int BitRdPortI int port int bitnumber DESCRIPTION Returns 1 or 0 matching the value of the bit read from the specified internal I O port PARAMETERS port Address of internal parallel port data register bitnumber Bit to read 0 7 RETURN VALUE O or 1 The value of the bit read LIBRARY SYSIO LIB SEE ALSO RdPortI WrPortI BitWrPortI BitRdPortE RdPortE WrPortE BitWrPortE Chapter 1 Function Descriptions 21 BitWrPortE void BitWrPortE unsigned int port char portshadow int value int bitcode DESCRIPTION Updates shadow register at bitcode with value 0 or 1 and copies shadow to regis ter WARNING A shadow register is required for this function PARAMETERS port Address of external parallel port data register portshadow Reference pointer to a variable to shadow the current value of the register value V
27. msg Pointer to the message to send A null pointer must not be sent opt Determines the type of POST performed e OS POST OPT NONE POST toa single waiting task Iden tical to OSQPost e OS POST OPT BROADCAST POST to ALL tasks that are waiting on the queue e OS POST _OPT_FRONT POST as LIFO Simulates OSQPostFront The last 2 flags may be combined e OS POST _OPT_FRONT 0OS_ POST OPT BROADCAST is identical to OSQPostFront except that it will broad cast msg to all waiting tasks RETURN VALUE OS NO ERR The call was successful and the message was sent Os Q FULL The queue is full cannot accept any more messages OS ERR EVENT TYPE A pointer to a queue was not passed OS ERR PEVENT NULL If pevent is a null pointer OS ERR POST NULL PTR Attempting to post a null pointer LIBRARY OS OC Prior to DC 8 UCOS2 LIB 216 Dynamic C Function Reference Manual OSQQuery INT8U OSQQuery OS EVENT pevent OS Q DATA pdata DESCRIPTION Obtains information about a message queue PARAMETERS pevent Pointer to message queue s event control block pdata Pointer to a data structure for message queue information RETURN VALUE OS NO ERR The call was successful and the message was sent OS ERR EVENT TYPE Attempting to obtain data from a non queue OS ERR PEVENT NULL f pevent is a null pointer LIBRARY OS OC Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQCreate OSQOFlush OSQPend OSQPost OSQPostFront
28. page The page to read from RETURN VALUE 0 Success 1 Error LIBRARY SFLASH LIB Chapter 1 Function Descriptions 355 sf readRAM int sf readRAM char buffer int offset int len DESCRIPTION Read data from the RAM buffer on the serial flash chip Note This function blocks and only works on boards with one serial flash device PARAMETER buffer Pointer to character buffer to copy data into offset Address in the serial flash RAM to start reading from len Number of bytes to read RETURN VALUE 0 Success 1 Error LIBRARY SFLASH LIB 356 Dynamic C Function Reference Manual sf writeDeviceRAM int sf writeDeviceRAM sf device dev long buffer int offset int len int flags DESCRIPTION Write data to the RAM buffer on the serial flash chip from a buffer in xmem PARAMETER dev buffer offset len flags RETURN VALUE 0 Success 1 Error LIBRARY SFLASH LIB Pointer to sf device struct for initialized flash device Pointer to xmem data to write into the flash chip RAM The address in the serial flash RAM to start writing at The number of bytes to write Can be one of the following e SF_BITSREVERSED Allows the data to be written to the flash in reverse bit order This improves speed and works fine as long as the data is read back out with this same flag see sf_XReadRAM e SF _RAMBANK1 default Writes to the first RAM bank on the flash device e SF_RAMBANK2 Writes to the alt
29. so execute case 2 in the switch statement PARAMETERS env Information about the current state RETURN VALUE Returns zero if it is executed After longjmp is executed the program counter stack pointer and etc are restored to the state when set jmp was executed the first time However this time set jmp returns whatever value is specified by the longjmp statement LIBRARY SYS LIB SEE ALSO longjmp 344 Dynamic C Function Reference Manual SetVectExtern2000 unsigned SetVectExtern2000 int priority void isr DESCRIPTION Sets up the external interrupt table vectors for external interrupts 0 and 1 This function should be used for Rabbit 2000 processors revision IQ2 due to a bug in the chip s interrupt handling See Technical Note 301 Rabbit 2000 Microprocessor Interrupt Issue on the Rabbit Semiconductor website for more information Once this function is called both external interrupts 0 and 1 should be enabled with pri ority levels set higher than any currently running interrupts All system interrupts in the BIOS run at interrupt priority 1 The interrupt priority is set via the control register IOCR for external interrupt 0 and I1CR for external interrupt 1 The actual priority used by the interrupt service routine ISR is passed to this function PARAMETERS priority Priority the ISR should run at Valid values are 1 2 or 3 isr ISR handler address Must be a root address RETURN VALU
30. this function is task reentrant and it has a 128 byte buffer PARAMETERS fmt String to be formatted DER Format arguments RETURN VALUE Number of characters written LIBRARY STDIO LIB SEE ALSO sprintf 286 Dynamic C Function Reference Manual DYNAMIC C CONVERSION SPECIFIERS s string ls null terminated string in xmem d signed decimal u unsigned decimal f float e exponential g floating point same as f or e depending upon value and precision op pointer lp pointer x hexadecimal result in lowercase X hexadecimal same as x but result in uppercase c single character s string The precision specifier the number between and s determines the maximum number of characters to display ain Brintt gt s lt n a printf gt 3s lt n al ag E EE EAR MAER M i printf gt 3s lt n al printt PRAHA AAAAA AAA AAAS po A gt Sabed lt printft gt s lt n abcd printf gt 3s lt n abcd printft gt s3s lt n abed printf t gt 3s lt n abca As shown in the screenshot above a value to the right of causes the string to be dis played with that number of characters ignoring extra characters A value by itself or to the left of causes padding Negative values cause the string to be left justified with spaces added to the right if necessary Positive values cause the string
31. which is 2000 counts inserted after the start sequence A count is an it eration through a loop RETURN VALUE 0 Success 1 Clock stretching timeout LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor 148 Dynamic C Function Reference Manual i2c stop tx void i2c stop tx DESCRIPTION Sends the stop sequence to the slave which is defined as bringing SDA high while SCL is high i e the clock goes high then data goes high LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor i2c write char int i2c write char char d DESCRIPTION Sends 8 bits to slave Checks if slave pulls data low for ACK on clock pulse Allows for clocks stretching on SCL going high PARAMETERS d Character to send RETURN VALUE 0 Success 1 Clock stretching timeout 1 NAK sent from slave LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor Chapter 1 Function Descriptions 149 kbhit int kbhit DESCRIPTION Detects keystrokes in the Dynamic C Stdio window RETURN VALUE 0 if a key has been pressed 0 otherwise LIBRARY UTIL LIB labs long labs long x DESCRIPTION Computes the long integer absolute value of long integer x PARAMETERS x Number to compute RETURN VALUE x ifx 20 x otherwise LIBRARY MATH LIB SEE ALSO abs fabs 150
32. zop O oac lt i paapal or iner VScl Sel Bel iay at jolla eran 12 0 3 2 16 779 34 90 10 5 12 1 3 2 16 7 9 34 90 10 5 Output from the above sample program 90 2 1 3 7 9 10 12 16 34 VO Oo JO Us h H OO 12 1 3 2 16 7 9 34 90 10 Chapter 1 Function Descriptions 311 rad float rad float x DESCRIPTION Convert degrees 360 for one rotation to radians 27 for a rotation PARAMETERS x Degree value to convert RETURN VALUE The radians equivalent of degree LIBRARY SYS LIB SEE ALSO deg 312 Dynamic C Function Reference Manual rand float rand void DESCRIPTION Returns a uniformly distributed random number in the range 0 0 lt v lt 1 0 Uses algorithm rand 5 rand modulo 277 A default seed value is set on startup but can be changed with the srand function rand is not reentrant RETURN VALUE A uniformly distributed random number 0 0 lt v lt 1 0 LIBRARY MATH LIB SEE ALSO randb randg srand randb float randb void DESCRIPTION Uses algorithm rand 5 rand modulo 27 A default seed value is set on startup but can be changed with the srand function randb is not reentrant RETURN VALUE Returns a uniformly distributed random number 1 0 lt v lt 1 0 LIBRARY MATH LIB SEE ALSO rand randg srand Chapter 1 Function Descriptions 313 randg float r
33. 188 Dynamic C Function Reference Manual err RETURN VALUE OSFlagPend continued Pointer to an error code Possible values are OS NO ERR The desired bits have been set within the specified time out OS ERR DEND Top TIf you tried to PEND from an ISR OS FLAG INVALID PGRP If pgrp is a null pointer OS ERR EVENT TYPE You are not pointing to an event flag group OS TIMEOUT The bit s have not been set in the specified time out OS FLAG ERR WAIT TYPE You didn t specify a proper wait type argument The new state of the flags in the event flag group when the task is resumed or 0 if a tim eout or an error occurred LIBRARY OS _FLAG C Prior to DC 8 UCOS2 LIB Chapter 1 Function Descriptions 189 OSFlagPost OS FLAGS OSFlagPost OS FLAG GRP pgrp OS FLAGS flags INT8U opt INT8U err DESCRIPTION This function is called to set or clear some bits in an event flag group The bits to set or clear are specified by a bitmask Warnings e The execution time of this function depends on the number of tasks waiting on the event flag group e The amount of time interrupts are DISABLED depends on the number of tasks waiting on the event flag group PARAMETERS pgrp Pointer to the desired event flag group flags If opt see below is OS FLAG SET each bit that is setin flags will set the corresponding bit in the event flag group E g to set bits 0 4 and 5 you would set flags to 0x31 note bi
34. 195 OSMboxPost INT8U OSMboxPost OS EVENT pevent void msg DESCRIPTION Sends a message to the specified mailbox PARAMETERS pevent Pointer to mailbox s event control block msg Pointer to message to be posted A null pointer must not be sent RETURN VALUE OS NO ERR The call was successful and the message was sent OS MBOX FULL The mailbox already contains a message Only one message at a time can be sent and thus the message MUST be con sumed before another can be sent OS ERR EVENT TYPE Attempting to post to a non mailbox OS_ERR_PEVENT_ NULL If pevent is a null pointer OS_ERR_POST NULL PTR If you are attempting to post a null pointer LIBRARY OS MBOX C Prior to DC 8 UCOS2 LIB SEE ALSO OSMboxAccept OSMboxCreate OSMboxPend OSMboxQuery 196 Dynamic C Function Reference Manual OSMboxPostOpt INT8U OSMboxPostOpt OS EVENT pevent void msg INT8U opt DESCRIPTION This function sends a message to a mailbox Note Interrupts can be disabled for a long time if you do a broadcast The interrupt disable time is proportional to the number of tasks waiting on the mail box PARAMETERS pevent Pointer to mailbox s event control block msg Pointer to the message to send A null pointer must not be sent opt Determines the type of POST performed e OS POST OPT NONE POST toa single waiting task Iden tical to OS_MboxPost e OS DOT opt BROADCAST POST to ALL tasks that are waiting o
35. A set of round keys generated by AESexpandKey nb The block size to use Block is 4 nb bytes long nk The key size to use Cipher key is 4 nk bytes long LIBRARY AES CRYPT LIB Chapter 1 Function Descriptions 5 AESdecryptStream void AESdecryptStream AESstreamState state char data int count DESCRIPTION Decrypts an array of bytes using the Rabbit implementation of cipher feedback mode See Samples Crypt AES STREAMTEST C fora sample program and a detailed expla nation of the encryption decryption process PARAMETERS state The AESstreamState structure This memory must be allocated in the program code before calling AESdecrptyStream static AESstreamState decrypt state data An array of bytes that will be decrypted in place count Size of data array LIBRARY AES CRYPT LIB 6 Dynamic C Function Reference Manual AESencrypt void AESencrypt char data char expandedkey int nb int nk DESCRIPTION Encrypts a block of data using an implementation of the Rijndael AES cipher The block of data is overwritten by the encrypted block of data PARAMETERS data A block of data to be encrypted expandedkey A set of round keys generated by AESexpandKey nb The block size to use Block is 4 nb bytes long nk The key size to use Cipher key is 4 nk bytes long RETURN VALUE None LIBRARY AES CRYPT LIB Chapter 1 Function Descriptions 7 AESencryptStream void AESencryptStream AESst
36. LIB Chapter 1 Function Descriptions 187 OSFlagPend OS FLAGS OSFlagPend OS FLAG GRP pgrp OS FLAGS flags INT8U wait type INT16U timeout INT8U err DESCRIPTION This function is called to wait for a combination of bits to be set in an event flag group Your application can wait for ANY bit to be set or ALL bits to be set PARAMETERS pgrp Pointer to the desired event flag group flags Bit pattern indicating which bit s i e flags you wish to wait for E g if your application wants to wait for bits 0 and 1 then flags should be 0x03 wait type Specifies whether you want ALL bits to be set or ANY of the bits to be set You can specify the following argument OS FLAG WAIT CLR ALL You will wait for ALL bits in mask to be clear 0 OS FLAG WAIT SET ALL You will wait for ALL bits in mask tobe set 1 OS FLAG WAIT CLR ANY You will wait for ANY bit in mask to be clear 0 OS FLAG WAIT SET ANY You will wait for ANY bit in mask tobe set 1 Note Add OS_FLAG CONSUME if you want the event flag to be consumed by the call E g to wait for any flag in a group AND then clear the flags that are present set the wait type parameter to OS FLAG WAIT SET ANY OS FLAG CONSUME timeout An optional timeout in clock ticks that your task will wait for the desired bit combination If you specify 0 however your task will wait forever at the specified event flag group or until a message ar rives
37. SERA 382 Watchdogs IRC Oe PERERA Ce OCP AERO ORV RE RETO 383 Digable EDT espero iis Enable HW_WDT ccccccccceeeees 48 System reene ee ee 131 EE 384 VdGetFreeWd EE 395 ChKHardR E 27 KI Ha e BEE 396 chkSoftReset eege 27 KT 396 CHKWID TO ee 28 VdReleaseWd EE 397 clockDoublerOff enee aes 29 ClockDoublerOn ccesesseceeeeeees 29 defineErrorHandler 0 cccccceees 44 HE Eelere 56 forceSoftReset EE 85 getdivider19200 soos cs such yee casa ues 115 GetVectExtern2000 cceseeeeees 117 GetVectIntern seed 119 PIES Gett 134 SE ee 135 premal eege 283 Set32KHZDivider cccccsecceeeeees 342 setClockModulation ccccccceees 343 sysResetChain ge 384 Update Timers lt cicevccsieessesseseasaveesesis 390 MSCS 2KAZO EE 391 useClockDivider 0s ccccsssdesecesssdeacedss 392 useClockDivider3000 0 0006 393 USEMAINOSE nanninta heua 394 U User Block readUserBlock c ccccccccceseessreees 318 readUserBlockArray 0 ccceerees 319 writeUserBlock etcncakGcsn as 401 writeUserBlockArray ccseeees 403 XX Dynamic C Function Reference Manual 1 Function Descriptions abs int abs int x DESCRIPTION Computes the absolute value of an integer argument PARAMETERS x Integer argument RETURN VALUE Absolute value of the argument LIBRARY MATH LIB SEE ALSO fabs Chapter 1 Function Descriptions acos float acos float x DESCRIPTIO
38. a11 must be non zero if called before Ca init since the number of files in use is not yet known PARAMETERS Lan Logical extent number to query all Boolean 0 for current free capacity only 1 for total Must use 1 if calling before fs_init ls shift Logical sector shift i e log base 2 of LS size 6 to 13 may be zero to use default RETURN VALUE 0 The specified LX does not exist 0 Capacity of the LX in bytes LIBRARY FS2 1lib Chapter 1 Function Descriptions 99 fs get other 1x FS2 FSLXnum fs get other 1x void DESCRIPTION Returns the logical extent number of the non preferred flash device If it exists this is usu ally the program flash See the description under Ce get flash Lat for details about setting up the program flash for use by the filesystem The sample program Samples FILESYSTEM FS2INFO C demonstrates use of this function This function may be called before calling fs init RETURN VALUE 0 There is no other flash filesystem available 0 Logical extent number of the non preferred flash LIBRARY FS2 LIB SEE ALSO fs_get_ram_Ix FS2 fs_get_flash_lx FS2 100 Dynamic C Function Reference Manual fs get Cam 1x FS2 FSLXnum fs get ram 1x void DESCRIPTION Return the logical extent number of the RAM file system device This is only available if you have defined FS2_ RAM RESERVE to a non zero number of bytes in the BIOS A RAM filesystem is only really usef
39. append data to the file fseek allows the position to be set relative to the start or end of the file or relative to its current position In the special case of SEEK_ RAW an unspecified number of bytes beyond the known end of file may be readable The actual amount depends on the amount of space left in the last internal block of the file This mode only applies to reading and is provided for the pur pose of data recovery in the case that the application knows more about the file structure than the filesystem PARAMETERS f Pointer to file descriptor initialized by fopen_rd Zopen wr or fcreate where New position or offset whence One of the following values SEEK _ SET where non negative only is relative to start of file SEEK CUR where positive or negative is relative to the current position SEEK END where non positive only is relative to the end of the file SEEK_RAW Similar to SEEK_END except the file descriptor is set in a special mode which allows reading beyond the end of the file RETURN VALUE 0 Success 0 The computed position was outside of the current file contents and has been adjusted to the nearest valid position ERRNO VALUES None LIBRARY FS2 LIB SEE ALSO ftell FS2 fread FS2 fwrite FS2 96 Dynamic C Function Reference Manual fs get flash 1x FS2 FSLXnum fs get flash_1x void DESCRIPTION Returns the logical extent number of the preferred flash de
40. be used if the TCP IP stack is in use and USE_DHCP is defined 2 The TIMEZONE macro This should be defined by the program to an _hour_ offset may be floating point PARAMETERS seconds Pointer to result longword This will be set to the number of seconds offset from Coordinated Universal Time UTC The value will be negative for west positive for east of Greenwich tzname If null no timezone name is returned Otherwise this must point to a buffer of at least 7 bytes The buffer is set to a null terminated string of between 0 and 6 characters in length according to the value of the TZNAME macro If TZNAME is not defined then the returned string is zero length RETURN VALUE 0 timezone obtained from DHCP 1 timezone obtained from TIMEZONE macro The value of this macro which may be int float ora variable name is multiplied by 3600 to form the return value 2 timezone is zero since the TIMEZONE macro was not defined LIBRARY RTCLOCK LIB Chapter 1 Function Descriptions 323 runwatch void runwatch DESCRIPTION Runs and updates watch expressions if Dynamic C has requested it with a Ctrl U Should be called periodically in user program LIBRARY SYS LIB serCheckParity int serCheckParity char rx byte char parity DESCRIPTION This function is different from the other serial routines in that it does not specify a partic ular serial port This function takes any 8 bit character and tests it for
41. boards have a System ID block located on the primary flash See the Rabbit Mi croprocessor Designer s Handbook for more information on the System ID block Ver sion 2 and later of this ID block has a pointer to a User ID block a place intended for storing calibration constants passwords and other non volatile data The User block is recommended for storing all non file data This is where calibration constants are stored for boards with analog I O Space here is limited to as small as 8K sizeof SysIDBlock bytes or less if there are calibration constants writeUserBlock writes a number of bytes from root memory to the User block This block is protected from normal writes to the flash device and can only be accessed through this function or the function writeUserBlockArray Using this function can cause all interrupts to be disabled for as long as 20 ms while a flash sector erases depending on the flash type A single call can produce as many as four of these erase delays This will cause periodic interrupts to be missed and can cause other interrupts to be missed as well Therefore it is best to buffer up data to be written rather than to do many writes While debugging several consecutive calls to this function can cause a loss of target serial communications This effect can be reduced by introducing delays between the calls low ering the baud rate or increasing the serial time out value in the project file Note S
42. communication rate between Dynamic C and the board to compensate for the frequency change User serial port rates need to be adjusted accord ingly Also note that single stepping through this routine will cause Dynamic C to lose communication with the target LIBRARY SYS LIB SEE ALSO clockDoublerOn Chapter 1 Function Descriptions 29 CloseInputCompressedFile void CloseInputCompressedFile ZFILE ifp DESCRIPTION Close an input compression file opened by OpenInput CompressionFile This file may be a compressed file that is being decompressed or an uncompressed file that is being compressed In either case this function should be called for each open import ZFILE once it is done being used to free up the associated input buffer PARAMETERS ifp File descriptor of an input compression ZFILE RETURN VALUE None LIBRARY LZSS LIB CloseOutputCompressedFile void CloseOutputCompressedFile ZFILE ifp DESCRIPTION Close an output compression file This file is an FS2 ZFILE which was previously opened with OpenOut put CompressionFile This function should always be called when done writing to a compression output ZF ILE to free up the associated output buffer PARAMETERS ifp File descriptor of an output compression ZFILE RETURN VALUE None LIBRARY lzss lib 30 Dynamic C Function Reference Manual CoBegin void CoBegin CoData p DESCRIPTION Initialize a costatement structure so th
43. e g pxlast This must be an allocated element in the given pool otherwise the results are undefined Be careful when iterating through a list and deleting ele ments using pxfree once the element is deleted it is no longer valid to pass its address to this function If this parameter is zero then the result is the same as pxlast This ensures the invariant pxlast p pxnext p ell e RETURN VALUE 0 There are no more elements 0 Points to previously allocated element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxalloc pxfree pxlast pxnext 306 Dynamic C Function Reference Manual pxprev_ fast xmem long pxprev_fast Pool t p long e DESCRIPTION Get the previous allocated element in an xmem pool The pool MUST be set to being a linked pool using pool _link p lt non zero gt otherwise the results are unde fined This is an assembler only version of pxprev Do not call this function from C REGISTERS Parameters in IX DE respectively Trashes AF HL Return value in BCDE carry flag EXAMPLE ld ix my_ pool ld de current element ld bc current element 2 lcall pxprev_fast jr c no_ more elems BCDE points to previously allocated element PARAMETERS p Pool handle structure as previously passed to pool _xinit Pass this in IX register e Current element address in BCDE register See pxprev for full er description RETURN VALUE C flag set there are no m
44. elements in array x Then it is further increased by 1 to reflect an inherent division by two that occurs during the squaring operation PARAMETERS x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent LIBRARY FFT LIB SEE ALSO fftcplx fftcplxinv fftreal fftrealinv hanncplx hannreal 280 Dynamic C Function Reference Manual pprev void pprev Pool t p void e DESCRIPTION Get the previously allocated element in a root pool The pool MUST be set to being a linked pool using pool _link p lt non zeros gt otherwise the results are unde fined You can easily iterate through all of the allocated elements of a root pool using the follow ing construct void e Pool t p for e plast p e e pprev p eil PARAMETERS P Pool handle structure as previously passed to pool_init e Previous element address obtained by e g plast This must be an allocated element in the given pool otherwise the results are un defined Be careful when iterating through a list and deleting ele ments using pfree once the element is deleted it is no longer valid to pass its address to this function If this parameter is null then the result is the same as plast This ensures the invariant pprev p pnext p eil e RETURN VALUE null There are no more elements nul1 Pointer to previous allocated element
45. ets LIBRARY PACKET LIB 32 Dynamic C Function Reference Manual cof serxXgetc int cof serXgetc where X A B C D E F DESCRIPTION This single user cofunction yields to other tasks until a character is read from port X This function only returns when a character is successfully written It is non reentrant Starting with Dynamic C version 7 25 the functions cof_serEgetc and cof _serFgetc may beused with the Rabbit 3000 microprocessor RETURN VALUE An integer with the character read into the low byte LIBRARY RS232 LIB EXAMPLE echoes characters main Le ei serXopen 19200 Jeesctaztae g while 1 loophead wid c cof serAgete wid cof serAputc c serAclose Chapter 1 Function Descriptions cof serxXgets int cof serXgets char s int max unsigned long tmout where X A B C D E F DESCRIPTION This single user cofunction reads characters from port X until a null terminator linefeed or carriage return character is read max characters are read or until tmout milliseconds transpires between characters read A timeout will never occur if no characters have been received This function is non reentrant It yields to other tasks for as long as the input buffer is locked or whenever the buffer be comes empty as characters are read s will always be null terminated upon return Starting with Dynamic C version 7 25 the functions cof_ serEgets an
46. for data RETURN VALUE 0 Success 0 Error e g non existent LX number ERRNO VALUES ENODEV no such extent number or extent is reserved LIBRARY FS2 LIB SEE ALSO fcreate FS2 102 Dynamic C Function Reference Manual fs setup FS2 FSLXnum fs setup FSLXnum 1xn word Le shift int reserve it void rfu int partition it word part word part Le shift int part reserve void part rfu DESCRIPTION To modify or add to the default extents this function must be called before calling Ze init Ifcalled after fs init the filesystem will be corrupted fs_setup runs in one of two basic modes determined by the partition_it pa rameter If partition _it is non zero then the specified extent 1xn which must ex ist is split into two extents according to the given proportions If partition it is zero then the specified extent must not exist it is created This use is beyond the scope of this note since it involves filesystem internals The paritioning usage is described here partition_it maybe FS MODIFY EXTENT in which case the base extent 1xn is modified to use the specified 1s shift and reserve _ it parameters the other pa rameters are ignored partition_it may besettoFS PARTITION FRACTION other values reserved This causes extent number 1xn to be split The first half is still referred to as extent 1xn and the other half is assigned a new extent number which is returned The base extent nu
47. for read or write The given file number is composed of two parts the low byte contains the file number 1 to 255 inclusive and the high byte if not zero contains the metadata extent number If the extent number is zero it defaults to the correct metadata extent this is for the purpose of validating an expected extent number Most applications should just pass the file number with zero high byte A file may be opened multiple times with a different file descriptor pointer for each call which allows the file to be read or written at more than one position at a time A reference count for the actual file is maintained so that the file can only be deleted when all file de scriptors referring to this file are closed fopen_wr or fopen_rd must be called before any other function from this li brary is called that requires a File pointer The current position is set to zero i e the start of the file When a file is created it is automatically opened for writing thus a subsequent call to fopen_wr is redundant PARAMETERS f Pointer to file descriptor uninitialized name File number 1 to 255 inclusive RETURN VALUE 0 Success 0 Failure ERRNO VALUES ENOENT File does not exist or metadata extent number does not match an existing file LIBRARY fs2 lib SEE ALSO fclose fopen_rd FS2 84 Dynamic C Function Reference Manual forceSoftReset void forceSoftReset DESCRIPTION Forces the board into a
48. function MUST NOT be called to resume a task that is waiting for an event with timeout This situation would make the task look like a time out occurred unless this is the desired effect Also a task cannot be resumed that has called OSTimeD1yHMSM with a combined time that exceeds 65535 clock ticks In other words if the clock tick runs at 100 Hz then a delayed task will not be able to be resumed that called OSTimeD1LyHMSM 0 10 55 350 or higher PARAMETERS prio Priority of the task to resume RETURN VALUE OS MO ERR Task has been resumed OS PRIO INVALID The priority you specify is higher than the maximum allowed i e gt OS LOWEST PRIO OS TIME NOT DLY Task is not waiting for time to expire OS TASK NOT EXIST The desired task has not been created LIBRARY UCOS2 LIB SEE ALSO OSTimeDly OSTimeDlyHMSM OSTimeDlySec Chapter 1 Function Descriptions 239 OSTimeDlySec INT8U OSTimeDlySec INT16U seconds DESCRIPTION Delays execution of the task until seconds expires This is a low overhead version of OSTimeD1yHMSM for seconds only PARAMETERS seconds The number of seconds to delay RETURN VALUE OS NO ERR The call was successful OS TIME ZERO DLY A delay of zero seconds was requested LIBRARY UCOS2 LIB SEE ALSO OSTimeDly OSTimeDlyHMSM OSTimeDlyResume 240 Dynamic C Function Reference Manual OSTimeGet INT32U OSTimeGet void DESCRIPTION Obtain the current value of the 32 bit counter that
49. ignored and only d is used float f f 88 8888 printet IZEN EI printf S10f printf 9f f printf 0f f printf 3f f printf 0f printf 0 3f f printf 7 3f f printf 8 3f f printf 6 3f f e exponential Width specifier is ignored for Dynamic C float and double both 4 bytes Precision specifier n d n is the total width excluding exponent sign if n is zero or is 88 888801 88 888801 KKKKKKKKK 89 88 88 88 88 88 889 889 889 889 889 KKKKKK omitted it is ignored and only d is used if n larger than width the result is not padded dis decimal places of n nnn E nn format float f f 88 8888 printf e n f printf 13e n f printf 12e n f printf 0e n f printf 1e n f printf 3e n f printf 0 3e n printf 9 3e n printf 15 3e n printf 8 3e n printf 8 3e n las 8 888880E 01 8 888880E 01 8 888880E 01 9E 01 8 9E 01 8 889E 01 8 889E 01 8 889E 01 8 889E 01 KKKKKKKK 8 889E 01 Chapter 1 Function Descriptions 289 g floating point Same as f or e depending upon value and precision float f g h f 888 8888 g 888888 0 g 8888880 0 printf g n 9g printf g n h printf g n f printf 13g n f printf 12g n f
50. int i2c send nak DESCRIPTION Sends NAK sequence to slave NAK is often sent when the transfer is finished RETURN VALUE 0 Success 1 Clock stretching timeout LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor 146 Dynamic C Function Reference Manual i2c start tx int i2c start tx DESCRIPTION Initiates I C transmission by sending the start sequence which is defined as a high to low transition on SDA while SCL is high The point being that SDA is supposed to remain stable while SCL is high If it does not then that indicates a start S or stop P condition This function first waits for possible clock stretching which is when a bus peripheral holds SCK low RETURN VALUE 0 Success 1 Clock stretching timeout LIBRARY I2C LIB SEE ALSO Technical Note 215 Using the I2C Bus with a Rabbit Microprocessor Chapter 1 Function Descriptions 147 i2c startw tx int i2c startw_tx DESCRIPTION Initiates I C transmission by sending the start sequence which is defined as a high to low transition on SDA while SCL is high The point being that SDA is supposed to remain stable while SCL is high If it does not then that indicates a start S or stop P condition This function first waits for possible clock stretching which is when a bus peripheral holds SCK low This function is essentially the same as i2c_start_tx with the addition of a clock stretch delay
51. is called to al locate buffer s memory for each NAND flash device a run time error will occur if the available xmem RAM is insufficient There are two modes of operation for NAND flash devices FAT and direct If you are us ing the FAT file system in the default configuration i e the NAND flash has one FAT par tition that takes up the entire device you do not need to call nf initDevice You only need to call ot InitDriver which is the default device driver for the FAT file system on a NAND flash device Configurations other than the default one require more work For example having two partitions on the device one a FAT partition and the other a non FAT partition require you to know how to fit more than one partition on a device A good example of how to do this is in the remote application upload utility The function dlm_initserialflash in LIB RCM3300 downloadmanager 1ib is where to look for code details The upload utility is specificcally for the RCM3300 however even without the RCM3300 the utility is still useful in detailing what is necessary to manage multiple partitions The second mode of operation for NAND flash devices is direct access An application that directly accesses the NAND flash using calls such as nf _readPage and nf writePage may define NFLASH_USEERASEBLOCKS1ZE to be either 0 ze ro or 1 one before NFLASH LIB is used in order to set the NAND flash driver s main data program unit size to e
52. keeps track of the number of clock ticks RETURN VALUE The current value of OSTime LIBRARY UCOS2 LIB SEE ALSO OSTimeSet OSTimeSet void OSTimeSet INT32U ticks DESCRIPTION Sets the 32 bit counter that keeps track of the number of clock ticks PARAMETERS ticks The value to set OSTime to LIBRARY UCOS2 LIB SEE ALSO OSTimeGet Chapter 1 Function Descriptions 241 OSTimeTick void OSTimeTick void DESCRIPTION This function takes care of the processing necessary at the occurrence of each system tick This function is called from the BIOS timer interrupt ISR but can also be called from a high priority task The user definable OSTimeTickHook iscalled from this function and allows for extra application specific processing to be performed at each tick Since OSTimeTickHook is called during an interrupt it should perform minimal process ing as it will directly affect interrupt latency LIBRARY UCOS2 LIB SEE ALSO OSTimeTickHook OSTimeTickHook void OSTimeTickHook void DESCRIPTION This function as included with Dynamic C is a stub that does nothing except return It is called every clock tick Code in this function should be kept to a minimum as it will di rectly affect interrupt latency This function must preserve any registers it uses other than the ones that are preserved at the beginning of the periodic interrupt periodic isr in VDRIVER LIB and therefore should be written in
53. maximum extent permissible so as to affect the intent of the parties and the remainder of this License shall continue in full force and effect This License constitutes the entire agreement between the parties with respect to the use of the Software and its documentation and supersedes all prior or contemporaneous understandings or agreements written or oral regarding such subject matter There shall be no contract for purchase or sale of the Software except upon the terms and conditions specified herein Any additional or different terms or conditions proposed by You or contained in any purchase order are hereby rejected and shall be of no force and effect unless expressly agreed to in writing by Z WORLD No amendment to or modification of this License will be binding unless in writing and signed by a duly authorized representative of Z WORLD Copyright 2004 Z World Inc All rights reserved 428 Dynamic C Function Reference Manual
54. not be called in a production program PARAMETERS parm Reserved for future use Set to 0 LIBRARY XMEM LIB SEE ALSO xalloc _xalloc xavail _xavail xrelease 408 Dynamic C Function Reference Manual xavail long xavail long addr ptr DESCRIPTION Returns the maximum length of memory that may be successfully obtained by an imme diate call to xalloc and optionally allocates that amount This function was introduced in Dynamic C version 7 04P3 PARAMETERS addr ptr Pointer to a long word in root data memory to store the address of the block If this pointer is null then the block is not allocated Other wise the block is allocated as if by a call to xalloc RETURN VALUE The size of the largest free block available If this is zero then addr_ptr will not be changed LIBRARY XMEM LIB was in STACK LIB prior to DC 8 SEE ALSO xalloc _xalloc _xavail xrelease xalloc_stats Chapter 1 Function Descriptions 409 _xavail long xavail long addr ptr word align word type lr DESCRIPTION Returns the maximum length of memory that may be successfully obtained by an imme diate call to xalloc and optionally allocates that amount The align and type parameters are the same as would be presented to _xalloc PARAMETERS addr ptr Address of a longword in root data memory to store the address of the block If this pointer is null then the block is not allocated Oth erwise the block is alloca
55. of a character in s1 that matches any character in s2 LIBRARY STRING LIB SEE ALSO strchr strrchr strtok Chapter 1 Function Descriptions 373 strlen int strlen char s DESCRIPTION Calculate the length of a string PARAMETERS s Character string RETURN VALUE Number of bytes in a string LIBRARY STRING LIB strncat char strncat char dst char src unsigned int n DESCRIPTION Appends one string to another up to and including the null terminator or until n characters are transferred followed by a null terminator PARAMETERS dst Pointer to location to receive string sre Pointer to location to supply string n Maximum number of bytes to copy If equal to zero this function has no effect RETURN VALUE Pointer to destination string LIBRARY STRING LIB SEE ALSO strcat 374 Dynamic C Function Reference Manual strncmp int strncmp char strl char str2 n DESCRIPTION Performs unsigned character by character comparison of two strings of length n PARAMETERS str1 Pointer to string 1 str2 Pointer to string 2 n Maximum number of bytes to compare If zero both strings are con sidered equal RETURN VALUE lt 0 str1 is less than str2 because char in st r1 is less than corresponding char in st r2 0 str1 is identical to st r2 gt 0 str1 is greater than str2 because char in st r1 is greater than corresponding char in st r2 LIBRARY STRING LIB SEE ALSO str
56. of the semaphore RETURN VALUE Pointer to the event control block OS_ EVENT associated with the created semaphore or null if no event control block is available LIBRARY UCOS2 LIB SEE ALSO OSSemAccept OSSemPend OSSemPost OSSemQuery 220 Dynamic C Function Reference Manual OoSSemPend void OSSemPend OS EVENT pevent INT16U timeout INT8U err DESCRIPTION Waits on a semaphore PARAMETERS pevent Pointer to the desired semaphore s event control block timeout Time in clock ticks to wait for the resource If 0 the task will wait until the resource becomes available or the event occurs err Pointer to error message LIBRARY UCOS2 LIB SEE ALSO OSSemAccept OSSemCreate OSSemPost OSSemQuery Chapter 1 Function Descriptions 221 OSSemPost INT8U OSSemPost OS EVENT pevent Ir DESCRIPTION This function signals a semaphore PARAMETERS pevent Pointer to the desired semaphore s event control block RETURN VALUE OS NO ERR The call was successful and the semaphore was signaled OS_ SEM OVF If the semaphore count exceeded its limit In other words you have signalled the semaphore more often than you waited on it with either OSSemAccept or OSSemPend OS ERR EVENT TYPE If a pointer to a semaphore not passed OS ERR PEVENT NULL f pevent isa null pointer LIBRARY UCOS2 LIB SEE ALSO OSSemAccept OSSemCreate OSSemPend OSSemQuery 222 Dynamic C Function Reference Manual OSSemQuery
57. or metadata extent number doesn t match an existing file EBUSY File is open EIO I O error when releasing blocks occupied by this file SEE ALSO fcreate FS2 Chapter 1 Function Descriptions 65 fflush FS2 int fflush File f DESCRIPTION Flush any buffers associated with the given file retained in RAM to the underlying hard ware device This ensures that the file is completely written to the filesystem The file sys tem does not currently perform any buffering however future revisions of this library may introduce buffering to improve performance PARAMETERS f Pointer to open file descriptor RETURN VALUE 0 Success 0 Failure ERRNO VALUES EBADFD file invalid or not open EIO I O error LIBRARY fs2 LIB SEE ALSO fs_sync FS2 66 Dynamic C Function Reference Manual fftcplx void fftcplx int x int N int blockexp DESCRIPTION Computes the complex DFT of the N point complex sequence contained in the array x and returns the complex result in x N must be a power of 2 and lie between 4 and 1024 An invalid N causes a RANGE exception The N point complex sequence in array x is re placed with its N point complex spectrum The value of blockexp is increased by 1 each time array x has to be scaled to avoid arithmetic overflow PARAMETERS x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent
58. p DESCRIPTION Return next available free element from the given pool Eventually your application should return this element to the pool using pfree to avoid memory leaks PARAMETERS P Pool handle structure as previously passed to pool_xinit RETURN VALUE 0 No free elements are available 0 Physical xmem address of an element If the pool is not linked your application can use this element provided it does not write more than p gt elsize bytes to it this was the elsize parameter passed to pool _xinit If the pool is linked you can write up to p gt elsize 8 bytes to it Each element has 8 bytes of overhead when the pool is linked LIBRARY POOL LIB SEE ALSO pool xinit pxcalloc pxfree phwm pavail Chapter 1 Function Descriptions 295 pxalloc fast xmem long pxalloc fast Pool t p DESCRIPTION Return next available free element from the given pool Eventually your application should return this element to the pool using pxfree to avoid memory leaks This is an assembler only version of pxalloc Do not call this function from C pxalloc_ fast does not perform any IPSET protection parameter validation or up date the high water mark pxalloc_ fast isa root function The parameter must be passed in IX and the returned element address is in BCDE REGISTERS Parameter in IX Trashes AF HL Return value in BCDE carry flag EXAMPLE ld ix my_ pool lcall pxallo
59. pool init Pool t p void base word nel word elsize DESCRIPTION Initialize a root memory pool A pool is a linked list of fixed size blocks taken from a con tiguous area You can use pools instead of malloc when fixed size blocks are all that is needed You can have several pools with different size blocks Using memory pools is very efficient compared with more general functions like malloc There is currently no malloc implementation with Dynamic C This function should only be called once at program startup time for each pool to be used Note the product of nel and el size must be less than 65535 however this will usu ally be limited further by the actual amount of root memory available After calling this function your application must not change any of the fields in the Pool _t structure PARAMETERS P Pool handle structure This is allocated by the caller but this function will initialize it Normally this would be allocated in static memory by declaring a global variable of type Pool_t base Base address of the root data memory area to be managed in this pool This must be nel elsize bytes long Typically this would be a static global array nel Number of elements in the memory area 1 32767 elsize Size of each element in the memory area 2 32767 RETURN VALUE Currently always zero If you define the macro POOL DEBUG then parameters are checked If the parameters look bad then an exception is rais
60. returned regardless of the compile mode In separate I amp D space mode the divider value is stored as a define byte in code space so directly accessing the variable will result in an incorrect load from constant data space This function uses the 1dp instruction which circumvents the separate I amp D default loading scheme so that the correct value is returned RETURN VALUE The value used in baud rate calculation LIBRARY SYS LIB Chapter 1 Function Descriptions 115 gets char gets char s DESCRIPTION Waits for a string terminated by lt CR gt at the stdio window The string returned is null ter minated without the return The user should make sure only one process calls this function at a time PARAMETERS s The input string is put to the location pointed to by the argument s The caller is responsible to make sure the location pointed to by s is big enough for the string RETURN VALUE Same pointer passed in but string is changed to be null terminated LIBRARY STDIO LIB SEE ALSO puts getchar 116 Dynamic C Function Reference Manual GetVectExtern2000 unsigned GetVectExtern2000 DESCRIPTION Reads the address of external interrupt table entry This function really just returns what is present in the table The return value is meaningless if the address of the external interrupt has not been written This function should be used for Rabbit 2000 processors that are marked IQ2T in the 3r
61. significant 8 bits of the OSEventCnt field of the mutex s event control block are used to hold the priority number of the task owning the mutex or OxFF if no task owns the mutex The MOST significant 8 bits of the OSEventCnt field of the mutex s event control block are used to hold the priority number to use to reduce priority inversion PARAMETERS prio err RETURN VALUE l void 0 void 0 LIBRARY OS _MUTEX C The priority to use when accessing the mutual exclusion semaphore In other words when the semaphore is acquired and a higher priority task attempts to obtain the semaphore then the priority of the task owning the semaphore is raised to this priority It is assumed that you will specify a priority that is LOWER in value than ANY of the tasks competing for the mutex Pointer to error code that will be returned to your application e OS MO ERR if the call was successful OS ERR CREATE ISR you attempted to create a mutex from an ISR OS PRIO_ EXIST a task at the priority inheritance priority already exist OS ERR _PEVENT NULL no more event control blocks available OS PRIO_ INVALID if the priority you specify is higher that the maximum allowed i e gt OS LOWEST _PRIO Pointer to the event control clock OS_ EVENT associated with the created mutex Error detected 204 Dynamic C Function Reference Manual OSMutexDel OS EVENT OSMutexDel OS EVENT pevent INT8U opt INT8U err
62. supported device numbers are 0 for the soldered on device or 1 for the socketed NAND flash device RETURN VALUE 0 Success 1 Unknown index or bad internal I O port information 2 Error communicating with flash chip 3 Unknown flash chip type LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 Chapter 1 Function Descriptions 175 nf InitDriver int nf InitDriver mbr_drvr driver void device list DESCRIPTION Initializes the NAND flash controller PARAMETERS driver Empty mbr_drvr structure It must be initialized with this function before it can be used with the FAT file system More information on this structure can be found in the Dynamic C Module document ti tled FAT File System User s Manual available on the Z World website device list fnotnull this is a pointer to the head of a linked listofn _device structures for NAND flash devices that have each already been ini tialized by calling nf initDevice If device_1ist is null then this function attempts to initialize all NAND flash devices and provide a default linked list of nf device structures in order from device number 0 on up If the initialization of a NAND flash device is unsuccessful then its nf device structure is not entered into the linked list RETURN VALUE 0 Success lt 0 Negative value of a FAT file system error code LIB
63. the first character of the first string to com pare str root address of the first character of the second string to compare n Length of each string If n is zero returns zero n must be less than or equal 4097 RETURN VALUE 0 Exact match gt 0 xstr gt str lt 0 xstr lt str LIBRARY XMEM LIB 418 Dynamic C Function Reference Manual xrelease void xrelease long addr long sz DESCRIPTION Release a block of memory previously obtained by xalloc orby xavail witha non null parameter xrelease may only be called to free the most recent block ob tained Itis NOT a general purpose malloc free type of dynamic memory allocation Calls to xalloc xrelease must be nested in first allocated last released order simi lar to the execution stack The addr parameter must be the return value from xalloc H not then a run time exception will occur The sz parameter must also be equal to the actual allocated size however this is not checked The actual allocated size may be larger than the requested size because of alignment overhead The actual size may be obtained by calling xalloc rather than xalloc For this reason it is recommended that your application consistently uses _xalloc rather than xalloc if you intend to use this function PARAMETERS addr Address of storage previously obtained by _xalloc SZ Size of storage previously returned by xalloc LIBRARY XMEM LIB SEE ALSO xalloc _xalloc
64. to be right justi fied with spaces added to the left if necessary Chapter 1 Function Descriptions 287 ls null terminated string in mem This conversion specifier is identical to s but the strings come from extended mem ory instead of root memory xdata mystring Now is the time printf ls mystring Now is the time od signed decimal Width specifier 1 short values must not include 1 without 1 long values are treated as short Precision specifier n includes and if necessary treats argument as signed short n n 30000 printf d n 30000 printf 5d n 30000 printf 6d n 30000 printf 4d n Z kx unsigned short n n 40000 printf d n 25536 printf 6d n 25536 printf 7d n 25536 printf 5d n e RRR long n n 300000 printf ld n 300000 printf 71d n 300000 u unsigned decimal Width specifier 1 long values must include 1 short values must not Precision specifier n includes if necessary treats argument as if it were unsigned short n n 25536 printf u n 40000 unsigned short n n 40000 printf d n 40000 288 Dynamic C Function Reference Manual f float Width specifier is ignored for Dynamic C float and double both 4 bytes Precision specifier n d n is the total width including and if n is zero or is omitted it is
65. to convert tailptr Pointer to a pointer of character The next conversion may resume at the location specified by tailptr RETURN VALUE The float number LIBRARY STRING LIB SEE ALSO atof Chapter 1 Function Descriptions 381 strtok char strtok char src char brk DESCRIPTION Scans src for tokens separated by delimiter characters specified in brk First call with non null for src Subsequent calls with null for src continue to search tokens in the string If a token is found i e delineators found replace the first delimiter in src with a null terminator so that src points to a proper null terminated token PARAMETERS src String to be scanned must be in SRAM cannot be a constant In con trast strings initialized when they are declared are stored in flash memory and are treated as constants brk Character delimiter RETURN VALUE Pointer to a token If no delimiter therefore no token is found returns null LIBRARY STRING LIB SEE ALSO strchr strrchr strstr strcspn 382 Dynamic C Function Reference Manual strtol long strtol char sptr char tailptr int base DESCRIPTION ANSI string to long conversion PARAMETERS sptr tailptr base RETURN VALUE The long integer LIBRARY STRING LIB SEE ALSO atoi atol String to convert Assigned the last position of the conversion The next conversion may resume at the location specified by tailptr Indicates the
66. true if a packet is currently being transmitted This function is intended for use with the Rabbit 3000 microprocessor RETURN VALUE 1 Currently sending a packet 0 Transmitter is idle LIBRARY HDLC PACKET LIB hitwd void hitwd DESCRIPTION Hits the watchdog timer postponing a hardware reset for 2 seconds Unless the watchdog timer is disabled a program must call this function periodically or the controller will au tomatically reset itself If the virtual driver is enabled which it is by default it will call hitwd in the background The virtual driver also makes additional virtual watchdog timers available LIBRARY VDRIVER LIB Chapter 1 Function Descriptions 131 htoa char htoa int value char buf DESCRIPTION Converts integer value to hexadecimal number and puts result into buf PARAMETERS value 16 bit number to convert buf Character string of converted number RETURN VALUE Pointer to end null terminator of string in buf LIBRARY STDIO LIB SEE ALSO itoa utoa ltoa 132 Dynamic C Function Reference Manual IntervalMs int IntervalMs long ms DESCRIPTION Similar to DelayMs but provides a periodic delay based on the time from the previous call Intended for use with wait for PARAMETERS ms The number of milliseconds to wait RETURN VALUE 0 Not finished 1 Delay has expired LIBRARY COSTATE LIB IntervalSec int IntervalSec long sec DESC
67. using a set of 5 macros SERX_ RTS PORT Data register for the parallel port that the RTS line is on e g PCDR SERA RTS SHADOW Shadow register for the RTS line s parallel port e g PCDRShadow SERA _RTS BIT The bit number for the RTS line SERA CTS PORT Data register for the parallel port that the CTS line is on SERA CTS BIT The bit number for the CTS line LIBRARY RS232 LIB Chapter 1 Function Descriptions 327 serxXgetc int serXgetc where X A B C D E F DESCRIPTION Get next available character from serial port X read buffer This function is non reentrant Starting with Dynamic C version 7 25 the functions serEgetc and serFgetc may be used with the Rabbit 3000 microprocessor RETURN VALUE Success the next character in the low byte 0 in the high byte Failure 1 LIBRARY RS232 LIB EXAMPLE echoes characters main Jup e serAopen 19200 while 1 i tte sexAgere f 1 serAputc c serAclose 328 Dynamic C Function Reference Manual serXgetError int serXgetError where X A B C D E F DESCRIPTION Returns a byte of error flags with bits set for any errors that occurred since the last time this function was called Any bits set will be automatically cleared when this function is called so a particular error will only be reported once This function is non reentrant The flags are checked with bitmasks to determine which errors occurred
68. void preorder Pool t p void Se void where word options DESCRIPTION Atomically remove allocated element e and re insert it before or after element where Atomically means that the POOL_IPSET level is used to lock out other CPU contexts from altering the pool while this operation is in progress The pool MUST be set to being a linked pool by using pool link p lt non zero gt Otherwise the results are undefined PARAMETERS P Pool handle structure as previously passed to pool_init e Address of element to move obtained by e g plast This must be an allocated element in the given pool otherwise the results are undefined If null then the last element is implied i e whatever plast would return If there are no elements at all or this pa rameter does not point to a valid allocated element then the results are undefined and probably catastrophic where The reference element The element e will be inserted before or af ter this element depending on the options parameter If e where then there is no action If this parameter is null then the reference el ement is assumed to be the first element i e whatever pfirst would return If there are no elements at all or this parameter does not point to a valid allocated element then the results are undefined and probably catastrophic options Option flags Currently the only options are POOL INSERT BEFORE POOL INSERT AFTER
69. 0 0 c 3 0 0 c 2 3 0 c 1 4 0 c 0 6 0 PARAMETERS x Variable of the polynomial n The order of the polynomial c Array containing the coefficients of each power of x RETURN VALUE The polynomial value LIBRARY MATH LIB Chapter 1 Function Descriptions 273 pool append int pool append Pool t p void base word nel DESCRIPTION Add another root memory area to an existing pool It is assumed that the element size is the same as the element size of the existing pool The data area does not have to be contiguous with the existing data area but it must be nel elsize bytes long where e1size is the element size of the existing pool and nel is the parameter to this function The total pool size must obey the constraints documented with pool init PARAMETERS Pp Pool handle structure as previously passed to pool init base Base address of the root data memory area to append to this pool This must be nel elsize bytes long Typically this would be a static global array nel Number of elements in the memory area The sum of nel and the current number of elements must not exceed 32767 RETURN VALUE Currently always zero If you define the macro POOL DEBUG then parameters are checked If the parameters look bad then an exception is raised You can define POOL VERBOSE to get printf messages LIBRARY POOL LIB SEE ALSO pool init 274 Dynamic C Function Reference Manual pool init int
70. 4 SerFrdFlush cceceeeeee ees 335 SCKFrdFree supire reis 335 serFrdUsed ssssssssssesesesseseee 336 SerFread aar S TSN 337 serFwrFlush cceceeeeee ees 338 serbwrbree ee cececeee ee eeee ees 338 SCKFWIite aideso aneii e as 339 KE 341 SE Eben EES 340 set32kHzDivider 666 342 setClockModulation 343 BEE 344 SetVectExtern2000 345 SetVectExtern3000 346 SetVectIntern ccccceceees 347 sf_getPageCount 00068 349 sf_getPageSize cceeeeeee 349 She EE 350 Sf_initDeViCe ceeee eee ees 351 Sf_isWTitiNg cece eeee eens 352 sf_pageTORAM 00008 352 sf_RAMToPage 266 353 sf_readDeviceRAM 354 Sf_readPage ccceceeeseeeeee 355 sf_readRAM nsseessesesessssese 356 sf_writeDeviceRAM 357 Sf_writePage cceeeeceeeeee 358 sf_writeRAM cceeeee eee eee 359 SESPUINI ee EE EN ENNEN 360 EECH 360 tU 361 SIDEN the eege EEN 362 SPHNIt cssss ssesstentivdsseeseevassen 363 SPlRead NNN 364 ei HR EE 365 SPIWIRG ege gees estate 366 B IER 367 ENEE 368 SANA EE 368 SEREA E IA E A EATA 369 SECDE aroia aiis 370 B EEERR nn naai 371 SOT arri eas 372 BEE ee 373 REECH wetusaxsletesie dian woaanids 373 SIEN eebe SEENEN 374 SCHER Ee 374 SCD ii aa 375 SEMpi posees iian 376 SEICDY EE 377 SUDD cresseiii gonen ieis 378 StITChY hesari Is 379 Gu E 379 EEN 380 r
71. 45 Uc read chat 145 i2c_send_ack resiente 146 i2c_send_nak eceeeeeeee 146 E Start ansa atena 147 12C_StartW_tX ceeeececeeeeeeeeee 148 126 SLOPEIK EEE 149 i2c_write_Char ecceeeeeee 149 IntervalMS cceeeceeeeeeeeee 133 IntervalSec oo ceeeeeceeeeeeeeee 133 IntervalTick ceceeeee scene 134 EE 134 Dynamic C Function Reference Manual eescht ode 135 nf_getPageCount cccceee 172 ET EE 135 nf_getPageSize cccccccccceees 173 TEE 136 tU KE 174 E EE 136 nf_InitDriver s es 176 ISCODONE vssicsscevaesigucs See Edge 137 nf_isBusyRBHW 0606 177 isCORUNNING ceeseeeeeeees 137 nf_isBusyStatus c00 178 E E 138 EEN 179 RE eisene 139 nf_writePage daueren 180 ISIOWEL eissioes 139 ISPITU ZER Eed 140 O Ispunct EE et OpenInputCompressedFile me 181 ER SEAN d AEN NEEN E Ae 142 OpenOutputCompressedFile 8 182 Keier Me DETTETTTETTTTTTTETTTTTTTTTETTEE 1 42 OS_ENTER_CRITICAL Sae 1 8 3 isxdigit EETAS E TELETA S SETE YOTTI 143 OS_EXIT_CRITICAL Ge 1 83 EE i sacs ves S A e eh e OSFlagAccept MEN 184 K OSFlagCreate cccccccccccceees 186 OSFlagDel ccesscseeeceeeees 187 EE 150 OSFlagPend ccsscccccceceees 188 RE 190 L OSFlagQuery cccsecseccceceees 191 tee 150 SEN e OSMboxAccept ccceececcceeeees 192 Ide EE 151 Eege 151 OSMboxCreate os seeeeesseees 193 OSMboxDel oseese 194 EE EE 152 195 JONGJMP rrenari eee eee ee eens 152 OSMboxPend unn 196
72. 7 30 Note Portions of the User block may be used by the BIOS to store values such as calibration constants See the manual for your particular board for more informa tion before overwriting any part of the User block PARAMETERS dests Pointer to array of destinations to copy data to numbytes Array of numbers of bytes to be written to each destination numdests Number of destinations addr Address offset in User block to read from RETURN VALUE 0 Success 1 Invalid address or range 2 No valid System ID block found block version 3 or later LIBRARY IDBLOCK LIB SEE ALSO writeUserBlockArray readUserBlock Chapter 1 Function Descriptions 319 res void res void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Clears specified bit at memory address to 0 Bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address amp 1L lt lt bit PARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit LIBRARY UTIL LIB SEE ALSO RES 320 Dynamic C Function Reference Manual RES void RES void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Clears specified bit at memory address to 0 bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address amp 1L lt lt bit P
73. 9 OSSemAccept sceeeseeeeeeeee 219 mod WEE EE 170 OSSemCreate cccccccccccececee 220 N OSSemPend cccceeeeeees 221 OSSemPost cccceeeeeeeeees 222 nf _eraseBlock cccccccseeeeeees 171 OSSemQuery serere 223 vii Dynamic C Function Reference Manual OSSetTickPerSec 06 224 EE 224 OSStatInit et 225 OSTaskChangePrio 225 OSTaskCreate cssccceeees 226 OSTaskCreateEXt cceeee 227 OSTaskCreateHook 228 OSTaskDel acsiheisereieetacvaades 229 OSTaskDelHook 0046 230 OSTaskDelReq sscccccceceees 231 OSTaskIdleHook 232 OSTaskQuery cccsccceccceceees 232 OSTaskResume ec0000 233 OSTaskStatHook 233 OSTaskStkChk oo eee eee 234 OSTaskSuspend osssnsssseeeeeee 235 OSTaskSwHook cc0000 236 OSTCBInitHook 236 OSTimeDly ccccccceccceeeees 237 OSTimeDIyHMSM 238 OSTimeDlyResume 239 OS Dmefls ger 240 RN kt EE 241 OSTimeSet EE 241 OSTime Tick isu arian 242 OSTimeTickHook 4 242 OSVersion EE 243 OUES ZS 243 UES hint Pantene tenis 244 P Elie EE 245 KEEN 246 paddrSS eesriie iere 247 EE 248 Palloc_fast cc ec cce eee eee 249 pavaire nanana 250 pavail_fast 0 cece eens 251 Blees eet 252 So ETTA A E 253 piirst fast deeg Edge 254 Dice tonantis a Ee 255 pfr e fast wues Eed 256 BEE egene SA intide 257 PktXclose isss isses 258 pktXgetEr
74. ACE e HDLC_BIPHASE MARK buffers A pointer to the start of the extended memory block containing the receive buffers This block must be allocated beforehand by the user The size of the block should be of buffers size of buffer 4 buffer count The number of buffers in the block pointed to by buffer buffer size The capacity of each buffer in the block pointed to by buffer RETURN VALUE 1 Actual baud rate is within 5 of the requested baud rate 0 Otherwise LIBRARY HDLC _ PACKET LIB Chapter 1 Function Descriptions 127 HDLCpeekxX int HDLCpeekx unsigned long bufptr int lenptr Where X isEorF DESCRIPTION Reports the location and size of the next available received packet if one is available This function can be used to efficiently inspect a received packet without actually copying it into a root memory buffer Once inspected the buffer can be received normally see HDLCreceivexX or dropped see HDLCdropxX This function is intended for use with the Rabbit 3000 microprocessor PARAMETERS bufptr Pointer to location in xmem of the received packet lenptr Pointer to the size of the received packet RETURN VALUE 1 The pointers bufptr and lenptr have been set for the received packet 0 No received packets available LIBRARY HDLC PACKET LIB 128 Dynamic C Function Reference Manual HDLCreceiveX int HDLCreceiveX char rx buffer int length Where X is EorF DESC
75. ARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit LIBRARY UTIL LIB SEE ALSO res Chapter 1 Function Descriptions 321 ResetErrorLlog void ResetErrorLog DESCRIPTION This function resets the exception and restart type counts in the error log buffer header This function is not called by default from anywhere It should be used to initialized the error log when a board is programmed by means other than Dynamic C cloning the Rab bit Field Utility RFU or a service processor For example if boards are mass produced with pre programmed flash chips then the test program that runs on the boards should call this function LIBRARY ERRORS LIB root2xmem int root2xmem unsigned long dest void src unsigned len DESCRIPTION Stores len characters from logical address src to physical address dest PARAMETERS dest Physical address sre Logical address len Numbers of bytes RETURN VALUE 0 Success 1 Attempt to write flash memory area nothing written 2 Source not all in root LIBRARY XMEM LIB SEE ALSO xalloc xmem2root 322 Dynamic C Function Reference Manual rtc timezone int rtc_timezone long seconds char tzname DESCRIPTION This function returns the timezone offset as known by the library The timezone is ob tained from the following sources in order of preference 1 The DHCP server This can only
76. B SEE ALSO pool xinit pxalloc pxfree phwm pavail Chapter 1 Function Descriptions 297 pxfirst long pxfirst Pool t p DESCRIPTION Get the first allocated element in an xmem pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined PARAMETERS P Pool handle structure as previously passed to pool_xinit RETURN VALUE 0 There are no allocated elements 0 Pointer to first i e oldest allocated element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxalloc pxfree pxlast pxnext pxprev 298 Dynamic C Function Reference Manual pxfirst fast xmem long pxfirst fast Pool t p DESCRIPTION Get the first allocated element in an xmem pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined This is an assembler only version of pxfirst Do not call this function from C REGISTERS Parameter in IX Trashes F HL Return value in BCDE carry flag EXAMPLE ld ix my_pool lcall pxfirst fast jr c no _elems BCDE points to first element PARAMETERS P Pool handle structure as previously passed to pool_init Pass this in IX register RETURN VALUE C flag set There are no allocated elements C flag clear NC BCDE points to first element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxfirst pxnext_ fast Chapter 1 Fun
77. C 7 25 printf would work only with the controller in pro gram mode connected to a PC running Dynamic C As of Dynamic C 7 25 it is possible to redirect printf output to a serial port during run mode by defining a macro to specify the serial port See the sample program SAMPLES STDIO_ SERIAL C for more information See below for the complete list of Dynamic C Conversion Specifiers The user should make sure that e there are enough arguments after fmt to fill in the format parameters in the format string e the types of arguments after fmt match the conversion specifiers in fmt The macro STDIO_DISABLE FLOATS can be defined if it is not necessary to format floating point numbers If this macro is defined e f and g will not be recognized This can save thousands of bytes of code space The macro STDIO_ ENABLE LONG STRINGS can be defined if it is necessary to print strings to the Stdio window that are longer than the default of 127 bytes Without defining this macro such strings are truncated The drawback of defining this macro is that if it is defined in a multi tasking application where more than one task is utilizing printf and at least one of the tasks is printing strings longer than 127 bytes the user must ensure that calls to printf are serialized via a semaphore or similar means If calls to printf are not se rialized under these conditions printf output from the different tasks may be interleaved in the Stdio window Note
78. CRIPTION Initialize an xmem memory pool A pool is a linked list of fixed size blocks taken from a contiguous area You can use pools instead of malloc when fixed size blocks are all that is needed You can have several pools with different size blocks Using memory pools is very efficient compared with more general functions like malloc There is currently no malloc implementation with Dynamic C This function should only be called once at program startup time for each pool to be used After calling this function your application must not change any of the fields in the Pool _t Structure PARAMETERS P Pool handle structure This is allocated by the caller but this function will initialize it Normally this would be allocated in static memory by declaring a global variable of type Pool_t base Base address of the xmem data memory area to be managed in this pool This must be nel elsize bytes long Typically this would be an area allocated by xalloc when your program starts nel Number of elements in the memory area 1 65535 elsize Size of each element in the memory area 4 65535 RETURN VALUE Currently always zero If you define the macro POOL DEBUG then parameters are checked If the parameters look bad then an exception is raised You can define POOL VERBOSE to get printf messages LIBRARY POOL LIB SEE ALSO pool init pxalloc pxcalloc pxfree phwm pavail 278 Dynamic C Function Reference Manual pow
79. Character string of converted number RETURN VALUE Pointer to null at end of string LIBRARY STDIO LIB SEE ALSO itoa htoa ltoa 394 Dynamic C Function Reference Manual VdGetFreewd int VdGetFreeWd char count DESCRIPTION Returns a free virtual watchdog and initializes that watchdog so that the virtual driver be gins counting it down from count The number of available virtual watchdogs is deter mined by the macro N_ WATCHDOG which is 10 by default The default can be overridden by the user e g define N WATCHDOG 11 The virtual driver is called every 0 00048828125 second On every 128th call to it e every 62 5 ms the virtual watchdogs are counted down and then tested If any virtual watchdog reaches zero this is a fatal error Once a virtual watchdog is active it should reset periodically with a call to VAHitWd to prevent the count from readching zero PARAMETERS count lt count lt 255 RETURN VALUE Integer id number of an unused virtual watchdog timer LIBRARY VDRIVER LIB Chapter 1 Function Descriptions 395 VdHitwd int VdHitWd int ndog DESCRIPTION Resets virtual watchdog counter to N counts where N is the argument to the call to VdGet FreeWd that obtained the virtual watchdog ndog The virtual driver counts down watchdogs every 62 5 ms If a virtual watchdog reaches 0 this is a fatal error Once a virtual watchdog is active it should reset periodically with a call t
80. Dynamic C Function Reference Manual ldexp float ldexp float x int n DESCRIPTION Computes x 2 PARAMETERS x The value between 0 5 inclusive and 1 0 n An integer RETURN VALUE The result of x 2 LIBRARY MATH LIB SEE ALSO frexp exp log float log float x DESCRIPTION Computes the logarithm base e of real float value x PARAMETERS x Float value RETURN VALUE The function returns INF and signals a domain error when x lt 0 LIBRARY MATH LIB SEE ALSO exp logl10 Chapter 1 Function Descriptions 151 log10 float log10 float x DESCRIPTION Computes the base 10 logarithm of real float value x PARAMETERS x Value to compute RETURN VALUE The log base 10 of x The function returns INF and signals a domain error when x lt 0 LIBRARY MATH LIB SEE ALSO log exp longjmp void longjmp jmp buf env int val DESCRIPTION Restores the stack environment saved in array env See the description of setjmp for details of use PARAMETERS env Environment previously saved with setjmp val Integer result of set jmp LIBRARY SYS LIB SEE ALSO setjmp 152 Dynamic C Function Reference Manual loophead void loophead DESCRIPTION This function should be called within the main loop ina program It is necessary for proper single user cofunction abandonment handling When two costatements are requesting access to a sing
81. E Address of vector table entry or zero if priority is not valid LIBRARY SYS LIB SEE ALSO GetVectExtern2000 SetVectIntern GetVectIntern Chapter 1 Function Descriptions 345 SetVectExtern3000 unsigned SetVectExtern3000 int interruptNum void isr DESCRIPTION Function to set one of the external interrupt jump table entries for the Rabbit 3000 and some versions of the Rabbit 2000 All Rabbit interrupts use jump vectors See SetVectIntern for more information PARAMETERS interruptNum External interrupt number 0 and 1 are the only valid values isr ISR handler address Must be a root address RETURN VALUE Jump address in vector table LIBRARY SYS LIB SEE ALSO GetVectExtern3000 SetVectIntern GetVectIntern 346 Dynamic C Function Reference Manual SetVectiIntern unsigned SetVectIntern int vectNum void isr DESCRIPTION Sets an internal interrupt table entry All Rabbit interrupts use jump vectors This function writes a j p instruction OxC3 followed by the 16 bit ISR address to the appropriate loca tion in the vector table The location in RAM of the vector table is determined and set by the BIOS automatically at startup The start of the table is always on a 0x100 boundary It is perfectly permissible to have ISRs in xmem and do long jumps to them from the vec tor table It is even possible to place the entire body of the ISR in the vector table if it is 16 bytes long or less but th
82. E ld ix my_ pool lcall palloc_ fast jr c no free HL points to element PARAMETERS P Pool handle structure as previously passed to pool_init Pass this in IX RETURN VALUE C flag set no free elements were available C flag clear NC HL points to an element If the pool is not linked your application can use this element provided it does not write more than p gt elsize bytes to it this was the el size parameter passed to pool init Ifthe pool is linked you can write p gt elsize 4 bytes to it LIBRARY POOL LIB SEE ALSO pool _ init pfree fast pavail fast palloc Chapter 1 Function Descriptions 249 pavail word pavail Pool t p DESCRIPTION Return the number of elements that are currently available for allocation PARAMETERS p Pool handle structure as previously passed to pool _init or pool xinit RETURN VALUE Number of elements available for allocation LIBRARY POOL LIB SEE ALSO pool init pool xinit phwm pnel 250 Dynamic C Function Reference Manual pavail fast xmem word pavail fast Pool t p DESCRIPTION Return the number of elements that are currently available for allocation This is an assembler only version of pavail Do not call this function from C REGISTERS Parameter in IX Trashes F DE Return value in HL Z flag EXAMPLE ld ix my_ pool lcall pavail fast HL contains number of available elements PARAMETERS P Pool ha
83. E OS MO ERR The call was successful OS TASK DEL IDLE Attempting to delete uC OS II s idle task OS PRIO INVALID The priority specified is higher than the maximum allowed Le 20S LOWEST PRIO or OS _PRIO_SELF not spec ified OS TASK DEL ERR The task to delete does not exist OS TASK DEL ISR Attempting to delete a task from an ISR LIBRARY UCOS2 LIB SEE ALSO OSTaskDelReq Chapter 1 Function Descriptions 229 OSTaskDelHook void OSTaskDelHook OS TCB ptcb DESCRIPTION Called by uC OS II whenever a task is deleted This call back function resides in UCOS2 LIB Interrupts are disabled during this call therefore it is recommended that code be kept to a minimum PARAMETERS ptcb Pointer to TCB of task being deleted LIBRARY UCOS2 LIB SEE ALSO OSTaskCreateHook 230 Dynamic C Function Reference Manual OSTaskDelReq INT8U OSTaskDelReq INT8U prio DESCRIPTION Notifies a task to delete itself A well behaved task is deleted when it regains control of the CPU by calling OSTaskDelReq OSTaskDelReq and monitoring the return value PARAMETERS prio The priority of the task that is being asked to delete itself OS PRIO SELF is used when asking whether another task wants the current task to be deleted RETURN VALUE OS MO ERR The task exists and the request has been registered OS TASK NOT EXIST The task has been deleted This allows the caller to know whether the request has been executed OS TASK DEL IDLE
84. ESCRIPTION This function decompresses a compressed file input ZF ILE opened with OpenInput CompressedFile using the LZ compression algorithm on the fly placing a number of bytes 1enx into a user specified buffer buf PARAMETERS input Input bit file buf Output buffer lenx Number of bytes to read This can be increased to get more through put or decreased to free up variable space RETURN VALUE Number of bytes read LIBRARY LZSS LIB 316 Dynamic C Function Reference Manual read rtc unsigned long read rtc void DESCRIPTION Reads seconds 32 bits directly from the Real time Clock RTC Use with caution In most cases use long variable SEC_TIMER which contains the same result unless the RTC has been changed since the start of the program If you are running the processor off the 32 kHz crystal and using a Dynamic C version prior to 7 30 use read_rtc_32kHz instead of read_rtc Starting with DC 7 30 read_rtc_32kHz is deprecated because it is no longer necessary Pro grammers should only use read_rtc RETURN VALUE Time in seconds since January 1 1980 if RTC set correctly LIBRARY RTCLOCK LIB SEE ALSO write rtc read rtc 32kHz unsigned long read rtc 32kHz void DESCRIPTION Reads the real time clock directly when the Rabbit processor is running off the 32 kHz oscillator See read_rtc for more details RETURN VALUE Time in seconds since January 1 1980 if RTC set correc
85. Error bitmasks e SER PARITY ERROR e SER_OVERRUN_ERROR Starting with Dynamic C version 7 25 the functions serEgetError and serFgetError may be used with the Rabbit 3000 microprocessor RETURN VALUE The error flags byte LIBRARY RS232 LIB Chapter 1 Function Descriptions 329 serXopen int serXopen long baud where X A B C D E F DESCRIPTION Opens serial port X This function is non reentrant The user must define the buffer sizes for each port being used with the buffer size macros XINBUFSIZE and XOUTBUFSIZE The values must be a power of 2 minus 1 e g define XINBUFSIZE 63 define XOUTBUFSIZE 127 Defining the buffer sizes to 2 1 makes the circular buffer operations very efficient If a value not equal to 2 1 is defined a default of 31 is used and a compiler warning is given Starting with Dynamic C version 7 25 the functions serEopen and serFopen may be used with the Rabbit 3000 microprocessor Note The alternate pins on parallel port D can be used for serial port B by defining SERB _USEPORTD at the beginning of a program See the section on parallel port D in the Rabbit documentation for more detail on the alternate serial port pins PARAMETERS baud Bits per second of data transfer Note that the baud rate must be great er than or equal to the peripheral clock frequency divided by 8192 RETURN VALUE 1 The baud rate achieved on the Rabbit is the same as the input baud rate The
86. IB SEE ALSO OSTaskCreate OSTaskCreateExt OSStart OSMboxAccept void OSMboxAccept OS EVENT pevent DESCRIPTION Checks the mailbox to see if a message is available Unlike OSMboxPend OSMboxAccept does not suspend the calling task if a message is not available PARAMETERS pevent Pointer to the mailbox s event control block RETURN VALUE l void 0 This is the message in the mailbox if one is available The mailbox is cleared so the next time OSMboxAccept is called the mailbox will be empty void 0 The mailbox is empty or pevent is a null pointer or you didn t pass the proper event pointer LIBRARY OS MBOX C Prior to DC 8 UCOS2 LIB SEE ALSO OSMboxCreate OSMboxPend OSMboxPost OSMboxQuery 192 Dynamic C Function Reference Manual OSMboxCreate OS EVENT OSMboxCreate void msg DESCRIPTION Creates a message mailbox if event control blocks are available PARAMETERS msg RETURN VALUE l void 0 void 0 LIBRARY Pointer to a message to put in the mailbox If this value is set to the null pointer Oe void 0 then the mailbox will be considered empty A pointer to the event control clock OS EVENT associated with the created mailbox No event control blocks were available OS MBOX C Prior to DC 8 UCOS2 LIB SEE ALSO OSMboxAccept OSMboxPend OSMboxPost OSMboxQuery Chapter 1 Function Descriptions 193 OSMboxDel OS EVENT OSMboxDel OS EVEN
87. If requesting to delete uC OS II s idletask OS PRIO INVALID The priority specified is higher than the maximum allowed Le 2 OS LOWEST PRIO or OS_ PRIO_ SELF is not specified OS TASK DEL REQ A task possibly another task requested that the running task be deleted LIBRARY UCOS2 LIB SEE ALSO OSTaskDel Chapter 1 Function Descriptions 231 OSTaskIdleHook void OSTaskIdleHook void DESCRIPTION This function is called by the idle task This hook has been added to allow you to do such things as STOP the CPU to conserve power Interrupts are enabled during this call LIBRARY UCOS2 LIB OSTaskQuery INT8U OSTaskQuery INT8U prio OS TCB pdata lr DESCRIPTION Obtains a copy of the requested task s task control block TCB PARAMETERS prio Priority number of the task pdata Pointer to task s TCB RETURN VALUE OS MO ERR The requested task is suspended OS PRIO INVALID The priority you specify is higher than the maximum allowed Le 2 OS LOWEST PRIO or OS_ PRIO_ SELF is not specified OS PRIO ERR The desired task has not been created LIBRARY UCOS2 LIB 232 Dynamic C Function Reference Manual OSTaskResume INT8U OSTaskResume INT8U prio DESCRIPTION Resumes a suspended task This is the only call that will remove an explicit task suspen sion PARAMETERS prio The priority of the task to resume RETURN VALUE OS MO ERR The requested task is resumed OS PRIO INVALID The priority specified is higher than t
88. METERS dest Logical address sre Physical address len Numbers of bytes RETURN VALUE 0 Success 1 Attempt to write flash memory area nothing written 2 Destination not all in root LIBRARY XMEM LIB SEE ALSO root2xmem xalloc Chapter 1 Function Descriptions 415 xmem2xmem int xmem2xmem unsigned long dest unsigned long src unsigned len DESCRIPTION Stores len characters from physical address src to physical address dest PARAMETERS dest Physical address of destination sre Physical address of source data len Length of source data in bytes RETURN VALUE 0 Success 1 Attempt to write flash memory area nothing written LIBRARY XMEM LIB 416 Dynamic C Function Reference Manual xmemchr long xmemchr long src char ch unsigned short n DESCRIPTION Search for the first occurrence of character ch in the xmem area pointed to by src PARAMETERS src xmem linear address of the first character to search ch Character to search for n Maximum number of characters to search RETURN VALUE 0 Character was not found within n bytes from the start gt 0 Physical address of the first character that matched ch LIBRARY XMEM LIB Chapter 1 Function Descriptions 417 xmemcmp int xmemcmp long xstr char str unsigned short n DESCRIPTION Test whether xmem string at xstr matches the root memory string at str n bytes are compared PARAMETERS xstr xmem linear address of
89. N Computes the arccosine of real float value x Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Assumed to be between 1 and 1 RETURN VALUE Arccosine of the argument in radians If x is out of bounds the function returns 0 and signals a domain error LIBRARY MATH LIB SEE ALSO cos cosh asin atan 2 Dynamic C Function Reference Manual acot float acot float x DESCRIPTION Computes the arcotangent of real float value x Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Assumed to be between INF and INF RETURN VALUE Arccotangent of the argument in radians LIBRARY MATH LIB SEE ALSO tan atan Chapter 1 Function Descriptions acsc float acsc float x DESCRIPTION Computes the arccosecant of real float value x Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Assumed to be between INF and INF RETURN VALUE The arccosecant of the argument in radians LIBRARY MATH LIB SEE ALSO sin asin 4 Dynamic C Function Reference Manual AESdecrypt void AESdecrypt char data char expandedkey int nb int nk DESCRIPTION Decrypts a block of data using an implementation of the Rijndael AES cipher The en crypted block of data is overwritten by the decrypted block of data PARAMETERS data A block of data to be decrypted expandedkey
90. N This function waits for a mutual exclusion semaphore Note that e The task that owns the Mutex MUST NOT pend on any other event while it owns the mutex e You MUST NOT change the priority of the task that owns the mutex PARAMETERS pevent Pointer to mutex s event control block timeout Optional timeout period in clock ticks If non zero your task will wait for the resource up to the amount of time specified by this argu ment If you specify 0 however your task will wait forever at the specified mutex or until the resource becomes available err Pointer to where an error message will be deposited Possible error messages are OS NO_ERR The call was successful and your task owns the mu tex OS TIMEOUT The mutex was not available within the specified time OS ERR EVENT TYPE If you didn t pass a pointer to a mutex OS ERR _PEVENT NULL pevent is a null pointer OS ERR DEND ISR If you called this function from an ISR and the result would lead to a suspension LIBRARY OS _MUTEX C 206 Dynamic C Function Reference Manual OSMutexPost INT8U OSMutexPost OS EVENT pevent DESCRIPTION This function signals a mutual exclusion semaphore PARAMETERS pevent Pointer to mutex s event control block RETURN VALUE OS MO ERR The call was successful and the mutex was signaled OS ERR EVENT TYPE If you didn t pass a pointer to a mutex OS _ERR_PEVENT_ NULL pevent is a null pointer OS ERR POST ISR Attempted to
91. N VALUE Distance in kilometers LIBRARY GPS LIB 122 Dynamic C Function Reference Manual hanncp1lx void hanncplx int x int N int blockexp DESCRIPTION Convolves an N point complex spectrum with the three point Hann kernel The filtered spectrum replaces the original spectrum The function produces the same results as would be obtained by multiplying the corre sponding time sequence by the Hann raised cosine window The zero crossing width of the main lobe produced by the Hann window is 4 DFT bins The adjacent sidelobes are 32 db below the main lobe Sidelobes decay at an asymptotic rate of 18 db per octave N must be a power of 2 and between 4 and 1024 An invalid N causes a RANGE excep tion PARAMETERS x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent LIBRARY FFT LIB SEE ALSO fftcplx fftcplxinv fftreal fftrealinv hanncplx powerspectrum Chapter 1 Function Descriptions 123 hannreal void hannreal int x int N int blockexp DESCRIPTION Convolves an N point positive frequency complex spectrum with the three point Hann kernel The function produces the same results as would be obtained by multiplying the corresponding time sequence by the Hann raised cosine window The zero crossing width of the main lobe produced by the Hann window is 4 DFT bins The adjacent sidelobes are 32 db below the m
92. N VALUE 1 Busy 0 Ready not currently erasing or writing a page LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO nf_isBusyRBHW 178 Dynamic C Function Reference Manual nf readPage int nf readPage nf device dev long buffer long page DESCRIPTION Reads data from the specified NAND flash device and page to the specified buffer in xmem Note that in the case of most error results at least some of the NAND flash page s content has been read into the specified buffer Although the buffer content must be con sidered unreliable it can sometimes be useful for inspecting page content in bad blocks PARAMETERS dev Pointer to an initialized nf device structure dev Physical address of the xmem buffer to read data into page Specifies the zero based number of a NAND flash page to be read relative to the first good page s number RETURN VALUE 0 Success or the first error result encountered 1 NAND flash device is busy 2 Block check time out error 3 Page is in a bad block 4 Page read time out error 5 Uncorrectable data or ECC error LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 Chapter 1 Function Descriptions 179 nf writePage int nf writePage nf device dev long buffer long page DESCRIPTION Writes data to the specified NAND flash device and page fr
93. Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Angle in radians RETURN VALUE Sine of x LIBRARY MATH LIB SEE ALSO sinh asin cos tan 360 Dynamic C Function Reference Manual sinh float sinh float x DESCRIPTION Computes the hyperbolic sine of x This functions takes a unitless number as a parameter and returns a unitless number PARAMETERS x Value to compute RETURN VALUE The hyperbolic sine of x If x gt 89 8 approx the function returns INF and signals a range error If x lt 89 8 ap prox the function returns INF and signals a range error LIBRARY MATH LIB SEE ALSO sin asin cosh tanh Chapter 1 Function Descriptions 361 snprintf int snprintf char buffer int len char format DESCRIPTION This function takes a string pointed to by format arguments of the format and outputs the formatted string to the buffer pointed to by buffer snprintf will only output up to len characters The user should make sure that e there are enough arguments after format to fill in the format parameters in the format string e the types of arguments after format match the format fields in format For example snprintf buffer s x variable x 256 puts the string variable x 100 into buffer A complete list of valid conversion specifiers Yd s etc can be found in the descrip tion for printf under Dyn
94. PRIO INVALID LIBRARY UCOS2 LIB SEE ALSO OSTaskCreateExt Task priority already exists each task MUST have a unique priority The priority specified is higher than the maximum allowed i e gt OS LOWEST DRIOL 226 Dynamic C Function Reference Manual OSTaskCreateExt INT8U OSTaskCreateExt void task void pdata INT8U prio INT16U id INT16U stk size void pext INT16U opt DESCRIPTION Creates a task to be managed by uC OS II Tasks can either be created prior to the start of multitasking or by a running task A task cannot be created by an ISR This function is similar to OSTaskCreate except that it allows additional information about a task to be specified PARAMETERS task pdata prio id stk_ size pext opt RETURN VALUE OS_NO ERR OS PRIO EXIT Pointer to task s code Pointer to optional data area used to pass parameters to the task at start of execution The task s unique priority number the lower the number the higher the priority The task s identification number 0 65535 Size of the stack in number of elements If OS STKis setto INT8U stk_size corresponds to the number of bytes available If OS_STKis set to INT16U stk_size contains the number of 16 bit entries available Finally if OS STK is set to INT32U stk_size contains the number of 32 bit entries available on the stack Pointer to a user supplied Task Control Block TCB extension The lower 8
95. RARY NFLASH FAT LIB This function was introduced in Dynamic C 9 01 176 Dynamic C Function Reference Manual nf isBusyRBHW int nf isBusyRBHW nf device dev DESCRIPTION Returns 1 if the specified NAND flash device is busy Uses the hardware Ready Busy check method and can be used to determine the device s busy status even at the start of a read page command Note that this function briefly enforces the Ready Busy input port bit reads the pin status and then restores the port bit to its previous input output state There should be little or no visible disturbance of the LED output which shares the NAND flash s Ready Busy status line PARAMETERS dev Pointer to an initialized nf device structure for the particular NAND flash chip RETURN VALUE 1 Busy 0 Ready not currently transferring a page to be read or erasing or writing a page 1 Error unsupported Ready Busy input port LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO nf _isBusyStatus Chapter 1 Function Descriptions 177 nf isBusyStatus int nf isBusyStatus nf device dev DESCRIPTION Returns 1 if the specified NAND flash device is busy erasing or writing to a page Uses the software status check method which can not must not be used to determine the de vice s busy status at the start of a read page command PARAMETERS dev Pointer to an initialized nf device structure for the particular NAND flash chip RETUR
96. RIPTION Copies a received packet into rx_buffer if there is one Packets are received in the or der they arrive even if multiple packets are currently stored in buffers This function is intended for use with the Rabbit 3000 microprocessor PARAMETERS rx buffer Pointer to the buffer to copy a received packet into length Size of the buffer pointed to by rx_buffer RETURN VALUE 20 Size of received packet 1 No packets are available to receive 2 The buffer is not large enough for the received packet In this case the packet remains in the receive buffer LIBRARY HDLC PACKET LIB Chapter 1 Function Descriptions 129 HDLCsendxX int HDLCsendX char tx buffer int length WhereXisEorF DESCRIPTION Transmits a packet out serial port E or F in HDLC mode The tx_buffer is read directly while transmitting therefore it cannot be altered until a subsequent call to HDLCsendingxX returns false indicating that the driver is done with it This function is intended for use with the Rabbit 3000 microprocessor PARAMETERS tx buffer A pointer to the packet to be sent This buffer must not change while transmitting see above length The size of the buffer in bytes RETURN VALUE 1 Sending packet 0 Cannot send another packet is currently being transmitted LIBRARY HDLC PACKET LIB 130 Dynamic C Function Reference Manual HDLCsendingX int HDLCsendingX Where XisEorF DESCRIPTION Returns
97. RIPTION Similar to DelayMs but provides a periodic delay based on the time from the previous call Intended for use with wait for PARAMETERS sec The number of seconds to delay RETURN VALUE 0 Not finished 1 Delay has expired LIBRARY COSTATE LIB Chapter 1 Function Descriptions 133 IntervalTick int IntervalTick long tick DESCRIPTION Provides a periodic delay based on the time from the previous call Intended for use with waitfor A tick is 1 1024 seconds PARAMETERS tick The number of ticks to delay RETURN VALUE 0 Not finished 1 Delay has expired LIBRARY COSTATE LIB ipres void ipres void DESCRIPTION Dynamic C expands this call inline Restore previous interrupt priority by rotating the IP register LIBRARY UTIL LIB SEE ALSO ipset 134 Dynamic C Function Reference Manual ipset void ipset int priority DESCRIPTION Dynamic C expands this call inline Replaces current interrupt priority with another by ro tating the new priority into the IP register PARAMETERS priority Interrupt priority range 0 3 lowest to highest priority LIBRARY UTIL LIB SEE ALSO ipres isalnum int isalnum int c DESCRIPTION Tests for an alphabetic or numeric character A to Z a to z and 0 to 9 PARAMETERS c Character to test RETURN VALUE 0 if not an alphabetic or numeric character 0 otherwise LIBRARY STRING LIB SEE ALSO isalpha isdig
98. RP pgrp INT8U opt INT8U err DESCRIPTION This function deletes an event flag group and readies all tasks pending on the event flag group Note that e This function must be used with care Tasks that would normally expect the presence of the event flag group must check the return code of OSFlagAccept and OSFlagPend e This call can potentially disable interrupts for a long time The interrupt disable time is directly proportional to the number of tasks waiting on the event flag group PARAMETERS pgrp Pointer to the desired event flag group opt May be one of the following delete options e OS DEL NO PEND Deletes the event flag group only if no task pending e OS DEL ALWAYS Deletes the event flag group even if tasks are waiting In this case all the tasks pending will be readied err Pointer to an error code May be one of the following values e OS MO ERR Success the event flag group was deleted e OS ERR DEL ISR If you attempted to delete the event flag group from an ISR e OS FLAG INVALID PGRP Ifpgrp is a null pointer e OS ERR EVENT TYPE You are not pointing to an event flag group e OS ERR EVENT TYPE If you didn t pass a pointer to an event flag group e OS ERR INVALID OPT Invalid option was specified e OS ERR TASK WAITING One or more tasks were waiting on the event flag group RETURN VALUE pevent Error OS_ EVENT 0 Semaphore was successfully deleted LIBRARY OS FLAG C Prior to DC 8 UCOS2
99. R_CRITICAL 183 OS_EXIT_CRITICAL aiiesseeeeseee 183 OSFlagAccept lt islscadiasteneotacnte ss 184 OSFlacCreate acssnnuniacicianiies 186 RER EE 187 OS FlacPend E 188 OSFlagP 0St ininsert 190 OS Fie Query EH 191 OSlnib sciatic nesta eee 192 OSMboxAccept ai scccssctsseceaanaciedes 192 OSMboxCreate ceessececessseeees 193 OSMboxDel EEN 194 OSMboxPend cinco acts 195 OSMboxPost sisesssssicssdesiasiarsanednecs 196 OSMboxPostO pts jest abies heater 197 OS MbOKOMEIY egene 198 OSMemCreate tele eege tas 199 OSMemGet sc Geen senitir ce eevee 200 OSMemPut ox2ePacsSssehSenatecs iets 201 OSMemQuery sissies 202 OSMutexAccept ccccssececessseeees 203 OSMutexCreate ee Ee 204 OSMutexDel duscsanteianitiatacmattinnta 205 E 206 xvi Dynamic C Function Reference Manual OSMutexPost lt sisi cctscasacuscaiaaesiadades 207 RTE 241 OSMutex Query scsieisiisasiecsdansesecas 208 OSTimeSet EE 241 OSQACCEDE cutdinitive Gh iini 209 OS TIME TICK EE 242 EISE Create Ne 210 OSTimeTickHook c00ccccceeee 242 OSQFlush 212 OS Version cccccccceeeeeseeessnenesenens 243 OSQPend EE 213 OSOP OS ee 214 Miscelanenus GIS eegen 215 ON QIMP osinn 152 OSOP6KOpE Ee 216 GSO E 311 See 217 LTTE UE AEE EA 324 OSSchedL oCK oooecoooooooceocccccccc 218 SEH 344 OSSchedUnlock cccecceeeeeee ences 218 Multitasking OSSeMACCEPE en 219 COBERIM siinsesse is 31 OSSemCreate En 220 EEN A0 OSSemPend En 221 Eet ebe enger
100. Reference Manual readUserBlock se scccceceees 318 SerCparity eet g gel e 331 readUserBlockArray 645 319 serCpeek gien seceuvasedeca 332 RES EE 321 SCLCPULC eih asaina 333 ER 320 SCLCPUES resna n 334 ResetErrorLog seesseceeeees 322 serCrdFlush sesccceeeeeees 335 TOOtZXMEM nosssesererererererereree 322 serCrdFree cccccceeeeeeeeeeee 335 rtc_tiMeZONE oo eee 323 serCrdUsed ccccccceeeeeeeeeee 336 TUNWAtCH oo ceeeeeeeeeseeeeeeeeeees 324 serCread NN 337 CWrFlush NEEN 338 S EE Ee dee 338 SCTACIOSE fs oe ee lect NEE 325 Bettmer 339 serAdatabits ccceeeeeeeeees 325 serDclose Re ae ee a EE 325 E E TEE 326 serDdatabits cccceeeeee ees 325 SE dee 327 serDflowcontrolOff 326 SET edd inden ege EEN 328 serDflowcontrolOn 327 serAgetError cee eee eee seen 329 EEN Sete way ee cae ks SC SCTAOPEN ceeceeeeeceeeeees 330 EE EE 331 SET DOPEN 53 iiascavedadateeasvcasees 330 Ee EE 332 SerDparity een SEPA PUIG deg deee egE de e cede 333 serDpeek nen Hane Sei EE 334 SELDPULC Een 333 GE A 335 serDputs ccccecsececececeeeesens 334 serArdFree 022 decscecvedsecsces cess 335 serDrdFlush sssesseseesessees 335 E E EENS 336 SerDrd Frees 2025 ccecct s ices ncetes 335 serAread oo ceeeeceeeesesseeeceseeeees 337 serDrdUsed en 336 SSMS DE ENEE 338 SerDread ccceseseeeeeeeeeeees 337 SCTAWIFTEE cececeeceeesceees 338 serDwrPlush
101. Return value in HL carry flag EXAMPLE ld ix my pool lcall plast_ fast jr c no_elems HL points to last element PARAMETERS p Pool handle structure as previously passed to pool init Pass this in IX register RETURN VALUE C flag set HL 0 there are no allocated elements C flag clear NC HL points to last element LIBRARY POOL LIB SEE ALSO pool init pool link plast pprev_fast 266 Dynamic C Function Reference Manual pmovebetween void pmovebetween Pool t p void e void d void f DESCRIPTION Atomically remove allocated element e and re insert it between allocated elements d and f Atomically means that the POOL_IPSET level is used to lock out other CPU contexts from altering the pool while this operation is in progress In addition qd and f are checked to ensure that the following conditions still hold pprev p f d and pnext p d f in other words f follows d This is useful since your application may have determined d and f some time ago but in the meantime some other task may have re ordered the queue or deleted these elements In this case the return value will be null Your applica tion should then re evaluate the appropriate queue elements and retry this function The pool MUST be set to being a linked pool by using pool link p lt non zero gt Otherwise the results are undefined PARAMETERS P Pool handle struct
102. SETBputs seeeeeseesseees 36 EEN 3 COf_serBread sseeeseesseees 37 BCEE E EAEE 4 cof_serBwrite EE 38 AESdecrypt cccccssesesessesscseeseees 5 COf_serCgete svesessitecssesensecsiens 33 AES decryptStream A nN 6 cof_serCgets dier dh 34 AESencrypt ccccccececeeeeeeeeeeees 7 CO sert Du EEN 35 AESencryptStre AIM R NNEN 8 cof_serCputs Lessa ell AE 3 6 AESexpandKey ccccceeseeeeeees 9 COf_serCread ccecececeeeeeeeees 37 AESinitStream 10 COf_SerCWrite ceceeceeeece ees 38 EE EE 11 COF_SeTDgete sseeeeereesseeee 33 TEE 12 COF_serDgets REENEN 34 EE 13 COF_SeTDPULC seeeereeeseees 35 PLATZ EES date 14 COF_serDputs ENNEN 36 DEE 15 COf_serDread An 37 ALOL ENEE Ee 16 cof_serDwrite ceseeeeeeeeeees 38 SE 17 COf_serEgete EEN 33 COf_SerEgetS sisiisissmins siss 34 B cof_serEputs oo eee eee e teens 36 BIT 19 Cof_SerEWTite eceeceeeeee ees 38 Eege aes SE Ge BitRdPortE oe ssseeessessssesseeeoes 20 SE 4 BitRdPortI ccssscssseessesseeeoes 21 Een BitWrPortE o cesesseeseeseeseeeees 22 COs SAE Lead ipd 37 BitWrPortI 23 cof_serFwrite sessssssessssssssse 38 CEET ENEE CompressFile e 39 Cc O 40 CORESet orses snieter 40 CalculateECC256 nenn 24 CoResume sesssessseessersserssersse 41 a EE ET 26 O EE 42 ChkCorrectECC256 nn 25 Eet Ae Eege 42 chkHardReset c cccceeeeeeee 27 chkSoftReset cccccccceeeeeeees 27 D CAKWDTO nessies teienei 28 clockDoublerOff
103. Sets the first n bytes of a block of memory pointed to by dst to the character chr PARAMETERS dst Block of memory to set chr Character that will be written to memory n Amount of bytes to set RETURN VALUE dst Pointer to block of memory LIBRARY STRING LIB Chapter 1 Function Descriptions 167 mktime unsigned long mktime struct tm timeptr DESCRIPTION Converts the contents of structure pointed to by timeptr into seconds struct tm char char char char char char char i PARAMETERS timeptr RETURN VALUE tm_sec tm_min tm_hour tm_mday tm_mon tm_year tm_wday td seconds 0 59 0 59 0 23 1 31 1 12 80 147 1980 2047 0 6 0 sunday Pointer to tm structure Time in seconds since January 1 1980 LIBRARY RTCLOCK LIB SEE ALSO mktm tm_rd tm wr 168 Dynamic C Function Reference Manual mktm unsigned int mktm struct tm timeptr unsigned long time DESCRIPTION Converts the seconds t ime to date and time and fills in the fields of the tm structure with the result struct tm char char char char char char char PARAMETERS timeptr time RETURN VALUE 0 LIBRARY RTCLOCK LIB SEE ALSO tm_sec seconds 0 59 tm_min 0 59 tm_hour 0 23 tm_mday 1 31 tm_mon 1 12 tm_year 80 147 1980 2047 tm_wday 0 6 O0 sunday Address to store date and time into structure Seconds since Ja
104. T pevent INT8U opt INT8U err DESCRIPTION This function deletes a mailbox and readies all tasks pending on the mailbox Note that e This function must be used with care Tasks that would normally expect the presence of the mailbox MUST check the return code of OSMboxPend e OSMboxAccept callers will not know that the intended mailbox has been deleted unless they check pevent to see that it s a null pointer e This call can potentially disable interrupts for a long time The interrupt disable time is directly proportional to the number of tasks waiting on the mailbox e Because ALL tasks pending on the mailbox will be readied you MUST be careful in applications where the mailbox is used for mutual exclusion because the resource s will no longer be guarded by the mailbox PARAMETERS pevent Pointer to the event control block associated with the desired mail box opt May be one of the following delete options e OS DEL NO_PEND Delete mailbox only if no task pending e OS DEL ALWAYS Deletes the mailbox even if tasks are waiting In this case all the tasks pending will be readied err Pointer to an error code that can contain one of the following values e OS NO ERR Call was successful mailbox was deleted e OS ERR DEL ISR Attempt to delete mailbox from ISR e OS ERR INVALID OPT Invalid option was specified e OS ERR TASK WAITING One or more tasks were waiting on the mailbox e OS ERR EVENT TYPE No pointer
105. TERS ticks Number of clock ticks to delay the task LIBRARY UCOS2 LIB SEE ALSO OSTimeD1yHMSM OSTimeDlyResume OSTimeDlySec Chapter 1 Function Descriptions 237 OSTimeDlyHMSM INT8U OSTimeDlyHMSM INT8U hours INT8U minutes INT8U seconds INT16U milli DESCRIPTION Delays execution of the task until specified amount of time expires This call allows the delay to be specified in hours minutes seconds and milliseconds instead of ticks The res olution on the milliseconds depends on the tick rate For example a 10 ms delay is not possible if the ticker interrupts every 100 ms In this case the delay would be set to 0 The actual delay is rounded to the nearest tick PARAMETERS hours Number of hours that the task will be delayed max is 255 minutes Number of minutes max 59 seconds Number of seconds max 59 milli Number of milliseconds max 999 RETURN VALUE OS NO ERR Execution delay of task was successful OS TIME INVALID MINUTES Minutes parameter out of range OS TIME INVALID SECONDS Seconds parameter out of range OS TIME INVALID MS Milliseconds parameter out of range OS TIME ZERO DLY LIBRARY OS TIME OC Prior to DC 8 ucos2 1lib SEE ALSO OSTimeDly OSTimeDlyResume OSTimeDlySec 238 Dynamic C Function Reference Manual OSTimeDlyResume INT8U OSTimeDlyResume INT8U prio DESCRIPTION Resumes a task that has been delayed through a call to either OSTimeD1ly or OSTimeD1yHMSM Note that this
106. The offset in bytes of the read pointer from the beginning of the file Success 1 Failure LIBRARY FILESYSTEM LIB 106 Dynamic C Function Reference Manual ftell FS2 long ftell File f DESCRIPTION Return the current read write position of the file Bytes in a file are sequentially numbered starting at zero If the current position is zero then the first byte of the file will be read or written If the position equals the file length then no data can be read but any write will append data to the file Note that no checking is done to see if the file descriptor s valid If the File is not actually open the return value will be random PARAMETERS f Pointer to file descriptor initialized by fopen_rd Zopen wr or fcreate RETURN VALUE Current read write position 0 to length of file ERRNO VALUES None LIBRARY fs2 lib SEE ALSO fseek FS2 Chapter 1 Function Descriptions 107 fshift int fshift File sf int len void buf DESCRIPTION Delete data from the start of a file opened for writing Optionally the data that was re moved can be read into a buffer The current position of the file descriptor is adjusted to take account of the changed file offsets If the current position is pointing into the data that is removed then it is set to zero i e the start of data immediately after the deleted section The specified file must not be opened with other file descriptors
107. This License is effective for the duration of the copyright in the Software unless terminated You may terminate this License at any time by destroying all copies of the Soft ware and its documentation This License will terminate immediately without notice from Z WORLD if You fail to comply with any provision of this License Upon termination You must destroy all copies of the Software and its documentation Except for Section 2 License all Sections of this Agreement shall survive any expiration or termination of this License Dynamic C Function Reference Manual 427 9 General Provisions No delay or failure to take action under this License will constitute a waiver unless expressly waived in writing signed by a duly authorized representative of Z WORLD and no single waiver will constitute a continuing or subsequent waiver This License may not be assigned sublicensed or otherwise transferred by You by operation of law or other wise without Z WORLD s prior written consent This License shall be governed by and con strued in accordance with the laws of the United States and the State of California exclusive of the conflicts of laws principles The United Nations Convention on Contracts for the Interna tional Sale of Goods shall not apply to this License If for any reason a court of competent jurisdiction finds any provision of this License or portion thereof to be unenforceable that provision of the License shall be enforced to the
108. UE 0 Successful 1 Clock read failed LIBRARY RTCLOCK LIB SEE ALSO mktm mktime tm_wr Chapter 1 Function Descriptions 387 int tm_wr struct tm St DESCRIPTION tm wr Sets the system time from a tm struct It is important to note that although tm_rd reads the SEC_ TIMER variable not the RTC tm_wr writes to the RTC directly and SEC_TIMER is not changed until the program is restarted The reason for this is so that the DelaySec function continues to work correctly after setting the system time To make tm_rd match the new time written to the RTC without restarting the program the following should be done tm wr tm SEC_TIMER mktime tm But this could cause problems if a waitfor DelaySec n is pending completion in a cooperative multitasking program or if the SEC_TIMER variable is being used in an other way the user so user beware PARAMETERS t Pointer to structure to read date and time from struct tm char tm_sec seconds 0 59 char tm_min 0 59 char tm_hour 0 23 char tm _mday 1 31 char tm_mon 1 12 char tm_year 80 147 1980 2047 char tm wday 0 6 0 Sunday RETURN VALUE 0 Success 1 Failure LIBRARY RTCLOCK LIB SEE ALSO mktm mktime tm_rd 388 Dynamic C Function Reference Manual tolower int tolower int c DESCRIPTION Convert alphabetic character to lower case PARAMETERS c Character to convert RETURN VALUE Lower ca
109. WARE WILL MEET YOUR REQUIREMENTS OR THAT THE OPERATION OF THE SOFT WARE WILL BE UNINTERRUPTED OR ERROR FREE OR THAT DEFECTS IN THE SOFTWARE WILL BE CORRECTED FURTHERMORE Z WORLD DOES NOT WAR RANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OR THE RESULTS OF THE SOFTWARE IN TERMS OF ITS CORRECTNESS ACCURACY RELIABILITY OR OTHERWISE NO ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY Z WORLD OR ITS AUTHORIZED REPRESENTATIVES SHALL CREATE A WARRANTY OR IN ANY WAY INCREASE THE SCOPE OF THIS WARRANTY SOME JURISDIC TIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES SO THE ABOVE EXCLUSION MAY NOT APPLY TO YOU 7 Limitation of Liability YOU AGREE THAT UNDER NO CIRCUMSTANCES INCLUD ING NEGLIGENCE SHALL Z WORLD BE LIABLE FOR ANY INCIDENTAL SPECIAL OR CONSEQUENTIAL DAMAGES INCLUDING DAMAGES FOR LOSS OF BUSINESS PROFITS BUSINESS INTERRUPTION LOSS OF BUSINESS INFORMATION AND THE LIKE ARISING OUT OF THE USE AND OR INABILITY TO USE THE SOFTWARE EVEN IF Z WORLD OR ITS AUTHORIZED REPRESENTATIVE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSE QUENTIAL DAMAGES SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU IN NO EVENT SHALL Z WORLDS TOTAL LIABILITY TO YOU FOR ALL DAMAGES LOSSES AND CAUSES OF ACTION WHETHER IN CONTRACT TORT INCLUDING NEGLIGENCE OR OTHERWISE EXCEED THE AMOUNT PAID BY YOU FOR THE SOFTWARE 8 Termination
110. XsetParity char mode DESCRIPTION Configures parity generation and checking Can also configure for 2 stop bits Starting with Dynamic C version 7 25 the functions pktEset Parity and pktFsetParity may be used with the Rabbit 3000 microprocessor PARAMETERS mode Code for mode of parity bit e PKT_NOPARITY no parity bit 8N1 format default e PKT OPARITY odd parity 801 format e PKT_EPARITY even parity 8E1 format e PKT TWOSTOP an extra stop bit 8N2 format LIBRARY PACKET LIB 264 Dynamic C Function Reference Manual plast void plast Pool t p DESCRIPTION Get the last allocated element in a root pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined PARAMETERS P Pool handle structure as previously passed to pool_init RETURN VALUE null There are no allocated elements Lull Pointer to last i e youngest allocated element LIBRARY POOL LIB SEE ALSO pool init pool link palloc pfree pfirst Chapter 1 Function Descriptions 265 plast fast xmem void plast fast Pool t p DESCRIPTION Get the last allocated element in a root pool The pool MUST be set to being a linked pool using pool _link p lt non zero gt otherwise the results are undefined This is an assembler only version of plast Do not call this function from C REGISTERS Parameter in IX Trashes F DE
111. _init flash_read flash _readsector flash _writesector Chapter 1 Function Descriptions 77 flash writesector int flash writesector FlashDescriptor fd word sector unsigned long buffer DESCRIPTION Writes the contents of buffer to sector on the flash memory referenced by fd Note fd must have already been initialized with flash_init before calling this function See flash_init description for further restrictions PARAMETERS fd The FlashDescriptor of the flash memory to write to sector The destination sector buffer The physical address of the source TIP A logical address can be changed to a physical address with the function paddr RETURN VALUE 0 Success LIBRARY FLASH LIB SEE ALSO flash_erasechip flash_erasesector flash _gettype flash_init flash_read flash_readsector flash_sector2xwindow 78 Dynamic C Function Reference Manual floor float floor float x DESCRIPTION Computes the largest integer less than or equal to the given number PARAMETERS x Value to round down RETURN VALUE Rounded down value LIBRARY MATH LIB SEE ALSO ceil fmod Chapter 1 Function Descriptions 79 fmod float fmod float x float y DESCRIPTION Calculates modulo math PARAMETERS x Dividend y Divisor RETURN VALUE Returns the remainder of x y The remaining part of x after all multiples of y have been removed For example if x is 22 7 and y is 10 3 the integral divi
112. a ai A0 OSSEMPOSE En 222 CoResime ees 41 OSSeMQUETY en 223 Delay EE 46 OSSetTickPerSec en 224 KEE 47 OSStart DUTOT 224 DelayTicks EE 47 Os btatlptt ee dee eg 225 EE EEN 133 OSTaskChangePrio seeese 225 IntervalSec cccccscccccceceseessnseeeees 133 OSTaskCreate ose eececeecse 226 IntervalTick cccccccccceeeeserseeeees 134 OSTaskCreateEXt 1 0 ees 227 ISCODOMNE eege Eent 137 OSTaskCreateHOok seesssssesseees 228 EI 137 OSTaskDel nen 229 IG Oph WEE 153 OSTaskDelHOOk ssssesssesesseee 230 lOOPINt sasinen n oiris 153 OSTaskDelReg aisturcsstiasimesasios 231 OSTaskIdleHook sccsscsssesseesseeess 232 N Etuden 232 Oo task US 32 NAND Flash OSTaskResume ccesscceeessseeeees 233 nf_eraseBlock wieeiecccccceeeeeeseeseeeseees 171 OSTaskStatHook ccccececeesseeeees 233 nf_ getPageCount esoe Dee 172 OSTaskStkChk ccecccccesseeeeeeees 234 UE 173 OSTaskSuspend cceceeeeeceeeeeees 235 Be nf_initDevice wee ceeeeeeeeeceeeeeees 174 OSTaskSwHook o eecccccccccceseeeeeeeeees 236 D nf_InitDriver wo eeeeeeeeecceeeeee 176 OSTCBInitH 00k eene esac uereg 236 nf_isBusyRBHW ssasseeeseeeesseessees 177 OSTimeDly cts hac ctasnaacetecaiunecandaves 237 iit _isBusyStatus nce ocasseectnsieaccanecsads 178 OSTimeDIyHMSM eeeceeeeeeee 238 nf_readPage eege gege 179 OSTimeDlyResume ssssosesosseee0se 239 NE Write Page gesiess ae 180 OSTimeDlySec secon Soe 240 Dynami
113. a set of possible error flags as an integer A received packet with er rors is automatically dropped Masks are used to check which errors have occurred The masks are e HDLC _NOBUFFER driver ran out of buffers for received packets e HDLC_OVERRUN a byte was overwritten and lost before the ISR could retreive it e HDLC OVERFLOW a received packet was too long for the buffers e HDLC ABORTED a received packet was aborted by the sender during tranmission e HDLC_BADCRC a packet with an incorrect CRC was received This function is intended for use with the Rabbit 3000 microprocessor RETURN VALUE Error flags see above LIBRARY HDLC PACKET LIB 126 Dynamic C Function Reference Manual HDLCopenx int HDLCopenxX long baud char encoding unsigned long buffers int buffer count int buffer size WhereXisEorF DESCRIPTION Opens serial port E or F in HDLC mode Sets up buffers to hold received packets This function is intended for use with the Rabbit 3000 microprocessor Please see the Rabbit 3000 Microprocessor User s Manual for more details on HDLC and the bit encod ing modes to use PARAMETERS baud The baud rate for the serial port Due to imitations in the baud gener ator non standard baud rates will be approximated within 5 of the value requested encoding The bit encoding mode to use Macro labels for the available options are e HDLC_NRZ e HDLC NRZI e HDLC MANCHESTER e HDLC BIPHASE SP
114. acsdscssascesaaiepecnsneses 336 Stdio SerXiead EE 337 Eloge eier wie 113 serXwrFlush oui sieve Bl ede eee 338 EE 116 SEET seamen iene 338 Ebbe geg 150 EE 339 OUICHES dee Dees 243 Serial Flash OUTST tin e 244 SEET Printi EE EE 286 pa cele aga ee ep oe ee SE EE Ee 292 ee ee GER erty ate ere Se e ee 293 Se 350 SAGER E 362 sf_initDevice ooo eeeececcccccceeeeeeeeeeeees 351 SPANI emie eege 367 SEIS WEINS aoee naa 352 sf_pageTORAM c ccccccscserseeseess 352 String Manipulation st RAMfobage cecsseceeeesseeeees 353 EE E 164 sf_readDeviceRAM oseese 354 MEMMP EE 165 SE ead Page sae ceive Blade Sees 355 EE 166 sf_readRAM ein ger et eier eeng 356 MEMMOVE cceesecseceseceeeseeserteaeees 167 sf_writeDeviceRAM egene 357 memset geed edu be deeg 167 Sf Write PAGE eege 358 BEE 369 sf _writeRAM EE 359 SCIE Eiere 370 SE enee EA 360 SMEP Ee 371 SOMPE eer 372 Serial Packet Driver SEEPI EE 373 cof_pktXreceive ssessssessssesseesseesse 31 SES See a 373 POT PRLE ee oe Ce E 374 PACS esr era ae Ss BEE dee 374 EE Se SEHR enee eet ere 375 pktXinitBuffers i onic Fare 259 SC MDE scene Gah eee 376 EE Si EE EE EE 260 SUC PY e eer 377 EE SC Seege 378 E Ee EN Ge Ce Soira a E 379 P ee E e EE A SISD nenna nann sn ni 379 EE GC BE e 380 SPI OlO WEE xs cians eet 389 E 363 LOUPPET En 389 el NEE WEE 364 String to Number Conversion Kik 365 SECH 15 SPIWTRd ee 366 Ee ic Dynamic C Function Reference Manual xix GE tee 17 W SUG e SAnS 38
115. adow Reference pointer to a variable shadowing the register data Substi tute with null pointer or 0 if shadowing is not required data_value Value to be written to the data register LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI BitRdPortE BitWrPortI RdPortE WrPortE BitWrPortE Chapter 1 Function Descriptions 405 xalloc long xalloc long sz DESCRIPTION Allocates the specified number of bytes in extended memory Starting with Dynamic C version 7 04P3 the returned address is always even word aligned Starting with Dynamic C 8 if xalloc fails a run time error will occur This is a wrapper function for _xalloc for backwards compatibility It is the same as _xalloc amp sz 1 XALLOC_MAYBBB except that the actual allocated amount is not returned since the parameter is not a pointer PARAMETERS SZ Number of bytes to allocate This is rounded up to the next higher even number RETURN VALUE The 20 bit physical address of the allocated data Success 0 Failure Note Starting with Dynamic C 8 a run time exception will occur if the function fails LIBRARY STACK LIB SEE ALSO root2xmem xmem2root xavail 406 Dynamic C Function Reference Manual _xalloc long xalloc long sz word align word type DESCRIPTION Allocates memory in extended memory If xalloc fails a run time error will occur PARAMETERS SZ On entry pointer to the number of bytes to allocate On return the poin
116. ain lobe Sidelobes decay at an asymptotic rate of 18 db per octave The imaginary part of the de term stored in x 1 is considered to be the real part of the jfmax term The de and fmax spectral components take part in the convolution along with the other spectral components The real part of fmax component affects the real part of the X N 1 component and vice versa and should not arbitrarily be set to zero unless these components are unimportant PARAMETERS x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent RETURN VALUE None The filtered spectrum replaces the original spectrum LIBRARY FFT LIB SEE ALSO fftcplx fftcplxinv fftreal fftrealinv hanncplx powerspectrum 124 Dynamic C Function Reference Manual HDLCdropxX int HDLCdropx Where XisEorF DESCRIPTION Drops the next received packet freeing up its buffer This must be used if the packet has been examined with HDLCpeekxX and is no longer needed A call to HDLCreveicexX is the only other way to free up the buffer This function is intended for use with the Rabbit 3000 microprocessor RETURN VALUE 1 Packet dropped 0 No received packets were available LIBRARY HDLC PACKET LIB Chapter 1 Function Descriptions 125 HDLCerrorx int HDLCerrorx unsigned long bufptr int lenptr Where X is EorF DESCRIPTION This function returns
117. al port to use eight bit data default LIBRARY RS232 LIB Chapter 1 Function Descriptions 325 serxXflowcontroloOfEt void serXflowcontrolOff where X A B C D E F DESCRIPTION Turns off hardware flow control for serial port X A call to serXopen must be made before calling this function This function is non reentrant Starting with Dynamic C version 7 25 the functions serEf lowcontrolOff and serFflowcontrolOff may be used with the Rabbit 3000 microprocessor LIBRARY RS232 LIB 326 Dynamic C Function Reference Manual serxXflowcontrolOn void serXflowcontrolOn where X A B C D E F DESCRIPTION Turns on hardware flow control for channel X This enables two digital lines that handle flow control CTS clear to send and RTS ready to send CTS is an input that will be pulled active low by the other system when it is ready to receive data The RTS signal is an output that the system uses to indicate that it is ready to receive data it is driven low when data can be received A call to serXopen must be made before calling this function This function is non reentrant Starting with Dynamic C version 7 25 the functions serEf lowcontrolOn and serFflowcontrolOn may be used with the Rabbit 3000 microprocessor If pins for the flow control lines are not explicitly defined defaults will be used and com piler warnings will be issued The locations of the flow control lines are specified
118. alue of 0 or 1 to be written to the bit position bitcode Bit position 0 7 LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI WrPortI BitWrPortI BitRdPortE RdPortE WrPortE 22 Dynamic C Function Reference Manual BitWrPortI void BitWrPortI int port char portshadow int value int bitcode DESCRIPTION Updates shadow register at position bitcode with value 0 or 1 copies shadow to register WARNING A shadow register is required for this function PARAMETERS port Address of internal parallel port data register portshadow Reference pointer to a variable to shadow the current value of the register value Value of 0 or 1 to be written to the bit position bitcode Bit position 0 7 LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI WrPortI BitRdPortE RdPortE WrPortE BitWrPortE Chapter 1 Function Descriptions 23 CalculateECC256 long CalculateECC256 void data DESCRIPTION Calculates a 3 byte Error Correcting Checksum ECC 1 bit correction and 2 bit detection capability value for a 256 byte 2048 bit data buffer located in root memory PARAMETERS data Pointer to the 256 byte data buffer RETURN VALUE The calculated ECC in the 3 LSBs of the long Ge BCDE result Note that the MSB c e B of the long result is always zero LIBRARY ECC LIB This function was introduced in Dynamic C 9 01 24 Dynamic C Function Reference Manual ChkCorrectECC256 void ChkCorrectECC256 void data
119. amic C Conversion Specifiers The macro STDIO_ DISABLE FLOATS can be defined if it is not necessary to format floating point numbers If this macro is defined e f and g will not be recognized This can save thousands of bytes of code space This function can be called by processes of different priorities PARAMETERS buffer Location of formatted string len The maximum length of the formatted string format String to be formatted ate Format arguments RETURN VALUE The number of characters written If the output is truncated due to the 1 en parameter then this function returns the number of characters that would have been written had there been enough space LIBRARY STDIO LIB SEE ALSO printf sprintf 362 Dynamic C Function Reference Manual SPIinit void SPIinit DESCRIPTION Initialize the SPI port parameters for a serial interface only This function does nothing for a parallel interface A description of the values that the user may define before the use SPI LIB statement is found at the top of the library Lib Spi Spi 1lib LIBRARY SPI LIB SEE ALSO SPIRead SPIWrite SPIWrRd Chapter 1 Function Descriptions 363 SPIRead void SPIRead void DestAddr int ByteCount DESCRIPTION Reads a block of bytes from the SPI port The variable SPIxor needs to be set to either 0x00 or OxFF depending on whether or not the received signal needs to be inverted Most applications will not need inversion SPI
120. an detect most of these programming errors by defining the fol lowing symbols before use pool 1lib POOL _ DEBUG POOL VERBOSE PARAMETERS P Pool handle structure as previously passed to palloc e Element to free which was returned from palloc RETURN VALUE None LIBRARY POOL LIB SEE ALSO pool_init palloc pcalloc phwm pavail Chapter 1 Function Descriptions 255 pfree fast xmem void pfree fast Pool t p void e DESCRIPTION Free an element that was previously obtained via palloc This is an assembler only version of pfree Do not call this function from C pfree fast does not perform any IPSET protection or parameter validation pfree fast isa xmem function The parameters must be passed in machine registers REGISTERS Parameters in IX DE respectively Trashes BC DE HL EXAMPLE ld ix my_pool ld de element addr lcall pfree fast PARAMETERS p Pool handle structure as previously passed to pool_alloc or palloc_fast This must be in the IX register e Element to free which was returned from palloc This must be in the DE register RETURN VALUE None LIBRARY POOL LIB SEE ALSO pool init palloc_ fast pavail_ fast pxfree fast 256 Dynamic C Function Reference Manual word phwm Pool t p DESCRIPTION Return the largest number of elements ever simultaneously allocated from the given pool i e the pool high water mark You can use this function to help
121. andg void DESCRIPTION Returns a gaussian distributed random number in the range 16 0 lt v lt 16 0 with a stan dard deviation of approximately 2 6 The distribution is made by adding 16 random num bers see rand This function is not task reentrant RETURN VALUE A gaussian distributed random number 16 0 lt v lt 16 0 LIBRARY MATH LIB SEE ALSO rand randb srand RdPortE int RdPortE unsigned int port DESCRIPTION Reads an external I O register specified by the argument PARAMETERS port Address of external parallel port data register RETURN VALUE Returns an integer the lower 8 bits of which contain the result of reading the port specified by the argument Upper byte contains zero LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI WrPortI BitWrPortI BitRdPortE WrPortE BitWrPortE 314 Dynamic C Function Reference Manual RdPortI int RdPortI int port DESCRIPTION Reads an internal I O port specified by the argument PARAMETERS port Address of internal parallel port data register RETURN VALUE Returns an integer the lower 8 bits of which contain the result of reading the port specified by the argument Upper byte contains zero LIBRARY SYSIO LIB SEE ALSO RdPortE BitRdPortI WrPortI BitWrPortI BitRdPortE WrPortE BitWrPortE Chapter 1 Function Descriptions 315 ReadCompressedFile int ReadCompressedFile ZFILE input UBYTE buf int lenx D
122. arry flag is set if HL 0 otherwise it is clear LIBRARY POOL LIB SEE ALSO pmovebetween Chapter 1 Function Descriptions 269 pnel word pnel Pool t p DESCRIPTION Return the number of elements that are in the pool both free and used This includes ele ments appended using pool append etc PARAMETERS P Pool handle structure as previously passed to pool_init or pool_xinit RETURN VALUE Number of elements total LIBRARY POOL LIB SEE ALSO pool_init pool_xinit pavail 270 Dynamic C Function Reference Manual pnext void pnext Pool t p void e DESCRIPTION Get the next allocated element in a root pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined You can easily iterate through all of the allocated elements of a root pool using the follow ing construct void e Pool t p for e pfirst p e e pnext p e PARAMETERS P Pool handle structure as previously passed to pool_init e Previous element address obtained by e g pfirst This must be an allocated element in the given pool otherwise the results are undefined Be careful when iterating through a list and deleting ele ments using pfree once the element is deleted it is no longer valid to pass its address to this function If this parameter is null then the result is the same as pfirst This ensures the invarian
123. artition structure or pnum is invalid ENOPART if Partition does not exist on the device LIBRARY PART LIB SEE ALSO 160 Dynamic C Function Reference Manual mbr UnmountPartition int mbr UnmountPartition mbr drive drive int pnum DESCRIPTION Marks the partition as unmounted The partition must not have any user partition data at tached through mounting at a higher level If the Ce part pointer for the partition be ing unmounted is not null an EPERM error is returned PARAMETERS drive Pointer to a drive structure containing the partition pnum Partition number to be unmounted RETURN VALUE 0 for success EINVAL if the Drive structure or pnum is invalid ENOPART if the partition is enumerated at a higher level LIBRARY PART LIB SEE ALSO Chapter 1 Function Descriptions 161 mbr ValidatePartitions int mbr ValidatePartitions mbr drive drive DESCRIPTION This routine will validate the partition table contained in the drive structure passed It will verify that all partitions fit within the bounds of the drive and that no partitions overlap PARAMETERS drive Pointer to a drive structure RETURN VALUE 0 for success EINVAL if the partition table in the drive structure is invalid LIBRARY PART LIB SEE ALSO 162 Dynamic C Function Reference Manual md5 append void md5 append md5 state t pms char data int nbytes DESCRIPTION This function will take a buffer and com
124. assembly At the time of this writ ing the registers saved by periodic _isr are AKIP HL DE and IX LIBRARY UCOS2 LIB SEE ALSO OSTimeTick 242 Dynamic C Function Reference Manual OSVersion INT16U OSVersion void DESCRIPTION Returns the version number of uC OS II The returned value corresponds to uC OS II s version number multiplied by 100 i e version 2 00 would be returned as 200 RETURN VALUE Version number multiplied by 100 LIBRARY UCOS2 LIB outchrs char outchrs char c int n int putc DESCRIPTION Use putc to output n times the character c PARAMETERS c Character to output n Number of times to output putc Routine to output one character The function pointed to by putc should take a character argument RETURN VALUE The character in parameter c LIBRARY STDIO LIB SEE ALSO outstr Chapter 1 Function Descriptions 243 outstr char outstr char string int putc ji DESCRIPTION Output the string pointed to by string via calls to putc putc should take a one char acter parameter PARAMETERS string String to output putc Routine to output one character The function pointed to by putc should take a character argument RETURN VALUE Pointer to null at end of string LIBRARY STDIO LIB SEE ALSO outchrs 244 Dynamic C Function Reference Manual paddr unsigned long paddr void pointer DESCRIPTION Converts a logical pointer into its physi
125. be consumed by the call Example to wait for any flag in a group AND then clear the flags that are present set the wait type parameter to OS FLAG WAIT SET ANY OS FLAG CONSUME 184 Dynamic C Function Reference Manual OSFlagAccept continued err Pointer to an error code Possible values are e OS_NO_ERR No error e OS_ERR_EVENT_TYPE Not pointing to an event flag group e OS_FLAG_ERR_WAIT_TYPE Proper wait_type argu ment not specified e OS_FLAG_INVALID_PGRP null pointer passed instead of the event flag group handle e OS_FLAG_ERR_NOT_RDY Flags not available RETURN VALUE The state of the flags in the event flag group LIBRARY OS_FLAG C Prior to DC 8 UCOS2 LIB Chapter 1 Function Descriptions 185 OSFlagCreate OS FLAG GRP OSFlagCreate OS FLAGS flags INT8U err DESCRIPTION This function is called to create an event flag group PARAMETERS flags Contains the initial value to store in the event flag group err Pointer to an error code that will be returned to your application e OS _NO_ERR The call was successful e OS ERR CREATE _ ISR Attempt made to create an Event Flag from an ISR e OS FLAG GRP DEPLETED There are no more event flag groups RETURN VALUE A pointer to an event flag group or a null pointer if no more groups are available LIBRARY OS _FLAG C Prior to DC 8 UCOS2 LIB 186 Dynamic C Function Reference Manual OSFlagDel OS FLAG GRP OSFlagDel OS FLAG G
126. ber of characters to read into data tmout Millisecond wait period to allow between characters before timing out RETURN VALUE Number of characters read into data LIBRARY RS232 LIB EXAMPLE echoes a block of characters main aie Tal 2 Clnawe el serAopen 19200 Io oyoriia ii while 1 loophead costate wid n cof serAread s 15 20 wid cof serAwrite s n serAclose Chapter 1 Function Descriptions 37 cof serXwrite void cof serXwrite void data int length where X A B C D E F DESCRIPTION This single user cofunction writes length bytes to port X It yields to other tasks for as long as the input buffer is locked or whenever the buffer becomes full as characters are written This function is non reentrant Starting with Dynamic C version 7 25 the functions cof_serEwrite and cof _serFwrite may be used with the Rabbit 3000 microprocessor PARAMETERS data Data structure to write length Number of bytes in data to write LIBRARY RS232 LIB EXAMPLE writes a block of characters repeatedly main const char s Hello Z World serAopen 19200 loopinit while 1 loophead costate wid cof SerAwrite s strlen s serAclose 38 Dynamic C Function Reference Manual CompressFile void CompressFile ZFILE input ZFILE output DESCRIPTION This function compresses the input file uncompressed ZFILE opened wit
127. bits are reserved by uC OS II The upper 8 bits control application specific options Select an option by setting the corre sponding bit s The call was successful Task priority already exists each task MUST have a unique priority OS PRIO INVALID The priority specified is higher than the maximum allowed LIBRARY UCOS2 LIB SEE ALSO OSTaskCreate i e 20S LOWEST _PRIO Chapter 1 Function Descriptions 227 OSTaskCreateHook void OSTaskCreateHook OS TCB ptcb DESCRIPTION Called by uC OS II whenever a task is created This call back function resides in UCOS2 LIB and extends functionality during task creation by allowing additional in formation to be passed to the kernel anything associated with a task This function can also be used to trigger other hardware such as an oscilloscope Interrupts are disabled dur ing this call therefore it is recommended that code be kept to a minimum PARAMETERS ptcb Pointer to the TCB of the task being created LIBRARY UCOS2 LIB SEE ALSO OSTaskDelHook 228 Dynamic C Function Reference Manual OSTaskDel INT8U OSTaskDel INT8U prio DESCRIPTION Deletes a task The calling task can delete itself by passing either its own priority number or OG PRIO_ SELF if it doesn t know its priority number The deleted task is returned to the dormant state and can be re activated by creating the deleted task again PARAMETERS prio Task s priority number RETURN VALU
128. bout a flash memory chip mb3cr This is the value to set MB3CR to whenever the flash memory is ac cessed Oxc2 i e CS2 OE0 WEO 0 WS is a typical setting for the second flash memory on the TCP IP Dev Kit the Intellicom the Ad vanced Ethernet Core and the RabbitLink RETURN VALUE 0 Success 1 Invalid flash memory type 1 Attempt made to initialize primary flash memory LIBRARY FLASH LIB SEE ALSO flash _erasechip flash_erasesector flash _gettype flash_read flash_readsector flash_sector2xwindow flash _writesector 74 Dynamic C Function Reference Manual flash read int flash read FlashDescriptor fd word sector word offset unsigned long buffer word length DESCRIPTION Reads data from the flash memory and stores it in buffer Note fd must have already been initialized with flash _init before calling this function See the flash _init description for further restrictions PARAMETERS fd The FlashDescriptor of the flash memory to read from sector The sector of the flash memory to read from offset The displacement in bytes from the beginning of the sector to start reading at buffer The physical address of the destination buffer TIP A logical address can be changed to a physical with the function paddr length The number of bytes to read RETURN VALUE 0 Success LIBRARY FLASH LIB SEE ALSO flash_erasechip flash_erasesector flash _gettype flash_init flash_readsector flash_sector2x
129. c Same as x except the result is in uppercase oc single character Precision specifier n is ignored for c treats argument as if it were char long n n 0x10000 0x100 printf 0c n short n n 0x100 VA printf 0c n char n n VAN printf 0c n Not supported o octal E same as e result uppercase the result is always in uppercase in Dynamic C G same as g result uppercase the result is always in uppercase in Dynamic C WA A ff Be A Chapter 1 Function Descriptions 291 putchar void putchar int ch DESCRIPTION Puts a single character to Stdout The user should make sure only one process calls this function at a time PARAMETERS ch Character to be displayed LIBRARY STDIO LIB SEE ALSO puts getchar 292 Dynamic C Function Reference Manual puts int puts char Sei DESCRIPTION This function displays the string on the stdio window in Dynamic C The Stdio window is responsible for interpreting any escape code sequences contained in the string Only one process at a time should call this function PARAMETERS s Pointer to string argument to be displayed RETURN VALUE 1 Success LIBRARY STDIO LIB SEE ALSO putchar gets pwm init unsigned long Gem init unsigned long frequency DESCRIPTION Sets the base frequency for the pulse width modulation PWM and enables the PWM driver on all four channels
130. c C Function Reference Manual xvii Number to String Conversion GE 293 LO e 112 EE 294 EE 132 GA EE aaa nee e eee 308 WOA tee EE 143 BEE 309 ER eet 154 dd read WE 309 loim naka n a 155 DEER 310 utoa EE 394 Real Time Clock P ERD 168 d RE 169 Pantons E E 317 mbr_CreatePartition ccccccccccceee 157 Ee 317 mbi POUNDING sipaan 158 TtC_TIMEZONE ov eeeeeeeeeeeeeceeceeeeeeeeeee 323 ER 123 Eeer echte 387 tbe Monae ee 169 tit Wi nunn hens a a uae 388 Ee Bo EE 400 mbr_ValidatePartitions 0 162 Pulse Width Modulation Rabbit S 3000 Serial Communication Dam It EEN 293 COT SETX BEN e Re Ee R 33 Dam SEI EEN 294 Cof serX Hels ee 34 Q COP SETK PULC soissssczsescevedeedeeraccessteees 35 COT SEX EE 36 Quadrature Decoder Rabbit 3000 cof_serXread EE 37 RE 308 COR SEPA WILE ettieseudegteedebeege E 38 DIE eene ege 309 serCheck Parity 2001 eege 324 E EE 309 SEEN CLOSE bech en 325 NEE ee 310 Ser Ebert 325 serXflowcontrolOff cc ccccccceees 326 S serXflowcontrolOn c c ccccccceees 327 Rabbit 3000 EE eege 328 HDLCdropX ceeecssseecssseesesseessseeeesees 125 SOE SOLE TOR 254 eege Ek 329 TEE 126 SON ODEN ebe 330 Ee 127 SerX parity cn hesin ri 331 ee ege 128 SOL peek eege 332 HDL EEN 129 SEE X PTE sciis eipig 333 HDLCsendingX seeccccssssessssssseeeseeee 131 SOT NOU Se ne deta e i 334 HDLCsendX a 130 GEET 335 BEER geesde gece 335 xviii Dynamic C Function Reference Manual Ser Xd Used aus cci
131. c_ fast jr c no free BCDE points to element PARAMETERS Pp Pool handle structure as previously passed to pool _init Pass this in the IX register RETURN VALUE C flag set No free elements are available BCDE is undefined in this case NC flag BCDE points to an element If the pool is not linked your application must not write more than p gt elsize bytes to it this was the el size parameter passed to pool xinit Ifthe pool is linked you can write p gt elsize 8 bytes to it An element has 8 bytes of overhead when the pool is linked LIBRARY POOL LIB SEE ALSO pool init pfree fast pavail fast pxalloc 296 Dynamic C Function Reference Manual pxcalloc long pxcalloc Pool t p DESCRIPTION Return next available free element from the given pool Eventually your application should return this element to the pool using pxfree to avoid memory leaks The element is set to all zero bytes before returning PARAMETERS p Pool handle structure as previously passed to pool_xinit RETURN VALUE 0 No free elements are available 0 Physical xmem address of an element If the pool is not linked your application must not write more than p gt elsize bytes to it this was the el size parameter passed to pool _xinit The application can write up to p gt elsize 8 bytes to the element if the pool is linked An element has 8 bytes of overhead when the pool is linked LIBRARY POOL LI
132. cal address Use caution when converting address in the E000 FFFF range Returns the address based on the XPC on entry PARAMETERS pointer The pointer to convert RETURN VALUE The physical address of the pointer LIBRARY XMEM LIB SEE ALSO paddrDS paddrss Chapter 1 Function Descriptions 245 paddrDs unsigned long paddrDS void pointer DESCRIPTION Converts a Data Segment logical pointer into its physical address This function assumes the pointer points to static excluding bbram data which eliminates some runtime testing as compared with the more general function paddr paddrDs will generate incorrect results if used for e addresses in the root code that is program code or constants e bbram only available in fast RAM compile mode e stack that is auto variables e xmem segments PARAMETERS pointer Logical static non bbram data pointer to convert RETURN VALUE The physical address of the pointer LIBRARY XMEM LIB SEE ALSO paddr paddrSs 246 Dynamic C Function Reference Manual paddrss unsigned long paddrSS void pointer DESCRIPTION Convert a logical pointer into its physical address This function assumes the pointer points to data in the stack segment which eliminates some runtime testing compared with the more general function paddr The stack segment is used to store auto data items This function will generate incorrect results if used for addresses in t
133. cal to st r1 LIBRARY STRING LIB SEE ALSO strnemp strcempi strncmpi Chapter 1 Function Descriptions 371 Strempi int strcempi char strl1 char str2 DESCRIPTION Performs case insensitive unsigned character by character comparison of two null terminated strings PARAMETERS str1 Pointer to string 1 str2 Pointer to string 2 RETURN VALUE lt 0 str1 is less than str2 because character in str1 is less than corresponding character in str2 or str_1 is shorter than but otherwise identical to str2 0 str1 is identical to str2 gt 0 str1 is greater than st r2 because character in st r1 is greater than corresponding character in st r2 or str2 is shorter than but otherwise identical to st r1 LIBRARY STRING LIB SEE ALSO strnempi strnemp strcmp 372 Dynamic C Function Reference Manual strcpy char strcpy char dst char src DESCRIPTION Copies one string into another string including the null terminator PARAMETERS dst Pointer to location to receive string sre Pointer to location to supply string RETURN VALUE Pointer to destination string LIBRARY STRING LIB SEE ALSO strncpy strcspn unsigned int strcspn char sel char s2 DESCRIPTION Scans a string for the occurrence of any of the characters in another string PARAMETERS s1 String to be scanned s2 Character occurrence string RETURN VALUE Returns the position less one of the first occurrence
134. chkSoftReset void DESCRIPTION This function determines whether this restart of the board is due to a software reset from Dynamic C or a call to forceSoftReset RETURN VALUE 1 The board was restarted due to a soft reset O If it was not LIBRARY SYS LIB SEE ALSO chkHardReset chkWDTO _sysIsSoftReset Chapter 1 Function Descriptions 27 chkwDTO int chkWDTO void DESCRIPTION This function determines whether this restart of the board is due to a watchdog timeout Note A watchdog timeout cannot be detected on a BL2000 or SmartStar RETURN VALUE 1 If the board was restarted due to a watchdog timeout O If it was not LIBRARY SYS LIB SEE ALSO chkHardReset chkSoftReset _sysIsSoftReset 28 Dynamic C Function Reference Manual clockDoublerOn void clockDoublerOn DESCRIPTION Enables the Rabbit clock doubler If the doubler is already enabled there will be no effect Also attempts to adjust the communication rate between Dynamic C and the board to com pensate for the frequency change User serial port rates need to be adjusted accordingly Also note that single stepping through this routine will cause Dynamic C to lose commu nication with the target LIBRARY SYS LIB SEE ALSO clockDoublerOff clockDoubleroOf t void clockDoublerOfEf DESCRIPTION Disables the Rabbit clock doubler If the doubler is already disabled there will be no ef fect Also attempts to adjust the
135. cmp strcempi strncmpi Chapter 1 Function Descriptions 375 strncmpi int strncmpi char strl char str2 unsigned n DESCRIPTION Performs case insensitive unsigned character by character comparison of two strings of length n PARAMETERS str1 Pointer to string 1 str2 Pointer to string 2 n Maximum number of bytes to compare if zero then strings are con sidered equal RETURN VALUE lt 0 str1 is less than str2 because char in st r1 is less than corresponding char in st r2 0 str1 is identical to str2 gt 0 str1 is greater than st r2 because char in st r1 is greater than corresponding char in st r2 LIBRARY STRING LIB SEE ALSO strcempi strcmp strncmp 376 Dynamic C Function Reference Manual strncpy char strncpy char dst char src unsigned int n DESCRIPTION Copies a given number of characters from one string to another and padding with null characters or truncating as necessary PARAMETERS dst Pointer to location to receive string sre Pointer to location to supply string n Maximum number of bytes to copy If equal to zero this function has no effect RETURN VALUE Pointer to destination string LIBRARY STRING LIB SEE ALSO strcpy Chapter 1 Function Descriptions 377 strpbrk char strpbrk char sel char s2 DESCRIPTION Scans a string for the first occurrence of any character from another string PARAMETERS s1 String to be scanned s2 Character oc
136. compatible PARAMETERS sptr String to convert RETURN VALUE The converted integer value LIBRARY STRING LIB SEE ALSO atol atof strtod 16 Dynamic C Function Reference Manual atol long atol char sptr DESCRIPTION ANSI String to Long Conversion UNIX compatible PARAMETERS sptr String to convert RETURN VALUE The converted long integer value LIBRARY STRING LIB SEE ALSO atoi atof strtod Chapter 1 Function Descriptions bit unsigned int bit void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Reads specified bit at memory address bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address gt gt bit amp 1 PARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit RETURN VALUE 1 Specified bit is set 0 Bit is clear LIBRARY UTIL LIB SEE ALSO BIT 18 Dynamic C Function Reference Manual BIT unsigned int BIT void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Reads specified bit at memory address bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address gt gt bit amp 1 PARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit RETURN VALUE 1
137. control blocks are available PARAMETERS start Pointer to the base address of the message queue storage area The storage area MUST be declared an array of pointers to void void MessageStorage qsize qsize Number of elements in the storage area RETURN VALUE Pointer to message queue s event control block or null pointer if no event control blocks were available LIBRARY OS_Q C Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQFlush OSQPend OSQPost OSQPostFront OSQQuery 210 Dynamic C Function Reference Manual oOsSQDel OS EVENT OSQDel OS EVENT pevent INT8U opt INT8U err DESCRIPTION Deletes a message queue and readies all tasks pending on the queue Note that e This function must be used with care Tasks that would normally expect the presence of the queue MUST check the return code of OSQPend e OSQAccept callers will not know that the intended queue has been deleted unless they check pevent to see that it s a null pointer e This call can potentially disable interrupts for a long time The interrupt disable time is directly proportional to the number of tasks waiting on the queue e Because all tasks pending on the queue will be readied you must be careful in applications where the queue is used for mutual exclusion because the resource s will no longer be guarded by the queue e If the storage for the message queue was allocated dynamically e using a malloc type call then your applicat
138. correct parity It will return true if the parity of rx_byte matches the parity specified This function is useful for checking individual characters when using a 7 bit data protocol PARAMETERS rx byte The 8 bit character being tested for parity parity The character O for odd parity or the character E for even parity RETURN VALUE 1 Parity of the byte being tested matches the parity supplied as an argument 0 Parity of the byte does not match LIBRARY RS232 LIB 324 Dynamic C Function Reference Manual serXclose void serXclose where X A B C D E F DESCRIPTION Disables serial port X This function is non reentrant Starting with Dynamic C version 7 25 the functions serEclose and serFclose may be used with the Rabbit 3000 microprocessor LIBRARY RS232 LIB serXdatabits void serXdatabits state where X A B C D E F DESCRIPTION Sets the number of data bits in the serial format for this channel Currently seven or eight bit modes are supported A call to serXopen must be made before calling this func tion This function is non reentrant Starting with Dynamic C version 7 25 the functions serEdatabits and serFdatabits may be used with the Rabbit 3000 microprocessor PARAMETERS state An integer indicating what bit mode to use It is best to use one of the macros provided for this PARAM 7BIT Configures serial port to use seven bit data PARAM 8BIT Configures seri
139. ctiIntern 348 Dynamic C Function Reference Manual sf getPageCount long sf getPageCount sf device dev DESCRIPTION Return number of pages in a flash device PARAMETER dev Pointer to sf device struct for initialized flash device RETURN VALUE Number of pages LIBRARY SFLASH LIB sf getPageSize unsigned int sf getPageSize sf device dev DESCRIPTION Return size in bytes of a page on the current flash device PARAMETER dev Pointer to sf device struct for initialized flash device RETURN VALUE Bytes in a page LIBRARY SFLASH LIB Chapter 1 Function Descriptions 349 sf init int sf init DESCRIPTION Initializes serial flash chip This function must be called before the serial flash can be used Currently supported devices are e AT45DB041 e AT45DB081 e AT45DB642 e AR45DB1282 Note This function blocks and only works on boards with one serial flash device RETURN VALUE 0 for success 1 if no flash chip detected 2 if error communicating with flash chip 3 if unknown flash chip type LIBRARY SFLASH LIB 350 Dynamic C Function Reference Manual sf initDevice int sf initDevice sf device dev int cs port char cs_ shadow int cs pin DESCRIPTION Replaces sf_init The function sfspi_init must be called before any calls to this function Initializes serial flash chip This function must be called before the serial flash can be used Currently supported dev
140. ction Descriptions 299 pxfree void pxfree Pool t p long e DESCRIPTION Free an element that was previously obtained via pxalloc Note if you free an element that was not allocated from this pool or was already free or was outside the pool then your application will crash You can detect most of these pro gramming errors by defining the following symbols before use pool lib POOL _ DEBUG POOL VERBOSE PARAMETERS p Pool handle structure as previously passed to pxalloc e Element to free which was returned from pxalloc RETURN VALUE null There are no more elements nul1 Pointer to previous allocated element LIBRARY POOL LIB SEE ALSO pool xinit pxalloc pxcalloc phwm pavail 300 Dynamic C Function Reference Manual pxfree fast xmem void pxfree fast Pool t p long e DESCRIPTION Free an element that was previously obtained via pxalloc This is an assembler only version of pxfree Do not call this function from C pxfree fast does not perform any IPSET protection or parameter validation pxfree fast is anxmem function The parameters must be passed in machine regis ters REGISTERS Parameters in IX BCDE respectively Trashes AF BC DE HL EXAMPLE ld ix my_pool ld de element addr ld bc element _addr 2 lcall pxfree fast PARAMETERS P Pool handle structure as previously passed to palloc or palloc_fast This must be in the IX register e Element to
141. currence string RETURN VALUE Pointer pointing to the first occurrence of a character contained in s2 in s1 Returns null if not found LIBRARY STRING LIB SEE ALSO strchr strrchr strtok 378 Dynamic C Function Reference Manual strrchr char strrchr char s int c DESCRIPTION Similar to strchr except this function searches backward from the end of s to the be ginning PARAMETERS s String to be searched c Search character RETURN VALUE Pointer to last occurrence of c in s If c is not found in s return null LIBRARY STRING LIB SEE ALSO strchr strespn strtok strspn size t strspn char src char brk DESCRIPTION Scans a string for the first segment in src containing only characters specified in brk PARAMETERS sre String to be scanned brk Set of characters RETURN VALUE Returns the length of the segment LIBRARY STRING LIB Chapter 1 Function Descriptions 379 strstr char strstr char s1 char s2 DESCRIPTION Finds a substring specified by s2 in string s1 PARAMETERS s1 String to be scanned s2 Substring to search for RETURN VALUE Pointer to the first occurrence of substring s2 in s1 Returns null if s2 is not found in s1 LIBRARY STRING LIB SEE ALSO strespn strrchr strtok 380 Dynamic C Function Reference Manual strtod float strtod char s char tailptr DESCRIPTION ANSI string to float conversion PARAMETERS s String
142. d cof _serFgets may be used with the Rabbit 3000 microprocessor PARAMETERS s Character array into which a null terminated string is read max The maximum number of characters to read into s tmout Millisecond wait period between characters before timing out RETURN VALUE 1 if CR or max bytes read into s 0 if function times out before reading CR or max bytes LIBRARY RS232 LIB EXAMPLE main echoes null terminated character strings int getOk char s 16 serAopen 19200 loopinit while 1 loophead costate wid getOk cof sSerAgets s 15 20 if getOk wid cof serAputs s else timed out s null terminated but incomplete serAclose 34 Dynamic C Function Reference Manual cof serxXputc void cof serXputc int c where X A B C D E F DESCRIPTION This single user cofunction writes a character to serial port X yielding to other tasks when the input buffer is locked This function is non reentrant Starting with Dynamic C version 7 25 the functions cof_serEputc and cof _serFputc may be used with the Rabbit 3000 microprocessor PARAMETERS c Character to write LIBRARY RS232 LIB EXAMPLE echoes characters main DEE Gy serAopen 19200 loopimte a while 1 loophead wid c cof serAgetc wid cof serAputc c serAclose Chapter 1 Function Descriptions 35 cof serXputs void cof _serXputs char str
143. d line of text across the face of the chip It will work for other versions of the Rabbit 2000 but should be deprecated in favor of Get Vect Extern3000 which allows the use of 2 external interrupts Please see Technical Note 301 Rabbit 2000 Microprocessor In terrupt Issue on the Rabbit Semiconductor website for more information RETURN VALUE Jump address in vector table LIBRARY SYS LIB SEE ALSO GetVectIntern SetVectExtern2000 SetVectIntern GetVectExtern3000 Chapter 1 Function Descriptions 117 GetVectExtern3000 unsigned GetVectExtern3000 int interruptNum DESCRIPTION Reads the address of an external interrupt table entry This function may be used with all Rabbit 3000 processors and all Rabbit 2000 processors with the exception of the ones marked IQ2T in the 3rd line of text across the face of the chip For those use the function GetVectExtern2000 instead GetVectExtern3000 really just returns whatever value is at the address external vector table base interruptNum 8 1 PARAMETER interruptNum Interrupt number Should be 0 or 1 RETURN VALUE Jump address in vector table LIBRARY SYS LIB SEE ALSO SetVectExtern3000 SetVectIntern GetVectIntern GetVectExtern2000 118 Dynamic C Function Reference Manual GetVectiIntern unsigned GetVectIntern int vectNum DESCRIPTION Reads the address of the internal interrupt table entry and returns whatever value is at t
144. d no space is allocated in the file system until the first write occurs for the file Thus if the system power is cycled after creation but before the first byte is written the file will be effectively deleted The first write to a file causes one sector to be allocated for the metadata Before calling this function a variable of type File must be defined in the application program The sizeof function will return the number of bytes used for the File data structure File file fcreate amp file 1 PARAMETERS f Pointer to the file descriptor to fill in name File number including optional metadata extent number RETURN VALUE 0 Success 0 Failure ERRNO VALUES EINVAL Zero file number requested or invalid extent number EEXIST File with given number already exists ENFILE No space is available in the existing file table If this error occurs increase the definition of FS_MAX_FILES a define constant that should be declared before use fs2 lib LIBRARY fs2 LIB SEE ALSO fcreate_unused FS2 fs_set_1x FS2 fdelete FS2 Chapter 1 Function Descriptions 61 fcreate unused FS1 FileNumber fcreate unused File EI DESCRIPTION Searches for the first unused file number in the range 1 through 127 and creates a file with that number PARAMETERS f The pointer to the created file RETURN VALUE The FileNumber 1 127 of the new file if success LIBRARY FILESYSTEM LIB SEE ALSO
145. d then an exception is raised You can define POOL VERBOSE to get printf messages LIBRARY POOL LIB SEE ALSO pool init pool xinit pavail 276 Dynamic C Function Reference Manual pool xappend int pool xappend Pool t p long base word nel DESCRIPTION Add another xmem memory area to an existing pool It is assumed that the element size is the same as the element size of the existing pool The data area does not have to be contiguous with the existing data area but it must be nel elsize bytes long where e1size is the element size of the existing pool and nel is the parameter to this function The total pool size must obey the constraints documented with pool xinit PARAMETERS p Pool handle structure as previously passed to pool _xinit base Base address of the xmem data memory area to append to this pool This must be nel elsize bytes long Typically this would be an area allocated using xalloc nel Number of elements in the memory area 1 65534 The sum of this and the current number of elements must not exceed 65535 RETURN VALUE Currently always zero If you define the macro POOL DEBUG then parameters are checked If the parameters look bad then an exception is raised You can define POOL VERBOSE to get printf messages LIBRARY POOL LIB SEE ALSO pool xinit Chapter 1 Function Descriptions 277 pool xinit int pool xinit Pool t p long base word nel word elsize DES
146. d element in an xmem pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined This is an assembler only version of pxnext Do not call this function from C REGISTERS Parameters in IX DE respectively Trashes AF HL Return value in BCDE carry flag EXAMPLE ld ix my_ pool ld de current element ld bc current element 2 lcall pxnext fast jr c no_more_elems BCDE points to next allocated element D PARAMETERS P Pool handle structure as previously passed to pool_xinit Pass this in the IX register e Current element address in BCDE register See pxnext for full er description RETURN VALUE C flag set There are no more elements C flag clear NC BCDE points to next element LIBRARY POOL LIB SEE ALSO pool_xinit pool_link pxalloc pxfree pxfirst pxprev Chapter 1 Function Descriptions 305 pxprev long pxprev Pool t p long e DESCRIPTION Get the previous allocated element in an xmem pool The pool MUST be set to being a linked pool using pool _link p lt non zero gt otherwise the results are unde fined You can easily iterate through all of the allocated elements of an xmem pool using the fol lowing construct long e Pool t p for e pxlast p e e pxprev p eil PARAMETERS P Pool handle structure as previously passed to pool_xinit e Previous element address obtained by
147. d words used in this License shall have the following meanings 1 1 Qualified Applications means an application program developed using the Software and that links with the development libraries of the Software 1 1 1 Qualified Applications is amended to include application programs developed using the Softools WinIDE program for Rabbit processors available from Softools Inc 1 1 2 The MicroC OS II uC OS ID library and sample code and the Point to Point Protocol PPP library are not included in this amendment 1 1 3 Excluding the exceptions in 1 1 2 library and sample code provided with the Software may be modified for use with the Softools WinIDE program in Qualified Systems as defined in 1 2 All other Restrictions specified by this license agreement remain in force 1 2 Qualified Systems means a microprocessor based computer system which is either i manufactured by for or under license from Z WORLD or ii based on the Rabbit 2000 microprocessor or the Rabbit 3000 microprocessor Qualified Systems may not be a designed or intended to be re programmable by your customer using the Software or b competitive with Z WORLD products except as otherwise stated in a written agreement between Z World and the system manufacturer Such written agreement may require an end user to pay run time royalties to Z World Dynamic C Function Reference Manual 425 2 License Z WORLD grants to You a nonexclusive nontransferable license to
148. ddress offset in User block to write to sources Atray of pointer to sources to copy data from numbytes Array of number of bytes to copy for each source The sum of the lengths in this array must not exceed 32767 bytes or an error will be returned numsources Number of data sources RETURN VALUE 0 Successful 1 Invalid address or range 2 No valid User block found block version 3 or later 3 Flash writing error LIBRARY IDBLOCK LIB Chapter 1 Function Descriptions 403 WrPortE void WrPortE unsigned int port char portshadow int data value DESCRIPTION Writes an external I O register with 8 bits and updates shadow for that register The vari able names must be of the form port and port shadow for the most efficient operation A null pointer may be substituted if shadow support is not desired or needed PARAMETERS port Address of external data register portshadow Reference pointer to a variable shadowing the register data Substi tute with null pointer or 0 if shadowing is not required data_value Value to be written to the data register LIBRARY SYSIO LIB SEE ALSO RdPortI BitRdPortI WrPortI BitWrPortI RdPortE BitRdPortE BitWrPortE 404 Dynamic C Function Reference Manual WrPortl void WrPortI int port char portshadow int data value DESCRIPTION Writes an internal I O register with 8 bits and updates shadow for that register PARAMETERS port Address of data register portsh
149. delay DESCRIPTION Initiates the sending of a packet of data using serial port X where X is AIBICID This func tion will always return immediately If there is already a packet being transmitted this call will return 0 and the packet will not be transmitted otherwise it will return 1 pktXsending checks if the packet is done transmitting The system will be using the buffer until then Starting with Dynamic C version 7 25 the functions pkt Esend and pktFsend may be used with the Rabbit 3000 microprocessor PARAMETERS send buffer The data to be sent buffer length Length of the data buffer to transmit delay The number of byte times to delay before sending the data 0 255 This is used to implement protocol specific delays between packets RETURN VALUE 1 The packet is going to be transmitted 0 There is already a packet transmitting and the new packet was refused LIBRARY PACKET LIB Chapter 1 Function Descriptions 263 pktXsending int pktXsending DESCRIPTION Tests if a packet is currently being sent on serial port X where X AIBICID If pktXsending returns true the transmitter is busy and cannot accept another packet Starting with Dynamic C version 7 25 the functions pkt Esending and pktFsending may be used with the Rabbit 3000 microprocessor RETURN VALUE 1 A packet is being transmitted 0 Port X is idle ready for a new packet LIBRARY PACKET LIB pktXsetParity void pkt
150. e FS1 int fcreate File f FileNumber fnum DESCRIPTION Creates a file Before calling this function a variable of type File must be defined in the application program File file fcreate amp file 1 PARAMETERS f The pointer to the created file fnum This is a user defined number in the range of 1 to127 inclusive Each file in the flash file system is assigned a unique number in this range RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB 60 Dynamic C Function Reference Manual fcreate FS2 int fcreate File f FileNumber name DESCRIPTION Create a new file with the given file name which is composed of two parts the low byte is the actual file number 1 to 255 inclusive and the high byte contains an extent number 1 to_ s num_1x on which to place the file metadata The extent specified by fs_ set Lei is always used to determine the actual data extent If the high byte con tains 0 then the default metadata extent specified by Ca sert Isi is used The file de scriptor is filled in if successful The file will be opened for writing so a further call to fopen_wr is not necessary The number of files which may be created is limited by the lower of FS_MAX FILES and 255 This limit applies to the entire filesystem all logical extents Once a file is created its data and metadata extent numbers are fixed for the life of the file i e until the file is deleted When create
151. e costatement will be executed next time it is en countered PARAMETERS P Address of costatement LIBRARY COSTATE LIB cof pktXreceive int cof pktXreceive void buffer int buffer size X A B C D DESCRIPTION Receives an incoming packet This function returns after a complete packet has been read into the buffer Starting with Dynamic C version 7 25 the functions oof pktEreceive and cof pktFreceive are available when using the Rabbit 3000 microprocessor PARAMETERS buffer A buffer for the packet to be written into buffer size Length of the buffer RETURN VALUE gt 0 The number of bytes in the received packet on success 0 No new packets have been received 1 The packet is too large for the given buffer 2 Aneeded test_packet function is not defined LIBRARY PACKET LIB Chapter 1 Function Descriptions 31 cof pktXsend void cof pktXsend void send buffer int buffer length char delay X A B C D DESCRIPTION Initiates the sending of a packet of data The function will exit when the packet is finished transmitting Starting with Dynamic C version 7 25 the functions cof_pktEsend and cof pktFsend are available when using the Rabbit 3000 microprocessor PARAMETERS send buffer The data to be sent buffer length Length of the data buffer to transmit delay The number of byte times 0 255 to delay before sending data This is used to implement protocol specific delays between pack
152. e error log header and formats the output When running stand alone not talking to Dynamic C this function reads the header di rectly from the log buffer When in debug mode this function reads the header from the copy in flash When a Dynamic C cold boot takes place the header in RAM is zeroed out to initialize it but first its contents are copied to an address in the BIOS code before the BIOS in RAM is copied to flash This means that on the second cold boot the data structure in flash will be zeroed out The configuration of the log buffer may still be read and the log buffer en tries are not affected Because the exception mechanism resets the processor by causing a watchdog time out the number of watchdog time outs reported by this functions is the number of actual WD TOs plus the number of exceptions RETURN VALUE A null terminated string containing the header information Status Byte 0 Exceptions 5 Index last exception 5 SW Resets 2 HW Resets 2 WD Timeouts 5 The string will contain Header checksum invalid if a checksum error occurs The mean ing of the status byte is as follows bit 0 An error has occurred since deployment bit 1 The count of SW resets has rolled over bit 2 The count of HW resets has rolled over bit 3 The count of WDTOs has rolled over bit 4 The count of exceptions has rolled over bit 5 7 Not used The index of the last exception is the index from the start of
153. ed 0 Failure or len was zero LIBRARY FS2 LIB ERRNO VALUES EBADFD File descriptor not opened EINVAL len less than zero 0 Success but len was zero or EOF was reached prior to reading len bytes EIO I O error SEE ALSO fseek FS2 fwrite FS2 Chapter 1 Function Descriptions 87 frexp float frexp float x int n DESCRIPTION Splits x into a fraction and exponent f 2 PARAMETERS x Number to split n An integer RETURN VALUE The function returns the exponent in the integer n and the fraction between 0 5 inclusive and 1 0 LIBRARY MATH LIB SEE ALSO exp ldexp 88 Dynamic C Function Reference Manual fs format FS1 int fs format long reserveblocks int num blocks unsigned long wearlevel DESCRIPTION Initializes the internal data structures and file system All blocks in the file system are erased PARAMETERS reserveblocks Starting address of the flash file system When FS_FLASH is de fined this value should be 0 or a multiple of the block size When FS_RAM is defined this parameter is ignored num blocks The number of blocks to allocate for the file system With a default block size of 4096 bytes and a 256K flash memory this value might be 64 wearlevel This value should be 1 on a new flash memory and some higher val ue on an unformatted used flash memory If you are reformatting a flash memory you can set wearlevel to 0 to keep the old wear lev elin
154. ed You can define POOL VERBOSE to get printf messages LIBRARY POOL LIB SEE ALSO pool xinit palloc pcalloc pfree phwm pavail Chapter 1 Function Descriptions 275 pool link int pool link Pool t p int link DESCRIPTION Tell the specified pool to maintain a doubly linked list of allocated elements This function should only be called when the pool is completely free i e pavail pnel PARAMETERS P Pool handle structure as previously passed to pool_init or pool_xinit link Must be one of the following e POOL_NOT_LINKED 0 the pool is not to be linked e POOL_LINKED_AUTO 1 the pool is linked and newly al located elements are always added at the end of the list s POOL LINKED BY APP 2 the pool is linked but newly allocated elements are not added to the list The application must call preorder or pmovebetween to insert the element This option is only available for root pools WARNING if you set the POOL_ LINKED _BY_APP option then the allocated element must NOT be passed to any other pool API 669 function except for pfree preorder as the e parame DNH ter or pmovebetween as the e parameter After calling preorder or pmovebetween then itis safe to pass this el ement to all appropriate functions RETURN VALUE Currently always zero If you define the macro POOL_ DEBUG then parameters are checked If the parameters look ba
155. ee the manual for your particular board for more information before over writing any part of the User block Backwards Compatibility If the version of the System ID block doesn t support the User ID block or no System ID block is present then 8K bytes starting 16K bytes from the top of the primary flash are designated the User ID block area However to prevent errors arising from incompatible large sector configurations this will only work if the flash type is small sector Z World manufactured boards with large sector flash will have valid System and User ID blocks so this should not be problem on Z World boards If users create boards with large sector flash they must install System ID blocks version 2 or greater to use or modify this function Chapter 1 Function Descriptions 401 writeUserBlock continued PARAMETERS addr Address offset in User block to write to source Pointer to source to copy data from numbytes Number of bytes to copy RETURN VALUE 0 Successful 1 Invalid address or range LIBRARY IDBLOCK LIB SEE ALSO readUserBlock writeUserBlockArray 402 Dynamic C Function Reference Manual writeUserBlockArray int writeUserBlockArray unsigned addr void sources unsigned numbytes int numsources DESCRIPTION Z World boards are released with System ID blocks located on the primary flash Version 2 and later of this ID block has a pointer to a User block that can be used for storing cali
156. eer 3 Eegen SE EE deeg 4 H REES 11 aS EE 12 HDLC Protocol Rabbit 3000 BEE 13 HDLCdropX een 125 SE E 14 HI emt nn 126 GEIS eet ee 26 HDLCOpenX nn 127 Dynamic C Function Reference Manual XV HIDE C EE 128 HDLCreceiveX o eccececeeeesesseeees 129 HDLCsendingX is Gicvetvoseesrveceiaed 131 HDLCsendX Canenae ern tenn Ri cope rea ore 130 l UO BitRdPortE generic 20 BitRGPortl svscsiseccidisaee Eet ae 21 BitWrPortE eccidi e 22 EWEN i ani eege 23 ROP OIE asnan i n 314 E EEN 315 KE 404 WiPortll E 405 DC Protocol ec check ack 1 PAE EE Ee eg 1 12c_read_Char ecccccccccccessessssesceeseees 1 12c_send_ack woccccccccccccssssssssecceeceees 1 12c_send_nak weececcccccccccsssssssesceeseees 1 12C start AK EE 1 I2 startw EE 1 EE ee 1 12c_write_Char o ccccccccccessesesseseeeeeees 1 Interrupts GetVectExtern300 ccceeeeseeeees 1 EE Geer 1 IEN teeddacs ven 1 SetVectExtern2000 cc ccccccceees 3 SetVectExtern3000 cc ccccceceees 3 e EE 3 L Low Level Flash Access flash_erasechip ceceeseeeeeeeeeeeeees flash_erasesector ceeceeeseeeseeeees flash_gettype EE 13 Tashia inet Seve a esi 74 flash E DEER 75 flash_readsector ccceeeeeeeceseeeeeees 76 flash_sector2xwindoW ccecccceeeeees 77 flash_writesector cceeeeeeeseseeeeeees 78 MD5 mds AP PON EH 163 mds finish tee 164 mds init ee Bees Ee 163 MicroC OS II QOSQDel uueeERNdENEEENN EEN Ne EEN 211 OS_ENTE
157. ernate RAM bank on the flash device Chapter 1 Function Descriptions 357 sf writePage int sf writePage sf device dev int bank long page DESCRIPTION Replaces et RAMToPage Command the serial flash to write its RAM buffer contents to one of its flash memory pag es Check for completion of the write operation using ef isWriting PARAMETERS dev Pointer to sf device struct for initialized flash device bank Which RAM bank to write the data from For Atmel 45DBxxx devic es this can be 1 or 2 page The page to write the RAM buffer to RETURN VALUE 0 Success 1 Error LIBRARY SFLASH LIB 358 Dynamic C Function Reference Manual sf writeRAM int sf writeRAM char buffer int offset int len DESCRIPTION Write data to the RAM buffer on the serial flash chip Note This function blocks and only works on boards with one serial flash device PARAMETER buffer Pointer to data that will be written the flash chip RAM offset Address in the serial flash RAM to start writing at len Number of bytes to write RETURN VALUE 0 for success 1 for error LIBRARY SFLASH LIB Chapter 1 Function Descriptions 359 sfspi init int sfspi init DESCRIPTION Initialize SPI driver for use with serial flash This must be called before any calls to sf initDevice RETURN VALUE 0 for success 1 for error LIBRARY SFLASH LIB sin float sin float x DESCRIPTION Computes the sine of x
158. esssosresrsssss 64 fdelete FS2 anii nnna 65 xiv Dynamic C Function Reference Manual fflush FS2 ruhen unani 66 Eden Seed e GA 42 fopen_rd FS1 eege eege Ad 81 COSHH ilies Rai ieee as 42 fopen_rd KEE 82 i aR ner ee Ce Cen EA 45 fopen_wr FS1 BEEN 83 S E 57 fopen_wr EE 84 EI 58 fread FSI diister e deene ier 86 FLOOR wasii anean i 79 fread FSZ ir iaaa a eea seis 87 MOT a a Ee 80 fs_format Sin 89 Eege 88 fs_format FS2 woecccccceessssceeeeeees 90 UE GEN 150 fs_get_flash_1x RS 2 ucccsalsarataceseoas 97 TIGER E 151 fs Get E 98 TOG cSt reassert asses eesti 151 fs eet Ix size FS2 2 esdeegeskeernet 99 TOG LE 152 Seet other 1X FS2 geen Eege 100 Olne 170 fs_get_ram_lx EE 101 EE 243 fs_init sin 91 POW eegen 279 fs anit FS2 epes deed ies 92 GEHT eebe nadie 219 fs_reserve_blocks FS1 ccccceeee 93 Kal 312 fs_set_lx FS2 eesesssesssesssesrerrsessso 102 H BE 313 fs Setup FS2 RE 103 rand EE 313 fs syne EE 105 taido aiieieo ai 314 fsck FSI enia an n 94 IG E A A EE 360 fseek OPSTINN ENNEN 95 GIMME EE 361 fseek FSZ sss ees de eege 96 SOIL eier ee 368 E EE 108 stand Zeen e iit 368 Dell FS1 ccsesscsscsccsccssssssnseenenees 106 ENEE 385 Dellt ES ana seein ee 107 nt ee 386 fwrite FS1 oo ccccccccecesesenees 110 fwrite FS2 oo ccccccccecesesenenees 111 G Je Zopmat viesnica 156 Global Positioning System Floating Point Math gps_get_position eceeeesereees 120 DEI Usain eene 2 SE re E
159. fcreate FS1 62 Dynamic C Function Reference Manual fcreate unused FS2 FileNumber fcreate unused File f DESCRIPTION Create a new file and return the file name which is a number between 1 and 255 The new file will be created on the current default extent s as specified by fs_set_1x Other behavior is the same as Ecreate PARAMETERS f Pointer to file descriptor to fill in RETURN VALUE gt 0 Success the FileNumber 1 255 of the new file 0 Failure ERRNO VALUE ENFILE No unused file number available LIBRARY fs2 LIB SEE ALSO foreate FS2 fs_set_1x FS2 fdelete FS2 Chapter 1 Function Descriptions 63 fdelete FS1 int fdelete FileNumber fnum DESCRIPTION Deletes a file PARAMETERS fnum A number in the range 1 to 127 inclusive that identifies the file in the flash file system RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB 64 Dynamic C Function Reference Manual fdelete FS2 int fdelete FileNumber name DESCRIPTION Delete the file with the given number The specified file must not be open The file number i e name is composed of two parts the low byte contains the actual file number and the high byte if not zero contains the metadata extent number of the file PARAMETERS name File number 1 to 255 inclusive RETURN VALUE 0 Success 0 Failure LIBRARY fs2 LIB ERRNO VALUES ENOENT File doesn t exist
160. for the packet scheme The value of this de pends on the mode used e gap mode minimum gap size in byte times e 9 bit mode type of 9 bit protocol e DEI RABBITSTARTBYTE e DEI LOWSTARTBYTE e DEI HIGHSTARTBYTE e char mode character marking start of packet test packet Pointer to a function that tests for completeness of a packet The function should return 1 if the packet is complete or 0 if more data should be read in For gap mode the test function is not used and should be set to null RETURN VALUE 1 The baud set on the rabbit is the same as the input baud 0 The baud set on the rabbit does not match the input baud LIBRARY PACKET LIB Chapter 1 Function Descriptions 261 pktXreceive int pktXreceive void buffer int buffer size DESCRIPTION Gets a received packet if there is one from serial port X where X is AIBICID Starting with Dynamic C version 7 25 the functions pkt Ereceive andpktFreceive may be used with the Rabbit 3000 microprocessor PARAMETERS buffer A buffer for the packet to be written into buffer size Length of the data buffer RETURN VALUE gt 0 Number of bytes in the successfully received packet 0 No new packet has been received 1 The packet is too large for the given buffer 2 Aneeded test_packet function is not defined LIBRARY PACKET LIB 262 Dynamic C Function Reference Manual pktXsend int pktXsend void send buffer int buffer length char
161. for the rand function PARAMETER seed This must be an odd number LIBRARY MATH LIB SEE ALSO rand randb randg 368 Dynamic C Function Reference Manual strcat char strcat char dst char src DESCRIPTION Appends one string to another PARAMETERS dst Pointer to location to destination string src Pointer to location to source string RETURN VALUE Pointer to destination string LIBRARY STRING LIB SEE ALSO strncat Chapter 1 Function Descriptions 369 strchr char strchr char src char ch DESCRIPTION Scans a string for the first occurrence of a given character PARAMETERS sre String to be scanned ch Character to search RETURN VALUE Pointer to the first occurrence of ch in src Null if ch is not found LIBRARY STRING LIB SEE ALSO strrchr strtok 370 Dynamic C Function Reference Manual strcmp int strcmp char strl1 char str2 DESCRIPTION Performs unsigned character by character comparison of two null terminated strings PARAMETERS str1 Pointer to string 1 str2 Pointer to string 2 RETURN VALUE lt 0 str1 is less than str2 because character in str1 is less than corresponding character in str2 or str1 is shorter than but otherwise identical to str2 0 str1 is identical to str2 gt 0 str1 is greater than st r2 because character in st r1 is greater than corresponding character in st r2 or str2 is shorter than but otherwise identi
162. free which was returned from palloc This must be in the BCDE register physical address RETURN VALUE null There are no more elements nul1 Pointer to previous allocated element LIBRARY POOL LIB SEE ALSO pool init pxalloc_fast pavail fast pfree fast Chapter 1 Function Descriptions 301 pxlast long pxlast Pool t p DESCRIPTION Get the last allocated element in an xmem pool The pool MUST be set to being a linked pool using pool link p lt non zero gt otherwise the results are undefined PARAMETERS P Pool handle structure as previously passed to pool_xinit RETURN VALUE 0 There are no allocated elements 0 Pointer to last i e youngest allocated element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxalloc pxfree pxfirst 302 Dynamic C Function Reference Manual pxlast fast xmem long pxlast fast Pool t p DESCRIPTION Get the last allocated element in an xmem pool The pool MUST be set to being a linked pool using pool _link p lt non zero gt otherwise the results are undefined This is an assembler only version of pxlast Do not call this function from C REGISTERS Parameter in IX Trashes F HL Return value in BCDE carry flag EXAMPLE ld ix my_ pool lcall pxlast_ fast jr c no _elems BCDE points to last element PARAMETERS P Pool handle structure as previously passed to pool_xinit Pass this in IX register RETURN VALUE
163. g RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB EXAMPLE This program can be found in samples filesystem format CG define FS FLASH use filesystem lib define RESERVE 0 define BLOCKS 64 define WEAR 1 main if fs_ format RESERVE BLOCKS WEAR Or eg eene ESM mG ie ASAN else printf flash successfully formatted n Chapter 1 Function Descriptions 89 fs format FS2 int fs format long reserveblocks int num blocks unsigned wearlevel DESCRIPTION Format all extents of the file system This must be called after calling Ce init Only extents that are not defined as reserved are formatted All files are deleted PARAMETERS reserveblocks Must be zero Retained for backward compatibility num blocks Ignored backward compatibility wearlevel Initial wearlevel value This should be 1 if you have a new flash and some larger number if the flash is used If you are reformat ting a flash you can use 0 to use the old flash wear levels RETURN VALUE 0 Success 0 Failure ERRNO VALUES EINVAL the reserveblocks parameter was non zero EBUSY one or more files were open EIO I O error during format If this occurs retry the format operation If it fails again there is probably a hardware error SEE ALSO fs init FS2 1x_format 90 Dynamic C Function Reference Manual fs init FS1 int fs init long reserveblocks int num blocks DESCRIPTION Initia
164. g and rad convert radians and degrees PARAMETERS x Assumed to be between INF and INF RETURN VALUE The arctangent of the argument in radians LIBRARY MATH LIB SEE ALSO tan acot Chapter 1 Function Descriptions atan2 float atan2 float y float x DESCRIPTION Computes the arctangent of real float value y x to find the angle in radians between the x axis and the ray through 0 0 and x y Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS y The point corresponding to the y axis x The point corresponding to the x axis RETURN VALUE If both y and x are zero the function returns 0 and signals a domain error Otherwise the arctangent of y x is returned as follows EE pee Parameter Values in Radians angle x 0 y 0 PI 2 x 0 y gt 0 PI x 0 y lt 0 x gt 0 y 0 PI x lt 0 y 0 LIBRARY MATH LIB SEE ALSO acos asin atan cos sin tan 14 Dynamic C Function Reference Manual atof float atof char sptr DESCRIPTION ANSI String to Float Conversion UNIX compatible PARAMETERS sptr String to convert RETURN VALUE The converted floating value If the conversion is invalid xtoxErr is setto 1 Otherwise xtoxErr is set to 0 LIBRARY STRING LIB SEE ALSO atoi atol strtod Chapter 1 Function Descriptions 15 atoi int atoi char sptr DESCRIPTION ANSI String to Integer Conversion UNIX
165. g number PARAMETERS num 32 bit signed number RETURN VALUE The number of characters to display signed long number LIBRARY STDIO LIB SEE ALSO ltoa Chapter 1 Function Descriptions 155 1x format int lx format FSLXnum lxn long wearlevel DESCRIPTION Format a specified file system extent This must not be called before calling fs_init All files which have either or both metadata and data on this extent are de leted Formatting can be quite slow depending on hardware so it is best performed after power up if at all PARAMETERS Lan Logical extent number 1 fs num_1x inclusive wearlevel Initial wearlevel value This should be 1 if you have a new flash and some larger number if the flash is used If you are reformatting a flash you can use 0 to use the old flash wear levels RETURN VALUE 0 Success 0 Failure ERRNO VALUES ENODEV no such extent number or extent is reserved EBUSY one or more files were open on this extent EIO I O error during format If this occurs retry the format operation If it fails again there is probably a hardware error LIBRARY FS2 L1B SEE ALSO fs init fs format 156 Dynamic C Function Reference Manual mbr CreatePartition int mbr CreatePartition mbr drive drive int pnum char type DESCRIPTION Creates or modifies the partition specified The partition being modified must not be mounted and should be released by filesystem use
166. gical extent number for metadata 0 return logical extent number for data RETURN VALUE Logical extent number LIBRARY FS2 1lib SEE ALSO fcreate FS2 fs_set_1x FS2 98 Dynamic C Function Reference Manual fs get 1x size FS2 long Ce get 1x size FSLXnum lxn int all word Les shift DESCRIPTION Returns the size of the specified logical extent in bytes This information is useful when initially partitioning an LX or when estimating the capacity of an LX for user data al 1 is a flag which indicates whether to return the total data capacity as if all current files were deleted or whether to return just the available data capacity The return value ac counts for the packing efficiency which will be less than 100 because of the bookkeep ing overhead It does not account for the free space required when any updates are performed however this free space may be shared by all files on the LX It also does not account for the space required for file metadata You can account for this by adding one logical sector for each file to be created on this LX You can also specify that the metadata be stored on a different LX by use of fs_set_1x This function may be called either before or after fs init If called before then the La shift parameter must be set to the value to be usedinfs_ setup since the LS size is not known at this point 1s shift can also be passed as zero in which case the default size will be assumed
167. gner to incorporate redun dant protective mechanisms appropriate to the risk involved Trademarks Dynamic C isa registered trademark of Z World Inc Windows is a registered trademark of Microsoft Corporation Z World Inc 2900 Spafford Street Davis California 95616 6800 USA Telephone 530 757 3737 Fax 530 757 3792 www zworld com 424 Z World Software End User License Agreement IMPORTANT READ CAREFULLY BY INSTALLING COPYING OR OTHERWISE USING THE ENCLOSED Z WORLD INC Z WORLD DYNAMIC C SOFTWARE WHICH INCLUDES COMPUTER SOFTWARE SOFTWARE AND MAY INCLUDE ASSOCIATED MEDIA PRINTED MATERIALS AND ONLINE OR ELECTRONIC DOCUMENTATION DOCUMENTATION YOU ON BEHALF OF YOURSELF OR AS AN AUTHORIZED REPRESENTATIVE ON BEHALF OF AN ENTITY AGREE TO ALL THE TERMS OF THIS END USER LICENSE AGREEMENT LICENSE REGARDING YOUR USE OF THE SOFTWARE IF YOU DO NOT AGREE WITH ALL OF THE TERMS OF THIS LICENSE DO NOT INSTALL COPY OR OTHERWISE USE THE SOFTWARE AND IMMEDIATELY CONTACT Z WORLD FOR RETURN OF THE SOFTWARE AND A REFUND OF THE PUR CHASE PRICE FOR THE SOFTWARE We are sorry about the formality of the language below which our lawyers tell us we need to include to protect our legal rights If You have any questions write or call Z World at 530 757 4616 2900 Spafford Street Davis California 95616 1 Definitions In addition to the definitions stated in the first paragraph of this document capital ize
168. h OpenInputCompressFile using the LZ compression algorithm The result is put into a user specified output file an empty ZFILE opened with OpenOutputCompressedFile The macro OUTPUT_COMPRESSION_ BUFFERS must be defined with a positive non zero value to use CompressFile oracompile time error will occur The default val ue of OUTPUT_COMPRESSION_ BUFFERS is zero PARAMETERS input Input bit file output Output bit file RETURN VALUE None LIBRARY LZSS LIB SEE ALSO OpenInputCompressedFile OpenOutputCompressedFile Chapter 1 Function Descriptions 39 CoPause void CoPause CoData p DESCRIPTION Pause execution of a costatement so that it will not run the next time it is encountered un less and until CoOResume p or CoBegin p are called PARAMETERS p Address of costatement LIBRARY COSTATE LIB CoReset void CoReset CoData p DESCRIPTION Initializes a costatement structure so the costatement will not be executed next time it is encountered PARAMETERS p Address of costatement LIBRARY COSTATE LIB 40 Dynamic C Function Reference Manual CoResume void CoResume CoData p DESCRIPTION Resume execution of a costatement that has been paused PARAMETERS p Address of costatement LIBRARY COSTATE LIB Chapter 1 Function Descriptions 41 cos float cos float x DESCRIPTION Computes the cosine of real float value x Note The Dynamic C functions deg
169. hapter 1 Function Descriptions 171 nf getPageCount long nf getPageCount nf device dev DESCRIPTION Returns the number of program pages on the particular NAND flash device PARAMETERS dev Pointer to an nf device structure for an initialized NAND flash device RETURN VALUE The number of program pages on the NAND flash device LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 172 Dynamic C Function Reference Manual nf getPageSize long nf getPageSize nf device dev DESCRIPTION Returns the size in bytes excluding spare bytes of each program page on the particular NAND flash device PARAMETERS dev Pointer to an nf device structure for an initialized NAND flash device RETURN VALUE The number of data bytes in the NAND flash s program page excluding the spare bytes used for ECC storage etc LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 Chapter 1 Function Descriptions 173 nf initDevice int nf initDevice nf device dev int which DESCRIPTION Initializes a particular NAND flash device This function must be called before the partic ular NAND flash device can be used Seenf_devtable in NFLASH LIB for the user updatable list of supported NAND flash devices Note that xalloc
170. he address internal vector table base vectNum 16 1 PARAMETER vectNum Interrupt number should be 0 15 RETURN VALUE Jump address in vector table LIBRARY SYS LIB SEE ALSO GetVectExtern2000 SetVectExtern2000 SetVectIntern Chapter 1 Function Descriptions 119 gps get position int gps get position GPSPositon newpos char sentence DESCRIPTION Parses a sentence to extract position data This function is able to parse any of the follow ing GPS sentence formats GGA GLL or RMC PARAMETERS newpos A GPSPosition structure to fill sentence A string containing a line of GPS data in NMEA 0183 format RETURN VALUE 0 Success 1 Parsing error 2 Sentence marked invalid LIBRARY gps lib 120 Dynamic C Function Reference Manual gps get utc int gps get _utc struct tm newtime char sentence DESCRIPTION Parses an RMC sentence to extract time data PARAMETERS newtime tm structure to fill with new UTC time sentence A string containing a line of GPS data in NMEA 0183 format RMC sentence RETURN VALUE 0 Success 1 Parsing error 2 Sentence marked invalid LIBRARY GPS LIB Chapter 1 Function Descriptions 121 gps ground distance float gps ground distance GPSPosition a GPSPosition b DESCRIPTION Calculates ground distance in km between two geographical points Uses spherical earth model PARAMETERS a First point b Second point RETUR
171. he maximum allowed i e gt OS LOWEST PRIO OS _TASK_NOT SUSPENDED The task to resume has not been suspended LIBRARY UCOS2 LIB SEE ALSO OSTaskSuspend OSTaskStatHook void OSTaskStatHook void DESCRIPTION Called every second by nC OS II s statistics task This function resides in UCOS2 LIB and allows an application to add functionality to the statistics task LIBRARY UCOS2 LIB Chapter 1 Function Descriptions 233 OSTaskStkChk INT8U OSTaskStkChk INT8U prio OS STK DATA pdata DESCRIPTION Check the amount of free memory on the stack of the specified task PARAMETERS prio The task s priority pdata Pointer to a data structure of type OS_STK DATA RETURN VALUE OS NO ERR The call was successful OS PRIO INVALID OS TASK NOT EXIST OS TASK _OPT ERR LIBRARY UCOS2 LIB SEE ALSO OSTaskCreateExt The priority you specify is higher than the maximum allowed Le gt OS LOWEST PRIO or OS _PRIO_SELF not spec ified The desired task has not been created IfOS TASK OPT _STK_CHKwas NOT specified when the task was created 234 Dynamic C Function Reference Manual OSTaskSuspend INT8U OSTaskSuspend INT8U prio DESCRIPTION Suspends a task The task can be the calling task if the priority passed to OSTaskSuspend is the priority of the calling task or OS_PRIO_ SELF This func tion should be used with great care If a task is suspended that is waiting for an event i e
172. he root code i e program code or constants data i e statically allocated variables or xmem seg ments PARAMETERS pointer The pointer to convert pointing to stack auto data RETURN VALUE The physical address of the pointer LIBRARY XMEM LIB SEE ALSO paddr paddrDs Chapter 1 Function Descriptions 247 palloc void palloc Pool t p DESCRIPTION Return next available free element from the given pool Eventually your application should return this element to the pool using pfree to avoid memory leaks Assembler code can call palloc_fast instead PARAMETERS p Pool handle structure as previously passed to pool _init RETURN VALUE Null No free elements available Otherwise pointer to an element LIBRARY POOL LIB SEE ALSO pool init pcalloc pfree phwm pavail palloc_ fast pxalloc pool link 248 Dynamic C Function Reference Manual palloc fast xmem void palloc fast Pool t p DESCRIPTION Return next available free element from the given pool which must be a root pool This is an assembler only version of palloc Do not call this function from C palloc_ fast does not perform any IPSET protection parameter validation or update the high water mark palloc_ fast is a root function The parameter must be passed in IX and the returned element address is in HL REGISTERS Parameter in IX Trashes F BC DE Return value in HL carry flag EXAMPL
173. i use and repro duce the Software solely for internal purposes and only for the number of users for which You have purchased licenses for the Users and not for redistribution or resale ii use and repro duce the Software solely to develop the Qualified Applications and iii use reproduce and distribute the Qualified Applications in object code only to end users solely for use on Quali fied Systems provided however any agreement entered into between You and such end users with respect to a Qualified Application is no less protective of Z Worlds intellectual property rights than the terms and conditions of this License iv use and distribute with Qualified Applications and Qualified Systems the program files distributed with Dynamic C named RFU EXE PILOT BIN and COLDLOAD BIN in their unaltered forms 3 Restrictions Except as otherwise stated You may not nor permit anyone else to decompile reverse engineer disassemble or otherwise attempt to reconstruct or discover the source code of the Software alter merge modify translate adapt in any way prepare any derivative work based upon the Software rent lease network loan distribute or otherwise transfer the Software or any copy thereof You shall not make copies of the copyrighted Software and or documenta tion without the prior written permission of Z WORLD provided that You may make one 1 hard copy of such documentation for each User and a reasonable number of back
174. i if the Software is supplied to the Department of Defense DOD the Software is classified as Commercial Computer Software and the Government is acquiring only restricted rights in the Software and its documentation as that term is defined in Clause 252 227 7013 c 1 of the DFARS and ii if the Software is supplied to any unit or agency of the United States Govern ment other than DOD the Government s rights in the Software and its documentation will be as defined in Clause 52 227 19 c 2 of the FAR or in the case of NASA in Clause 18 52 227 86 d of the NASA Supplement to the FAR 426 Dynamic C Function Reference Manual 6 Disclaimer of Warranty You expressly acknowledge and agree that the use of the Software and its documentation is at Your sole risk THE SOFTWARE DOCUMENTATION AND TECHNICAL SUPPORT ARE PROVIDED ON AN AS IS BASIS AND WITHOUT WAR RANTY OF ANY KIND Information regarding any third party services included in this pack age is provided as a convenience only without any warranty by Z WORLD and will be governed solely by the terms agreed upon between You and the third party providing such ser vices Z WORLD AND ITS LICENSORS EXPRESSLY DISCLAIM ALL WARRANTIES EXPRESS IMPLIED STATUTORY OR OTHERWISE INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY FITNESS FOR A PARTICU LAR PURPOSE AND NON INFRINGEMENT OF THIRD PARTY RIGHTS Z WORLD DOES NOT WARRANT THAT THE FUNCTIONS CONTAINED IN THE SOFT
175. ices are e AT45DB041 e AT45DB081 e AT45DB642 e AR45DB1282 PARAMETERS dev Pointer to an empty ef device struct that will be filled in on re turn The struct will then act as a handle for the device cs port T O port for the active low chip select pin for the device CS shadow Pointer to the shadow variable for cs_port cs pin TO port pin number for the chip select signal RETURN VALUE 0 for success lif no flash chip detected 2 if error communicating with flash chip 3 if unknown flash chip type LIBRARY SFLASH LIB Chapter 1 Function Descriptions 351 sf isWriting int sf isWriting sf device dev DESCRIPTION Returns 1 if the flash device is busy writing to a page PARAMETER dev Pointer to st device struct for initialized flash device RETURN VALUE 1 busy 0 ready not currently writing LIBRARY SFLASH LIB sf pageToRAM int sf pageToRAM long page DESCRIPTION Command the serial flash to copy the contents of one of its flash pages into its RAM buff er Note This function blocks and only works on boards with one serial flash device PARAMETER page The page to copy RETURN VALUE 0 for success 1 for error LIBRARY SFLASH LIB 352 Dynamic C Function Reference Manual sf RAMToPage int sf RAMToPage long page DESCRIPTION Command the serial flash to write its RAM buffer contents to one of the flash memory pages Note This function blocks and only works on boards with o
176. ied bit at memory address to 1 bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address 1L lt lt bit PARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit LIBRARY UTIL LIB SEE ALSO SET 340 Dynamic C Function Reference Manual SET void SET void address unsigned int bit DESCRIPTION Dynamic C may expand this call inline Sets specified bit at memory address to 1 bit may be from 0 to 31 This is equivalent to the following expression but more efficient long address 1L lt lt bit PARAMETERS address Address of byte containing bits 7 0 bit Bit location where 0 represents the least significant bit LIBRARY UTIL LIB SEE ALSO set Chapter 1 Function Descriptions 341 set32kHzDivider void set32kHzDivider int setting DESCRIPTION Sets the expanded 32kHz oscillator divider for the Rabbit 3000 processor This function does not enable running the 32kHz oscillator instead of the main clock This function will affect the actual rate used by the processor when the 32kHz oscillator has been enabled to run by a call to use32kHzOsc This function is not task reentrant PARAMETER setting 32kHz divider setting The following are valid e OSC32DIV_1 don t divide 32kHz oscillator e OSC32DIV_2 divide 32kHz oscillator by two e OSC32DIV_4 divide 32kHz oscillator by fou
177. igned long for the current count LIBRARY R3000 LIB Chapter 1 Function Descriptions 309 qd zero void qd zero int channel DESCRIPTION Sets the count for a channel to 0 This function is intended to be used with the Rabbit 3000 microprocessor PARAMETERS channel The channel to reset currently 1 or 2 LIBRARY R3000 LIB 310 Dynamic C Function Reference Manual qsort int qsort char base unsigned n unsigned s int cmp DESCRIPTION Quick sort with center pivot stack control and easy to change comparison method This version sorts fixed length data items It is ideal for integers longs floats and packed string data without delimiters Raw integers longs floats or strings may be sorted however the string sort is not efficient PARAMETERS base n s cmp RETURN VALUE 0 if the operation is successful LIBRARY SYS LIB Base address of the raw string data Number of blocks to sort Number of bytes in each block User supplied compare routine for two block pointers p and q that returns an int with the same rules used by Unix strcmp p q 0 Blocks p and q are equal lt 0 p is less than q gt 0 p is greater than q Beware of using ordinary strcmp it requires a null at the end of each string EXAMPLE Sorts an array of integers int mycmp int sp int q return p q coner Lae ert const int p 10 main age al 6 Gs Outen en 102r mycmio 3
178. init sets the value of SPIxor to 0x00 If SPI_SLAVE RDY_ PORT is defined for a slave device the driver will turn on the bit immediately upon activating the receiver It will then wait for a byte to become available then turn off the bit The byte will not be available until the master supplies the 8 clock pulses If SPI_SLAVE RDY_ PORT is defined for a master device the driver will wait for the bit to become true before activating the receiver and then wait for it to become false after re ceiving the byte Note for Master the receiving device Chip Select must already be active PARAMETERS DestAddr Address to store the data ByteCount Number of bytes to read RETURN VALUE Master none Slave 0 no CS signal no received bytes 1 CS bytes received LIBRARY SPI LIB SEE ALSO SPIinit SPIWrite SPIWrRd 364 Dynamic C Function Reference Manual SPIWrite int SPIWrite void SrcAddr int ByteCount DESCRIPTION Write a block of bytes to the SPI port If SPI SLAVE RDY_ PORT is defined for a slave device the driver will turn on the bit immediately after loading the transmit register It will then wait for the buffer to become available then turn off the bit The buffer will not become available until the master sup plies the first clock IfSPI_ SLAVE RDY_ PORT is defined for a master device the driver will wait for the bit to become true before transmitting the byte and then wait for it to become false after trans
179. ion must release the memory storage by call the counterpart call of the dynamic allocation scheme used If the queue storage was created statically then the storage can be reused PARAMETERS pevent Pointer to the queue s event control block opt May be one of the following delete options e OS DEL NO PEND Delete queue only if no task pending e OS DEL ALWAYS Deletes the queue even if tasks are wait ing In this case all the tasks pending will be readied err Pointer to an error code that can contain one of the following e OS MO ERR Call was successful and queue was deleted e OS ERR D I ISR Attempt to delete queue from an ISR e OS ERR INVALID OPT Invalid option was specified e OS ERR TASK WAITING One or more tasks were wait ing on the queue e OS ERR EVENT _TYPE You didn t pass a pointer to a queue e OS ERR _PEVENT NULL If pevent is a null pointer RETURN VALUE pevent Error OS_ EVENT 0 The queue was successfully deleted LIBRARY OS OC Prior to DC 8 UCOS2 LIB Chapter 1 Function Descriptions 211 OSQFlush INT8U OSQFlush OS EVENT pevent DESCRIPTION Flushes the contents of the message queue PARAMETERS pevent Pointer to message queue s event control block RETURN VALUE OS NO ERR Success OS_ERR_EVENT TYPE A pointer to a queue was not passed OS ERR PEVENT NULL f pevent is a null pointer LIBRARY OS OC Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQCreate OSQPend OSQPost OSQPostF
180. is function only sets up jumps to 16 bit addresses The following table shows the vect Num argument that should be used for each periph eral or RST The offset into the vector table is also shown The following vectors are for the Rabbit 2000 and 3000 Peripheral or RST vectNum Vector Table Offset ae en ante SE SE RST 10 instruction 0x02 0x20 RST 38 instruction 0x07 0x70 Slave Port 0x08 0x80 Timer A Ox0A OxAO Timer B 0x0B 0xBO Serial Port A 0x0C 0xCO Serial Port B 0x0D 0xDO Serial Port C OxOE OxEO Serial Port D OxOF OxFO Chapter 1 Function Descriptions 347 SetVectIntern continued The following vectors are for the Rabbit 3000 processor only Peripheral or RST vectNum Vector Table Offset Input Capture 0x1A 0x01A0 Quadrature Encoder 0x19 0x0190 Serial port E 0x1C 0x01C0 Serial port F 0x1D 0x01D0 The following three RSTs are included for completeness but should not be set by the user as they are used by Dynamic C Peripheral or RST vectNum Vector Table Offset RST 18 instruction 0x03 0x30 RST 20 instruction 0x04 0x40 RST 28 instruction 0x05 0x50 PARAMETERS vectNum Interrupt number See the above table for valid values isr ISR handler address Must be a root address RETURN VALUE Address of vector table entry or zero if vectNum is not valid LIBRARY SYS LIB SEE ALSO GetVectExtern2000 SetVectExtern2000 GetVe
181. is too close to a multiple of 90 PI 2 the function returns INF and signals a range error LIBRARY MATH LIB SEE ALSO atan cos sin tanh Chapter 1 Function Descriptions 385 tanh float tanh float x DESCRIPTION Computes the hyperbolic tangent of argument This functions takes a unitless number as a parameter and returns a unitless number PARAMETERS x Float to use in computation RETURN VALUE Returns the hyperbolic tangent of x If x gt 49 9 approx the function returns INF and signals a range error If x lt 49 9 approx the function returns INF and signals a range error LIBRARY MATH LIB SEE ALSO atan cosh sinh tan 386 Dynamic C Function Reference Manual int tm_rd struct tm St DESCRIPTION tm rd Reads the current system time from SEC_TIMER into the structure t WARNING The variable SEC_ TIMER is initialized when a program is started If you change the Real Time Clock RTC this variable will not be updated until you restart a program and the tm_rd function will not return the time that the RTC has been reset to The read_rtc function will read the actual RTC and can be used if necessary PARAMETERS t Pointer to structure to store time and date struct tm char tm_sec seconds 0 59 char tm_min 0 59 char tm_hour 0 23 char tm _mday 1 31 char tm_mon 1 12 char tm_year 80 147 1980 2047 char tm wday 0 6 0 Sunday RETURN VAL
182. it ispunct Chapter 1 Function Descriptions 135 isalpha int isalpha int c DESCRIPTION Tests for an alphabetic character A to Z or a to Z PARAMETERS c Character to test RETURN VALUE 0 if not a alphabetic character 0 otherwise LIBRARY STRING LIB SEE ALSO isalnum isdigit ispunct iscntrl int iscntrl int c DESCRIPTION Tests for a control character 0 lt c lt 31 or c 127 PARAMETERS c Character to test RETURN VALUE 0 if not a control character O otherwise LIBRARY STRING LIB SEE ALSO isalpha isalnum isdigit ispunct 136 Dynamic C Function Reference Manual isCoDone int isCoDone CoData p DESCRIPTION Determine if costatement is initialized and not running PARAMETERS p Address of costatement RETURN VALUE 1 Costatement is initialized and not running 0 Otherwise LIBRARY COSTATE LIB isCoRunning int isCoRunning CoData p DESCRIPTION Determine if costatement is stopped or running PARAMETERS Pp Address of costatement RETURN VALUE 1 if costatement is running 0 otherwise LIBRARY COSTATE LIB Chapter 1 Function Descriptions 137 isdigit int isdigit int c DESCRIPTION Tests for a decimal digit 0 9 PARAMETERS c Character to test RETURN VALUE 0 if not a decimal digit 0 otherwise LIBRARY STRING LIB SEE ALSO isxdigit isalpha isalpha 138 Dynamic C Fu
183. ither the devices program page size of 512 bytes or to its erase block size of 16 KB If not defined by the application NFLASH USEERASEBLOCKSIZE is set to the value 1 in NFLASH LIB this mode should maximize the NAND flash devices life NFLASH USEERASEBLOCKSIZE value 1 sets the driver up to program an erase block size at a time This mode may be best for applications with only a few files open in write mode with larger blocks of data being written and may be especially good at append op erations The trade off is reduced flash erasures at the expense of chunkier overhead due to the necessity of performing all 32 pages ECC calculations for each programming unit written NFLASH USEERASEBLOCKSIZE value 0 sets the driver up to program a program page size at a time This mode may be best for applications with more than a few files open in write mode with smaller blocks of data being written and may be especially good at in terleaved file writes and or random access write operations The trade off is increased flash erasures with the benefit of spread out overhead due to the necessity of performing only 1 page s ECC calculations per programming unit written 174 Dynamic C Function Reference Manual nf initDevice continued PARAMETERS dev Pointer toan of device structure that will be filled in An initial ized nf device struct acts as a handle for the NAND flash device which Number of the NAND flash device to initialize Currently
184. le user cofunction the first request is honored and the second request is held When loophead notices that the first caller is not being called each time around the loop it cancels the request calls the abandonment code and allows the second caller in See Samples Cofunc Cofaband c for sample code showing abandonment han dling LIBRARY COFUNC LIB loopinit void loopinit DESCRIPTION This function should be called in the beginning of a program that uses single user cofunc tions It initializes internal data structures that are used by loophead LIBRARY COFUNC LIB Chapter 1 Function Descriptions 153 lsqrt unsigned int lsqrt unsigned long x DESCRIPTION Computes the square root of x Note that the return value is an unsigned int The fractional portion of the result is truncated PARAMETERS x long int input for square root computation RETURN VALUE Square root of x fractional portion truncated LIBRARY MATH LIB ltoa char ltoa long num char ibuf DESCRIPTION This function outputs a signed long number to the character array PARAMETERS num Signed long number ibuf Pointer to character array RETURN VALUE Pointer to the same array passed in to hold the result LIBRARY STDIO LIB SEE ALSO ltoa 154 Dynamic C Function Reference Manual ltoan int ltoan long num DESCRIPTION This function returns the number of characters required to display a signed lon
185. lize the internal data structures for an existing file system Blocks that are used by a file are preserved and checked for data integrity PARAMETERS reserveblocks Starting address of the flash file system When FS_FLASH is de fined this value should be 0 or a multiple of the block size When FS_RAM is defined this parameter is ignored num blocks The number of blocks that the file system contains By default the block size is 4096 bytes RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 91 fs init FS2 int fs init long reserveblocks int num blocks DESCRIPTION Initialize the filesystem The static structure _ fs contains information that defines the number and parameters associated with each extent or partition This function must be called before any of the other functions in this library except for fs setup fs_get_ 1x andfs_ get_1x size Pre main initialization will create up to 3 devices e The second flash device if available on the board e Battery backed SRAM if FS2_ RAM RESERVE defined e The first program flash if both XMEM_ RESERVE SIZE and FS2_ USE PROGRAM FLASH defined The LX numbers of the default devices can be obtained using the fs_get_flash_1x fs_get_ram_1x andfs_get_other_1x calls If none of these devices can be set up successfully fs init will return ENOSPC when called This function performs complete consi
186. loophead eee ceeeee eee seen 153 OSMDbOXPOSE seseeseseeeee ies OSMboxPostOpt ccceeeees 197 loopinit eege codes 153 OSMDboXQuETY ccccccecececeees 198 E EE 154 OSMemCreate ccc00005 199 UE 154 OSMemGet cccceeeeeees 200 Weem deed 155 501 lx re EE 156 OSMemPut ssseseseeeseerees 0 OSMemQuery cecccccceceees 202 M OSMutexAccept cccccccceceees 203 OSMutexCreate c00 204 mbr_CreatePartition 157 OSMutexDel ccceeees 205 mbr_EnumDrive s esses0e0s 158 OSMutexPend ceeseeseeeeee 206 mbr_FormatDrive 00 159 OSMutexPost ceececeeees 207 mbr_MountPartition 160 OSMutexQuery ceceeeeee 208 mbr_UnmountPartition 161 OSQACCEPt oien ennaa 209 mbr_ValidatePartitions 162 OSQCreate ceeececcecccseee eee 210 md5_append edergEe 163 OSQDel oosssessieieessesrieesseeen 211 mds CS EL EE 164 OSQFlush ccccecceseceeeees 212 MIDs rt BEER 163 OSQPend ceceseceesceeeeeeneee 213 E EE 164 OSQPOSt o cescecessceesceeeceenees 214 memcmp sssssssssssssssssssosoeoe 165 OSQPostFront ccccceeeeeee 215 MEMCHPY uu csceseeesesscececeeeees 166 OSQPostOpt eccsseseesseeeesseeee 216 MEMMOVE sseececeecceseeeeeees 167 OSQQUETY oe seesesseseeseeeeesseeee 217 memset E E 167 OSSchedLock cccccecececeeece 218 mktime se ccsiiaseecsceistvesversewes 168 OSSchedUnlock 218 EE 16
187. lt c lt 47 lt gt 58 lt c lt 64 A S 91 lt c lt 96 I 123 lt c lt 126 PARAMETERS c Character to test RETURN VALUE 0 Not a character 0 Is a character LIBRARY STRING LIB SEE ALSO isspace Chapter 1 Function Descriptions 141 isupper int isupper int c DESCRIPTION Tests for upper case character PARAMETERS c Character to test RETURN VALUE 0 Is not an uppercase character 0 Is an uppercase character LIBRARY STRING LIB SEE ALSO tolower toupper islower isxdigit int isxdigit int c DESCRIPTION Tests for a hexadecimal digit 0 9 A F a f PARAMETERS c Character to test RETURN VALUE 0 Not a hexadecimal digit 0 Is a hexadecimal digit LIBRARY STRING LIB SEE ALSO isdigit isalpha isalpha 142 Dynamic C Function Reference Manual itoa char itoa int value char buf DESCRIPTION Places up to a 5 digit character string with a minus sign in the leftmost digit when appro priate at buf The string represents value a signed number Leading zeros are suppressed in the character string except for one zero digit when value 0 The longest possible string is 32768 PARAMETERS value 16 bit signed number to convert buf Character string of converted number in base 10 RETURN VALUE Pointer to the end null terminator of the string in buf LIBRARY STDIO LIB SEE ALSO atoi utoa ltoa
188. mber may itself have been previously partitioned or it should be 1 for the 2nd flash device or possibly 2 for the NVRAM device PARAMETERS Lan Base extent number to partition or modify ls shift New logical sector size to assign to base partition or zero to not al ter it This is expressed as the log base 2 of the desired size and must be a number between 6 and 13 inclusive reserve it TRUE if base partition is to be marked reserved rfu A pointer reserved for future use Pass as null partition it Must be set to FS_ PARTITION FRACTION or FS MODIFY EXTENT The following parameters are ignored if this parameter is not FS_ PARTITION FRACTION Chapter 1 Function Descriptions 103 part The fraction of the existing base extent to assign to the new ex tent This number is expressed as a fixed point binary number with the binary point to the left of the MSB e g 0x3000 assigns 3 16 of the base extent to the new partition updating the base ex tent to 13 16 of its original size The nearest whole number of physical sectors is used for each extent Dart Le shift Logical sector size to assign to the new extent or zero to use the same LS size as the base extent Expressed in same units as pa rameter 2 part reserve TRUE if the new extent is to be reserved part rfu A pointer reserved for future use Pass as null RETURN VALUE 0 Failure extent could not be partitioned 0 Success number of the new extent or same as 1xd for existi
189. message RETURN VALUE Pointer to the created memory partition control block if one is available null pointer oth erwise LIBRARY UCOS2 LIB SEE ALSO OSMemGet OSMemPut OSMemQuery Chapter 1 Function Descriptions 199 OSMemGet void OSMemGet OS MEM pmem INT8U err DESCRIPTION Gets a memory block from the specified partition PARAMETERS pmem Pointer to partition s memory control block err Pointer to variable containing an error message RETURN VALUE Pointer to a memory block or a null pointer if an error condition is detected LIBRARY UCOS2 LIB SEE ALSO OSMemCreate OSMemPut OSMemQuery 200 Dynamic C Function Reference Manual OSMemPut INT8U OSMemPut OS MEM pmem void pblk DESCRIPTION Returns a memory block to a partition PARAMETERS pmem Pointer to the partition s memory control block pblk Pointer to the memory block being released RETURN VALUE OS_NO ERR The memory block was inserted into the partition OS MEM FULL If returning a memory block to an already FULL memory partition More blocks were freed than allocated LIBRARY UCOS2 LIB SEE ALSO OSMemCreate OSMemGet OSMemQuery Chapter 1 Function Descriptions 201 OSMemQuery INT8U OSMemQuery OS MEM pmem OS MEM DATA pdata DESCRIPTION Determines the number of both free and used memory blocks in a memory partition PARAMETERS pmem Pointer to partition s memory control block pdata Pointer to structu
190. mitting the byte Note for Master the receiving device Chip Select must already be active PARAMETERS SrcAddr Address of data to write ByteCount Number of bytes to write RETURN VALUE Master none Slave 0 no CS signal no transmitted bytes 1 CS bytes transmitted LIBRARY SPI LIB SEE ALSO SPIinit SPIRead SPIWrRd Chapter 1 Function Descriptions 365 SPIWrRd void SPIWrRd void SrcAddr void DstAddr int ByteCount DESCRIPTION Read and Write a block of bytes from to the SPI port Note for Master the receiving device Chip Select must already be active PARAMETERS SrcAddr Address of data to write DstAddr Address to put received data ByteCount Number of bytes to read write The maximum value is 255 bytes This limit is not checked The receive buffer MUST be at least as large as the number of bytes RETURN VALUE Master none Slave 0 no CS signal no received transmitted bytes 1 CS bytes received transmitted LIBRARY SPI LIB SEE ALSO SPIinit SPIRead SPIWrite 366 Dynamic C Function Reference Manual sprintf int sprintf char buffer char format DESCRIPTION This function takes a string pointed to by format arguments of the format and outputs the formatted string to buf fer pointed to by buf fer The user should make sure that e there are enough arguments after format to fill in the format parameters in the format string e the types of arguments after f
191. n calls OSStartHighRdy which calls OSTaskSwHook and sets OSRunning to TRUE LIBRARY UCOS2 LIB SEE ALSO OSTaskCreate OSTaskCreateExt 224 Dynamic C Function Reference Manual OSStatInit void OSStatInit void DESCRIPTION Determines CPU usage LIBRARY UCOS2 LIB OSTaskChangePrio INT8U OSTaskChangePrio INT8U oldprio INT8U newprio DESCRIPTION Allows a task s priority to be changed dynamically Note that the new priority MUST be available PARAMETERS oldprio The priority level to change from newprio The priority level to change to RETURN VALUE OS MO ERR The call was successful OS PRIO INVALID The priority specified is higher that the maximum allowed i e gt OS LOWEST PRIO OS PRIO EXIST The new priority already exist OS PRIO ERR There is no task with the specified OLD priority i e the OLD task does not exist LIBRARY UCOS2 LIB Chapter 1 Function Descriptions 225 OSTaskCreate INT8U OSTaskCreate void task void pdata INT16U stk size INT8U prio DESCRIPTION Creates a task to be managed by uC OS II Tasks can either be created prior to the start of multitasking or by a running task A task cannot be created by an ISR PARAMETERS task Pointer to the task s starting address pdata Pointer to a task s initial parameters stk_ size Number of bytes of the stack prior The task s unique priority number RETURN VALUE OS NO ERR The call was successful OS PRIO EXIT OS
192. n reentrant Starting with Dynamic C version 7 25 the functions serEputs and serFputs may be used with the Rabbit 3000 microprocessor PARAMETERS s Null terminated character string to write RETURN VALUE The number of characters actually sent from serial port X LIBRARY RS232 LIB EXAMPLE writes a null terminated string of characters repeatedly main Come Cliese Sill S VRS A nere lel p serAopen 19200 while 1 serAputs s serAclose 334 Dynamic C Function Reference Manual serxXrdFlush void serXrdFlush where X A B C D E F DESCRIPTION Flushes serial port X input buffer This function is non reentrant Starting with Dynamic C version 7 25 the functions serErdFlush and serFrdFlush may be used with the Rabbit 3000 microprocessor LIBRARY RS232 LIB serxXrdFree int serXrdFree where X A B C D E F DESCRIPTION Calculates the number of characters of unused data space This function is non reentrant Starting with Dynamic C version 7 25 the functions serErdFree and serFrdFree may be used with the Rabbit 3000 microprocessor RETURN VALUE The number of chars it would take to fill input buffer X LIBRARY RS232 LIB Chapter 1 Function Descriptions 335 serXrduUsed int serXrdUsed where X A B C D E F DESCRIPTION Calculates the number of characters ready to read from the serial port receive buffer This function is non reentran
193. n the mailbox RETURN VALUE OS NO ERR The call was successful and the message was sent OS MBOX FULL The mailbox already contains a message Only one message at a time can be sent and thus the message MUST be con sumed before another can be sent OS ERR EVENT TYPE Attempting to post to a non mailbox OS ERR PEVENT NULL If pevent is a null pointer OS_ERR_POST NULL PTR If you are attempting to post a null pointer LIBRARY OS MBOX C Prior to DC 8 UCOS2 LIB Chapter 1 Function Descriptions 197 OSMboxQuery INT8U OSMboxQuery OS EVENT pevent OS MBOX DATA pdata DESCRIPTION Obtains information about a message mailbox PARAMETERS pevent Pointer to message mailbox s event control block pdata Pointer to a data structure for information about the message mailbox RETURN VALUE OS NO ERR The call was successful and the message was sent OS_ERR_EVENT TYPE Attempting to obtain data from a non mailbox LIBRARY UCOS2 LIB SEE ALSO OSMboxAccept OSMboxCreate OSMboxPend OSMboxPost 198 Dynamic C Function Reference Manual OSMemCreate OS MEM OSMemCreate void addr INT32U nblks INT32U blksize INT8U err DESCRIPTION Creates a fixed sized memory partition that will be managed by uC OS II PARAMETERS addr Pointer to starting address of the partition nblks Number of memory blocks to create in the partition blksize The size in bytes of the memory blocks err Pointer to variable containing an error
194. nction Reference Manual isgraph int isgraph int c DESCRIPTION Tests for a printing character other than a space 33 lt c lt 126 PARAMETERS c Character to test RETURN VALUE 0 c is not a printing character 0 c is a printing character LIBRARY STRING LIB SEE ALSO isprint isalpha isalnum isdigit ispunct islower int islower int c DESCRIPTION Tests for lower case character PARAMETERS c Character to test RETURN VALUE O if not a lower case character 0 otherwise LIBRARY STRING LIB SEE ALSO tolower toupper isupper Chapter 1 Function Descriptions 139 isspace int isspace int c DESCRIPTION Tests for a white space character tab return newline vertical tab form feed and space 9 lt c lt 13 and c 32 PARAMETERS c Character to test RETURN VALUE 0 if not 0 otherwise LIBRARY STRING LIB SEE ALSO ispunct isprint int isprint int c DESCRIPTION Tests for printing character including space 32 lt c lt 126 PARAMETERS c Character to test RETURN VALUE 0 if not a printing character 0 otherwise LIBRARY STRING LIB SEE ALSO isdigit isxdigit isalpha ispunct isspace isalnum isgraph 140 Dynamic C Function Reference Manual ispunct int ispunct int c DESCRIPTION Tests for a punctuation character Character Decimal Code space 32 1 amp 4 33
195. ndle structure as previously passed to pool_init or pool xinit This must be provided in the IX register RETURN VALUE Number of elements available for allocation The return value is placed in HL In addition the Z flag is set if there are no free elements LIBRARY POOL LIB SEE ALSO pool init pool xinit phwm pnel Chapter 1 Function Descriptions 251 pcalloc void pcalloc Pool t p DESCRIPTION Return next available free element from the given pool Eventually your application should return this element to the pool using pfree to avoid memory leaks The element is set to all zero bytes before returning PARAMETERS P Pool handle structure as previously passed to pool_init RETURN VALUE Null No free elements were available Otherwise pointer to an element If the pool is not linked your application must not write more than p gt elsize bytes to the element this was the el size parameter passed to pool init The application can write up to p gt e1lsize 4 bytes to the element if the pool is linked An element in root memory has 4 bytes of overhead when the pool is linked LIBRARY POOL LIB SEE ALSO pool init palloc pfree phwm pavail 252 Dynamic C Function Reference Manual pfirst void pfirst Pool t p DESCRIPTION Get the first allocated element in a root pool The pool MUST be set to being a linked pool using pool link p lt non zero gt Othe
196. ne serial flash device PARAMETER page The page to which the RAM buffer contents will be written t RETURN VALUE 0 for success 1 for error LIBRARY SFLASH LIB Chapter 1 Function Descriptions 353 sf readDeviceRAM int sf readDeviceRAM sf device dev long buffer int offset int len int flags DESCRIPTION Read data from the RAM buffer on the serial flash chip into an xmem buffer PARAMETERS dev buffer offset len flags RETURN VALUE 0 Success 1 Error LIBRARY SFLASH LIB Pointer to sf device struct for initialized flash device Address of an xmem buffer The address in the serial flash RAM to start reading from The number of bytes to read Can be one of the following SF_BITSREVERSED Reads the data in bit reversed order from the flash chip This improves speed but the data must have been also written in reversed order see sf_XWriteRAM SF_RAMBANK1 default Reads from the first RAM bank on the flash device SF_RAMBANK2 Reads from the alternate RAM bank on the flash device 354 Dynamic C Function Reference Manual sf readPage int sf readPage sf device dev int bank long page DESCRIPTION Replaces sf_pageToRAM Command the serial flash to copy from one of its flash pages to one of its RAM buffers PARAMETERS dev Pointer to ef device struct for initialized flash device bank Which RAM bank to write the data to For Atmel 45DBxxx devices this can be 1 or 2
197. ng extent modification ERRNO VALUES ENOSPC one or other half would contain an unusably small number of logical sectors or the extent table is full In the latter case define FS MAX LX toa larger value EINVAL partition_it set to an invalid value or other parameter invalid ENODEV specified base extent number not defined LIBRARY FS2 LIB SEE ALSO fs init FS2 104 Dynamic C Function Reference Manual fs sync FS2 int fs_sync void DESCRIPTION Flush any buffers retained in RAM to the underlying hardware device The file system does not currently perform any buffering however future revisions of this library may in troduce buffering to improve performance This function is similar to 1lush except that the entire file system is synchronized instead of the data for just one file Use fs sync in preference to flush if there is only one extent in the filesystem RETURN VALUE 0 Success 0 Failure ERRNO VALUES EIO I O error LIBRARY FS2 LIB SEE ALSO fflush FS2 Chapter 1 Function Descriptions 105 ftell FS1 long ftell File f DESCRIPTION Gets the offset from the beginning of a file that the read pointer is currently at TIP fte11 can be used with fseek to find the length of a file fseek f 0 SEEK END seek to the end of the file FileLength ftell f find the length of the file PARAMETERS f A pointer to the file to query RETURN VALUE
198. nuary 1 1980 mktime tm_rd tm_wr Chapter 1 Function Descriptions 169 modf float modf float x int n DESCRIPTION Splits x into a fraction and integer n PARAMETERS x Floating point integer n An integer RETURN VALUE The integer part in n and the fractional part satisfies lt 1 0 LIBRARY MATH LIB SEE ALSO fmod ldexp 170 Dynamic C Function Reference Manual nf eraseBlock int nf eraseBlock nf device dev long page DESCRIPTION Erases the block that contains the specified page on the specified NAND flash device Check for completion of the erase operation using either nf isBusyRBHW or nf_isBusyStatus Normally this function will not allow a bad block to be erased However when NFLASH_ CANERASEBADBLOCKS is defined by the application the bad block check is not performed and the application is allowed to erase any block regardless of whether it is marked good or bad PARAMETERS dev Pointer to an initialized nf device structure page Page specifies the zero based number of a NAND flash page in the block to be erased relative to the first good page RETURN VALUE 0 Success or the first error result encountered 1 NAND flash device is busy 2 Block check time out error 3 Page is in a bad block LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 C
199. o VAHitWd to prevent this If N 2 VdHitWd will need to be called again for virtual watchdog ndog within 62 5 ms If N 255 VaHitWd will need to be called again for virtual watchdog ndog within 15 9375 seconds PARAMETERS ndog Id of virtual watchdog returned by VdGet FreeWd LIBRARY VDRIVER LIB VdInit void VdInit void DESCRIPTION Initializes the Virtual Driver for all Rabbit boards Supports De layMs DelaySec DelayTick VdInit is called by the BIOS unless it has been disabled LIBRARY VDRIVER LIB 396 Dynamic C Function Reference Manual VdReleasewd int VdReleaseWd int ndog DESCRIPTION Deactivates a virtual watchdog and makes it available for VaGet FreeWd PARAMETERS ndog Handle returned by VdGet FreeWd RETURN VALUE 0 ndog out of range 1 Success LIBRARY VDRIVER LIB EXAMPLE NVdReleaseWd virtual watchdog example main int wd handle for a virtual watchdog unsigned long tm tm SEC TIMER wd VdGetFreeWd 255 wd activated 9 virtual watchdogs now available wd must be hit atleast every 15 875 seconds while SEC_TIMER tm lt 60 letitrun fora minute VdHitWd wd reset counter back to 255 VdReleaseWd wd now 10 virtual watchdogs available Chapter 1 Function Descriptions 397 WriteFlash2 int WriteFlash2 unsigned long flashDst void rootSrc unsigned len DESCRIPTION Write len bytes from ro
200. o only obtains when the element e is initially allocated from an empty pool with pool link p POOL LINKED BY APP the allocated element is not in the linked list of allocated elements RETURN VALUE Returns the parameter value e unless e was null in which case the value of plast if called at function entry would be returned If the initial conditions for d and f do not hold then null is returned with no further action EXAMPLES void d e f e plast p f pnext p d pfirst p pmovebetween p e d f LIBRARY POOL LIB SEE ALSO pool_init pool_link plast pfirst element to move 4 f are first 2 el s pnext pprev preorder 268 Dynamic C Function Reference Manual pmovebetween fast void pmovebetween fast Pool t p void Se void d void f DESCRIPTION See description under pmovebet ween This is an assembler callable version do not call from C It does not issue IPSET protection or check parameters REGISTERS Parameters in IX DE BC HL respectively Trashes AF BC DE BC DEI HU Return value in HL carry flag PARAMETERS P Pool handle structure as previously passed to pool_init Pass in IX register e Address of element to move Pass in DE register d The first reference element Pass in BC register f The second reference element Pass in HL register RETURN VALUE In HL Either set to e parameter or 0 The c
201. om the specified buffer in mem Check for completion of the write operation using of isBusyRBHW or nf_isBusyStatus PARAMETERS dev Pointer to an initialized nf device structure dev Physical address of the xmem data to be written page Specifies the zero based number of a NAND flash page to be written relative to the first good page RETURN VALUE 0 Success or the first error result encountered 1 NAND flash device is busy 2 Block check time out error 3 Page is in a bad block 4 XMEM root memory transfer error 5 Erase block or program page operation error LIBRARY NFLASH LIB This function was introduced in Dynamic C 9 01 SEE ALSO CalculateECC256 ChkCorrectECC256 xCalculateECC256 xChkCorrectECC256 180 Dynamic C Function Reference Manual OpenInputCompressedFile int OpenInputCompressedFile ZFILE ifp DESCRIPTION long fn Opens a file for input This function sets up the LZ compression algorithm window asso ciated with the ZFILE file The second parameter is the file handle FS2 or address zimport of the input file to be opened If the file is already compressed after calling this function the file can be decompressed by calling ReadCompressedFile If the file handle points to an uncompressed FS2 file after calling this function the resulting ZFILE file can be compressed by calling CompressFile The INPUT_COMPRESSION_BUFFERS macro controls the memory allocated by this functi
202. on It defaults to 1 PARAMETERS ifp ZFILE file descriptor fn Address or handle of input file RETURN VALUE 0 Failure 1 Success LIBRARY LZSS LIB SEE ALSO CloseInputCompressedFile CompressFile ReadCompressedFile Chapter 1 Function Descriptions 181 OpenOutputCompressedFile int OpenOutputCompressedFile ZFILE ofp int fn DESCRIPTION Open an FS file for compressed output This function sets up the LZ compression algo rithm window and tree associated with the ZFILE file The second parameter is the file handle FS2 of the output file to be written to Note that this MUST be an FS file handle or the open will fail The OUTPUT_COMPRESSION_ BUFFERS macro must be defined as a positive non zero number if compression is being used PARAMETERS ofp ZFILE file descriptor fn FS2 handle of output file RETURN VALUE 0 Failure 1 Success LIBRARY LZSS LIB SEE ALSO CloseOutputCompressedFile 182 Dynamic C Function Reference Manual OS ENTER CRITICAL void OS ENTER CRITICAL DESCRIPTION Enter a critical section Interrupts will be disabled until OS_ EXIT CRITICAL is called Task switching is disabled This function must be used with great care since mis use can greatly increase the latency of your application Note that nesting OG ENTER CRITICAL calls will work correctly LIBRARY UCOS2 LIB OS EXIT CRITICAL void OS EXIT CRITICAL DESCRIPTION Exit a critical sec
203. ore elements C flag clear NC BCDE points to previous element LIBRARY POOL LIB SEE ALSO pool xinit pool link pxalloc pxprev Chapter 1 Function Descriptions 307 qd error char od _error int channel DESCRIPTION Gets the current error bits for that qd channel This function is intended to be used with the Rabbit 3000 microprocessor prominent PARAMETERS channel The channel to read errors from currently 1 or 2 RETURN VALUE Set of error flags that can be decoded with the following masks e OD OVERFLOW 0x01 e QD UNDERFLOW 0x02 LIBRARY R3000 LIB 308 Dynamic C Function Reference Manual od init void qd init int iplevel DESCRIPTION Initializes the quadrature decoders and sets up the ISR This must be called before any oth er QD functions are used Sets up the lower nibble of port F to be the QD input pins This function is intended for use with the Rabbit 3000 microprocessor PARAMETERS iplevel The interrupt priority for the ISR that handles the count overflow This should usually be 1 LIBRARY R3000 LIB qd read long qd read int channel DESCRIPTION Reads the current quadrature decoder count Since this function waits for a clear reading it can potentially block if there is enough flutter in the decoder count This function is intended to be used with the Rabbit 3000 microprocessor PARAMETERS channel The channel to read currently 1 or 2 RETURN VALUE Returns a s
204. ormat match the format fields in format e the buffer is large enough to hold the longest possible formatted string The following is a short list of valid conversion specifiers in the format string For a com plete list of conversion specifiers refer to the function description for printf d decimal integer expects type int u decimal unsigned integer expects type unsigned int x hexadecimal integer expects type signed int or unsigned int s a string not interpreted expects type char f a float expects type float For example sprintf buffer s x variable x 256 puts the string variable x 100 into buffer The macro STDIO_DISABLE FLOATS can be defined if it is not necessary to format floating point numbers If this macro is defined e f and g will not be recognized This can save thousands of bytes of code space This function can be called by processes of different priorities PARAMETERS buffer Result string of the formatted string format String to be formatted eas Format arguments RETURN VALUE Number of characters written LIBRARY STDIO LIB SEE ALSO printf Chapter 1 Function Descriptions 367 sqrt float sqrt float x DESCRIPTION Calculate the square root of x PARAMETERS x Value to compute RETURN VALUE The square root of x LIBRARY MATH LIB SEE ALSO exp pow powl0d srand void srand unsigned long seed DESCRIPTION Sets the seed value
205. ormation is passed to the error handler on the stack Stack Position Stack Contents SP 0 Return address for except ionRet SP 2 Error code SP 4 0x0000 can be used for additional information SP 6 XPC when exception was called upper byte SP 8 Address where exception was called PARAMETERS errfcn Pointer to user defined run time error handler LIBRARY SYS LIB 44 Dynamic C Function Reference Manual deg float deg float x DESCRIPTION Changes float radians x to degrees PARAMETERS x Angle in radians RETURN VALUE Angle in degrees a float LIBRARY MATH LIB SEE ALSO rad Chapter 1 Function Descriptions 45 DelayMs int DelayMs long delayms DESCRIPTION Millisecond time mechanism for the costatement wait for constructs The initial call to this function starts the timing The function returns zero and continues to return zero until the number of milliseconds specified has passed PARAMETERS delayms The number of milliseconds to wait RETURN VALUE 1 The specified number of milliseconds have elapsed 0 The specified number of milliseconds have not elapsed LIBRARY COSTATE LIB 46 Dynamic C Function Reference Manual DelaySec int DelaySec long delaysec DESCRIPTION Second time mechanism for the costatement wait for constructs The initial call to this function starts the timing The function returns zero and continues to return zero un
206. ostFront INT8U OSQPostFront OS EVENT pevent void msg DESCRIPTION Sends a message to the specified queue but unlike OSQPost the message is posted at the front instead of the end of the queue Using OSQPost Front allows priority messages to be sent PARAMETERS pevent Pointer to message queue s event control block msg Pointer to the message to send A null pointer must not be sent RETURN VALUE OS NO ERR The call was successful and the message was sent Os Q FULL The queue cannot accept any more messages because it is full OS ERR EVENT TYPE A pointer to a queue was not passed OS_ERR_PEVENT_ NULL If pevent is a null pointer OS_ERR_POST NULL PTR Attempting to post to a non mailbox LIBRARY OS OC Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQCreate OSQFlush OSQPend OSQPost OSQQuery Chapter 1 Function Descriptions 215 OSQPostOpt INT8U OSQPostOpt OS EVENT pevent void msg INT8U opt DESCRIPTION This function sends a message to a queue This call has been added to reduce code size since it can replace both OSQPost andOSQPostFront Also this function adds the capability to broadcast a message to all tasks waiting on the message queue Note Interrupts can be disabled for a long time if you do a broadcast In fact the interrupt disable time is proportional to the number of tasks waiting on the queue PARAMETERS pevent Pointer to message queue s event control block
207. ot Src to physical address flashDst on the 2nd flash de vice The source must be in root The flashDst address plus the sum of numbytes area must be within memory quadrant s already mapped to the second flash This function is not reentrant Note This function should NOT be used if you are using the second flash device for a flash file system e g if you are writing a TCP IP based application Note This function is extremely dangerous when used with large sector flash Don t do it PARAMETERS flashDst Physical address of the flash destination rootSre Pointer to the root source len Number of bytes to write RETURN VALUE 0 Success 1 Attempt to write non 2nd flash area nothing written 2 rootsrc not in root 3 Time out while writing flash 4 Attempt to write to ID block 5 Sector erase needed write aborted LIBRARY XMEM LIB 398 Dynamic C Function Reference Manual WriteFlash2Array int WriteFlash2Array unsigned long flashDst void rootSrc unsigned numbytes int numsources DESCRIPTION Write a set of scattered information to the 2nd flash in a contiguous block The sources are given in the root Src array and the corresponding number of bytes in each source is giv en inthe numbytes array All sources must be in root numsources specifies the number of entries in the root Src and numbytes arrays The flashDst address plus the sum of numbytes area must be within memory quadrant s already map
208. ot be called more than once in a program The total memory allocated is buf count buf size 2 bytes Starting with Dynamic C version 7 25 the functions pktEinitBuffers and pktFinitBuffers may be used with the Rabbit 3000 microprocessor PARAMETERS buf count The number of buffers to allocate Each buffer can store one received packet Increasing this number allows for more pending packets and a larger latency time before packets must be processed by the user s program buf size The number of bytes each buffer can accommodate This should be set to the size of the largest possible packet that can be expected RETURN VALUE 1 Success extended memory was allocated 0 Failure no memory allocated the packet channel cannot be used LIBRARY PACKET LIB Chapter 1 Function Descriptions 259 pktXopen int pktXopen long baud int mode char options int test packet DESCRIPTION Opens serial port X where X is AIBICID Starting with Dynamic C version 7 25 the functions pkt Eopen and pkt Fopen may be used with the Rabbit 3000 microprocessor The packet driver is meant to be used with a variety of transceiver hardware so some functions must be defined by the user Each of these functions listed below take no argu ments and return nothing e pktXinit Initializes the communication hardware Called inside pktXopen This function may be written in C It will only be called once each time the packet dri
209. otherwise an EBUSY error is returned The exception to this is if Po SHIFT _DOESNT_UPDATE_FPOS is defined before use fs2 lib If defined multiple file descriptors can be opened but their current position will not be updated if fshift is used In this case the applica tion should explicitly use fseek on all file descriptors open on this file including the one used to perform the shift If this is not done then their current position is ef fectively advanced by the number of characters shifted out by the fshift The purpose of this function is to make it easy to implement files which worm their way through the filesystem adding at the head and removing at the tail such that the total file size remains approximately constant Surprisingly it is possible for an out of space error to occur since the addition of the jour naling meta data entry for the shift operation may cause an error before deleted blocks if any are made available PARAMETERS f Pointer to file descriptor initialized by fopen_wr or fcreate len Length of data to remove 0 to 32767 inclusive buf Data buffer located in root data memory or stack This must be di mensioned with at least 1en bytes This parameter may also be null if the deleted data is not needed 108 Dynamic C Function Reference Manual RETURN VALUE len Success lt len Partial success returns amount successfully deleted errno gives further details probably ENOSPC
210. p to 9 digits no decimal points and a mi nus sign if is negative The function returns the exponent of 10 that should be used to compensate for the string ftoa 1 0 buf yields buf 100000000 and returns 8 PARAMETERS Float number to convert buf Converted string The string is no longer than 10 characters long RETURN VALUE The exponent of the number LIBRARY STDIO LIB SEE ALSO utoa itoa 112 Dynamic C Function Reference Manual getchar char getchar void DESCRIPTION Busy waits for a character to be typed from the stdio window in Dynamic C The user should make sure only one process calls this function at a time RETURN VALUE A character typed in the Stdio window in Dynamic C LIBRARY STDIO LIB SEE ALSO gets putchar Chapter 1 Function Descriptions 113 getcrec int getcrc char dataarray char count int accum DESCRIPTION Computes the Cyclic Redundancy Check CRC or check sum for count bytes maxi mum 255 of data in buffer Calls to get crc can be concatenated using accum to compute the CRC for a large buffer PARAMETERS dataarray Data buffer count Number of bytes Maximum is 255 accum Base CRC for the data array RETURN VALUE CRC value LIBRARY MATH LIB 114 Dynamic C Function Reference Manual getdivider19200 char getdivider19200 DESCRIPTION This function returns a value that is used in baud rate calculations The correct value is
211. passed to a mailbox e OS ERR _PEVENT NULL If pevent is a null pointer RETURN VALUE l void 0 Is a pointer to the event control clock OS_EVENT associat ed with the created mailbox void 0 If no event control blocks were available LIBRARY OS _MBOX C 194 Dynamic C Function Reference Manual OSMboxPend void OSMboxPend OS EVENT pevent INT16U timeout INT8U err DESCRIPTION Waits for a message to be sent to a mailbox PARAMETERS pevent Pointer to mailbox s event control block timeout Allows task to resume execution if a message was not received by the number of clock ticks specified Specifying 0 means the task is will ing to wait forever err Pointer to a variable for holding an error code Possible error messag es are e OS NO ERR The call was successful and the task received a message e OS TIMEOUT A message was not received within the spec ified timeout e OS ERR EVENT TYPE Invalid event type e OS ERR PEND ISR _ If this function was called from an ISR and the result would lead to a suspension e OS ERR PEVENT NULL If pevent is a null pointer RETURN VALUE l void 0 A pointer to the message received void 0 No message was received or pevent is a null pointer or the proper pointer to the event control block was not passed LIBRARY OS MBOX C Prior to DC 8 UCOS2 LIB SEE ALSO OSMboxAccept OSMboxCreate OSMboxPost OSMboxQuery Chapter 1 Function Descriptions
212. ped to the second flash This function is not reentrant It was introduced in Dynamic C version 7 30 Note This function should NOT be used if you are using the second flash device for a flash file system e g if you are writing a TCP IP based application Note This function is extremely dangerous when used with large sector flash Don t do it Note The sum of the lengths in numbytes must not exceed 65535 bytes else not all data will be written PARAMETERS flashDst Physical address of the flash destination rootSre Atray of pointers to the root sources numbytes Array of numbers of bytes to write for each source numsources Number of sources specified in rootSrc andnumbytes RETURN VALUE 0 Success 1 Attempt to write non 2nd flash area nothing written 2 rootsrc entry not in root 3 Time out while writing flash LIBRARY XMEM LIB Chapter 1 Function Descriptions 399 write rtc void write rtc unsigned long int time DESCRIPTION Writes a 32 bit seconds value to the RTC zeros other bits This function does not stop or delay periodic interrupt It does not affect the SEC_TIMER or M TIMER variables PARAMETERS time 32 bit value representing the number of seconds since January 1 1980 LIBRARY RTCLOCK C SEE ALSO read_rtc 400 Dynamic C Function Reference Manual writeUserBlock int writeUserBlock unsigned addr void source unsigned numbytes DESCRIPTION Z World
213. pend are different operations with differing performance depending on the underlying hardware Generally appending is more efficient especially with byte writable flash memory If the application allows it is preferable to use append shift rather than overwrite In order to ensure that data is ap pended use fseek f 0 SEEK END before calling fwrite The same current position pointer is used for both read and write If interspersing read and write then fseek should be used to ensure the correct position for each operation Al ternatively the same file can be opened twice with one descriptor used for read and the other for write This precludes use of shift since it does not tolerate shared files PARAMETERS f Pointer to file descriptor initialized by fopen_wr or fcreate buf Data buffer located in root data memory or stack len Length of data 0 to 32767 inclusive RETURN VALUE len Success lt len Partial success Returns amount successfully written errno gives details 0 Failure or len was zero ERRNO VALUES EBADFD File descriptor not opened or is read only EINVAL len less than zero 0 Success but len was zero EIO I O error ENOSPC extent out of space LIBRARY fs2 LIB SEE ALSO fread FS2 Chapter 1 Function Descriptions 111 ftoa int ftoa float f char buf DESCRIPTION Converts a float number to a character string The character string only displays the mantissa u
214. per form a normal null terminated search ensure that src is in the range 0 27 If the MSB of src is not zero i e bits 24 31 then that character will be used to terminate the search rather than the standard null terminator E g to determine the length of a string terminated by 1 1 S xstrlen paddr my_str long lt lt 24 RETURN VALUE Length of string not counting the terminator LIBRARY XMEM LIB 422 Dynamic C Function Reference Manual Dynamic C Function Reference Manual Part Number 019 0113 F e Printed in U S A 2004 Z World Inc es All rights reserved Z World reserves the right to make changes and improvements to its products without providing notice Notice to Users Z WORLD PRODUCTS ARE NOT AUTHORIZED FOR USE AS CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR SYS TEMS UNLESS A SPECIFIC WRITTEN AGREEMENT REGARD ING SUCH INTENDED USE IS ENTERED INTO BETWEEN THE CUSTOMER AND Z WORLD PRIOR TO USE Life support devices or systems are devices or systems intended for surgical implantation into the body or to sustain life and whose failure to perform when properly used in accordance with instructions for use provided in the labeling and user s manual can be reasonably expected to result in significant injury No complex software or hardware system is perfect Bugs are always present in a system of any size In order to prevent danger to life or prop erty it is the responsibility of the system desi
215. post from an ISR invalid for mutexes OS_ERR_NOT MUTEX OWNER The task that did the post is NOT the owner of the MU TEX LIBRARY OS _MUTEX C Chapter 1 Function Descriptions 207 OSMutexQuery INT8U OSMutexQuery OS EVENT pevent OS MUTEX DATA pdata DESCRIPTION This function obtains information about a mutex PARAMETERS pevent Pointer to the event control block associated with the desired mutex pdata Pointer to a structure that will contain information about the mutex RETURN VALUE OS NO ERR The call was successful and the message was sent OS ERR QUERY ISR Function was called from an ISR OS ERR PEVENT NULL pevent is a null pointer OS_ERR_EVENT TYPE Attempting to obtain data from a non mutex LIBRARY OS _MUTEX C 208 Dynamic C Function Reference Manual OSQAccept void OSQAccept OS EVENT pevent DESCRIPTION Checks the queue to see if a message is available Unlike OSQPend with OSQAccept the calling task is not suspended if a message is unavailable PARAMETERS pevent Pointer to the message queue s event control block RETURN VALUE Pointer to message in the queue if one is available null pointer otherwise LIBRARY OS_Q C Prior to DC 8 UCOS2 LIB SEE ALSO OSQCreate OSQFlush OSQPend OSQPost OSQPostFront OSQQuery Chapter 1 Function Descriptions 209 OSQCreate OS EVENT OSQCreate void start INT16U qsize DESCRIPTION Creates a message queue if event
216. pute the MDS hash of its contents combined with all previous data passed to it This function can be called several times to generate the hash of a large amount of data PARAMETERS md5 append Pointer to the md5_state_t structure that was initialized by md5_ init data Pointer to the data to be hashed nbytes Length of the data to be hashed LIBRARY MD5 LIB md5 init void md5 nitt md5 state t pms DESCRIPTION Initialize the MDS hash process Initial values are generated for the structure and this struc ture will identify a particular transaction in all subsequent calls to the md5 library PARAMETER pms Pointer to the md5_state_t structure LIBRARY MD5 LIB Chapter 1 Function Descriptions 163 md5 finish void md5 finish md5 state t pms char digest 16 DESCRIPTION Completes the hash of all the received data and generates the final hash value PARAMETERS pms Pointer to the md5_ state_t structure that was initialized by md5_ init digest The 16 byte array that the hash value will be written into LIBRARY MD5 LIB memchr void memchr void src int ch unsigned int n DESCRIPTION Searches up to n characters at memory pointed to by src for character ch PARAMETERS sre Pointer to memory source ch Character to search for n Number of bytes to search RETURN VALUE Pointer to first occurrence of ch if found within n characters Otherwise returns null LIBRARY STRING LIB SEE ALSO strrch
217. r e OSC32DIV_8 divide 32kHz oscillator by eight e OSC32DIV_16 divide 32kHz oscillator by sixteen LIBRARY SYS LIB SEE ALSO useClockDivider useClockDivider3000 useMainOsc use32kHzOsc 342 Dynamic C Function Reference Manual setClockModulation void setClockModulation int setting DESCRIPTION Changes the setting of the Rabbit 3000 CPU clock modulation Calling this function will force a 500 clock delay before the setting is changed to ensure that the previous modula tion setting has cleared before the next one is set See the Rabbit 3000 Microprocessor Us er s Manual for more details about clock modulation for EMI reduction PARAMETER setting Clock modulation setting Allowed values are e 0 no modulation e 1 weak modulation e 2 strong modulation LIBRARY SYS LIB Chapter 1 Function Descriptions 343 set jmp int setjmp jmp buf env DESCRIPTION Store the PC program counter SP stack pointer and other information about the current state into env The saved information can be restored by executing longjmp Typical usage switch setjmp e case 0 first time try to execute TO may call longjmpQ break if we get here f was successful case 1 to get here TO called longjmpQ do exception handling break case 2 like above but different exception code fO g gt 4 longjmp e 2 exception code 2 jump to setjmp statement setjmpQ returns 2
218. r strstr 164 Dynamic C Function Reference Manual memcmp int memcmp void rel void s2 size tn DESCRIPTION Performs unsigned character by character comparison of two memory blocks of length n PARAMETERS s1 Pointer to block 1 s2 Pointer to block 2 n Maximum number of bytes to compare RETURN VALUE lt 0 A character in str1 is less than the corresponding character in str2 0 str1 is identical to str2 gt 0 A character in str1 is greater than the corresponding character in st r2 LIBRARY STRING LIB SEE ALSO strncmp Chapter 1 Function Descriptions 165 memcpy void memcpy void dst void src unsigned int n DESCRIPTION Copies a block of bytes from one destination to another Overlap is handled correctly PARAMETERS dst Pointer to memory destination src Pointer to memory source n Number of characters to copy RETURN VALUE Pointer to destination LIBRARY STRING LIB SEE ALSO memmove memset 166 Dynamic C Function Reference Manual memmove void memmove void dst void src unsigned int n DESCRIPTION Copies a block of bytes from one destination to another Overlap is handled correctly PARAMETERS dst Pointer to memory destination src Pointer to memory source n Number of characters to copy RETURN VALUE Pointer to destination LIBRARY STRING LIB SEE ALSO memcpy memset memset void memset void dst int chr unsigned int n DESCRIPTION
219. r a sample program and a detailed explanation of the encryption decryption process PARAMETERS state An AESstreamState structure to be initialized This memory must be allocated in the program code before calling AESinitStream key The 16 byte cipher key using a null pointer will prevent an existing key from being recalculated init vector A 16 byte array representing the initial state of the feedback regis ters Both ends of the stream must begin with the same initialization vector RETURN VALUE None LIBRARY AES CRYPT LIB 10 Dynamic C Function Reference Manual asec float asec float x DESCRIPTION Computes the arcsecant of real float value x Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Assumed to be between INF and INF RETURN VALUE The arcsecant of the argument in radians LIBRARY MATH LIB SEE ALSO cos acos Chapter 1 Function Descriptions 11 asin float asin float x DESCRIPTION Computes the arcsine of real float value x Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Assumed to be between 1 and 1 RETURN VALUE The arcsine of the argument in radians LIBRARY MATH LIB SEE ALSO sin acsc 12 Dynamic C Function Reference Manual atan float atan float x DESCRIPTION Computes the arctangent of real float value x Note The Dynamic C functions de
220. radix of conversion Chapter 1 Function Descriptions 383 _sysIsSoftReset void sysIsSoftReset DESCRIPTION This function should be called at the start of a program if you are using protected vari ables It determines whether this restart of the board is due to a software reset from Dy namic C or a call to forceSoftReset Ifit was a soft reset this function then does the following e Calls prot init to initialize the protected variable mechanisms It is up to the user to initialize protected variables e Calls sysReset Chain The user my attach functions to this chain to perform additional startup actions for example initializing protected variables If a soft reset did not take place this function calls prot recover to recover any protected variables LIBRARY SYS LIB SEE ALSO chkHardReset chkSoftReset chkWDTO sysResetChain void sysResetChain void DESCRIPTION This is a function chain that should be used to initialize protected variables By default it s empty LIBRARY SYS LIB 384 Dynamic C Function Reference Manual tan float tan float x DESCRIPTION Compute the tangent of the argument Note The Dynamic C functions deg and rad convert radians and degrees PARAMETERS x Angle in radians RETURN VALUE Returns the tangent of x where 8 x PI lt x lt 8 x PI If x is out of bounds the function returns 0 and signals a domain error If the value of x
221. re for holding information about the partition RETURN VALUE OS NO ERR This function always returns no error LIBRARY UCOS2 LIB SEE ALSO OSMemCreate OSMemGet OSMemPut 202 Dynamic C Function Reference Manual OSMutexAccept INT8U OSMutexAccept OS EVENT pevent INT8U err DESCRIPTION This function checks the mutual exclusion semaphore to see if a resource is available Un like OSMutexPend OSMutexAccept does not suspend the calling task if the resource is not available or the event did not occur This function cannot be called from an ISR because mutual exclusion semaphores are intended to be used by tasks only PARAMETERS pevent Pointer to the event control block err Pointer to an error code that will be returned to your application e OS NO ERR if the call was successful e OS ERR EVENT TYPE if pevent is nota pointer toa mutex e OS ERR _PEVENT NULL pevent is a null pointer e OS ERR PEND _ISR if you called this function from an ISR RETURN VALUE 1 Success the resource is available and the mutual exclusion semaphore is acquired 0 Error either the resource is not available or you didn t pass a pointer to a mutual ex clusion semaphore or you called this function from an ISR LIBRARY OS _MUTEX C Chapter 1 Function Descriptions 203 OSMutexCreate OS EVENT OSMutexCreate INT8U prio INT8U err DESCRIPTION This function creates a mutual exclusion semaphore Note that e The LEAST
222. re good no correction is necessary 1 Data is corrected and ECC is good 2 Data is good and ECC is corrected 3 Data and or ECC are bad and uncorrectable LIBRARY ECC LIB This function was introduced in Dynamic C 9 01 412 Dynamic C Function Reference Manual xgetfloat float xgetfloat long src DESCRIPTION Returns the f loat pointed to by src This is the most efficient function for obtaining 4 bytes from xmem PARAMETERS src xmem linear address of the float value to retrieve RETURN VALUE float value 4 bytes at src LIBRARY XMEM LIB xgetint int xgetint long src DESCRIPTION Returns the integer pointed to by src This is the most efficient function for obtaining 2 bytes from xmem PARAMETERS src mem linear address of the integer value to retrieve RETURN VALUE Integer value 2 bytes at src LIBRARY XMEM LIB Chapter 1 Function Descriptions 413 xgetlong long xgetlong long src DESCRIPTION Return the long word pointed to by src This is the most efficient function for obtaining 4 bytes from xmem PARAMETERS src xmem linear address of the long value to retrieve RETURN VALUE Long integer value 4 bytes at src LIBRARY XMEM LIB 414 Dynamic C Function Reference Manual xmem2root int xmem2root void dest unsigned long int src unsigned int len DESCRIPTION Stores len characters from physical address src to logical address dest PARA
223. reamState state char data int count DESCRIPTION Encrypts an array of bytes using the Rabbit implementation of cipher feedback mode See Samples Crypt AES STREAMTEST C fora sample program and a detailed expla nation of the encryption decryption process PARAMETERS state The AESstreamState structure This memory must be allocated in the program code before calling AESencrptyStream static AESstreamState encrypt state data An array of bytes that will be encrypted in place count Size of data array LIBRARY AES CRYPT LIB 8 Dynamic C Function Reference Manual AESexpandKey void AESexpandKey char expanded char key int nb int nk int rounds DESCRIPTION Prepares a key for use by expanding it into a set of round keys A key is a password to decipher encoded data PARAMETERS expanded A buffer for storing the expanded key The size of the expanded key is4 nb rounds 1 key The cipher key the size should be 4 nk nb The block size will be 4 nb bytes long nk The key size will be 4 nk bytes long rounds The number of cipher rounds to use RETURN VALUE None LIBRARY AES CRYPT LIB Chapter 1 Function Descriptions 9 AESinitStream void AESinitStream AESstreamState state char key char init vector DESCRIPTION Sets up AESstreamState to begin encrypting or decrypting a stream Each AESstreamState structure can only be used for one direction See Samples Crypt AES STREAMTEST C fo
224. reta ONENE 381 Sirok enna Ral n 382 C0 EEEE E E AN 383 sysResetChain ccccceeeeee 384 T EE 385 DR ee dee ed 386 En o EPE EEE 387 N WE eeneg ig a 388 tOlOWED dairse esiaren aeae 389 DENG 389 U updateTimers ccceeee eee eee 390 use32kKHZOSC cceceeeeeeeeeees 391 useClockDivider 392 useClockDivider3000 393 USCMAINOSC eeeeceeeeeeeeee 394 UOA aer S aC 394 V VdGetFreeWd ce ceeeeeeeeee 395 K EE 396 VdReleaseWd cccecccceeeeeeees 397 WwW WHITE TLC eects Eed sence 400 WriteFlash2 ceceeeeeeee 398 WriteFlash2Array 4 399 writeUserBlock 00005 401 writeUserBlockArray 403 Wrbortb e NENNEN ce ceaeceved 404 WT dices ecvacississcensdiestiae 405 X E EE 406 XAllOC_StatS priizen 408 NEE 409 xCalculateECC256 411 xChkCorrectECC256 412 xgetfloat iesse 413 RSC en Ee eau 413 xgetlong ecccccessessececececeees 414 XMEM2IOOL eceeeececeeeeeeeeee 415 XMEM2XMEM ececeeeeeeeeee 416 XMEMCHL o eeeceseeececeseeeseeeees 417 XMEMCMP ccsceesessesececeeeees 418 release eu 419 Dynamic C Function Reference Manual xi Dynamic C Function Reference Manual Dynamic C Function Reference Manual xii Group Listing of Dynamic C Functions A AESencryptStream 0 issghe sassscerscesgoess 8 ABS expand 65 sides scidicd seco enact 9 SEHR AESinitStream ssssss
225. ront OSQQuery 212 Dynamic C Function Reference Manual OSQPend void OSQPend OS EVENT pevent INT16U timeout INT8U err DESCRIPTION Waits for a message to be sent to a queue PARAMETERS pevent Pointer to message queue s event control block timeout Allow task to resume execution if a message was not received by the number of clock ticks specified Specifying 0 means the task is will ing to wait forever err Pointer to a variable for holding an error code RETURN VALUE Pointer to a message or if a timeout occurs a null pointer LIBRARY OS OC Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQCreate OSQFlush OSQPost OSQPostFront OSQQuery Chapter 1 Function Descriptions 213 OSQPost INT8U OSQPost OS EVENT pevent void msg DESCRIPTION Sends a message to the specified queue PARAMETERS pevent Pointer to message queue s event control block msg Pointer to the message to send A null pointer must not be sent RETURN VALUE OS NO ERR The call was successful and the message was sent OS Q FULL The queue cannot accept any more messages because it is full OS ERR EVENT TYPE Ifa pointer to a queue not passed OS ERR PEVENT NULL If pevent is a null pointer OS ERR POST NULL PTR If attempting to post to a null pointer LIBRARY OS OC Prior to DC 8 UCOS2 LIB SEE ALSO OSQAccept OSQCreate OSQFlush OSQPend OSQPostFront OSQQuery 214 Dynamic C Function Reference Manual OSQP
226. rors 2 0 eee 258 pktXinitBuffers AN 259 DEEN OPS ti deeg 260 PKtXreceive oe ewes 262 pktXsend issii eee ewes 263 pktXsending 0 eee eee 264 pktXsetParity ee 264 plast deseni i eg 265 plast_fast eeeseseeeseesessessesees 266 pmovebetween sssseseeesees 267 pmovebetween_fast 269 PME ege etic asinis 270 PMEX eebe ed sees heeds se 271 PREKE ae tentiueiehigee 272 POLY akani gege 273 pool_append essceeceeeees 274 pool mit 275 poollink ssssesssessesssssseseseeee 276 pool_xappend c scccceeeees 277 pool_xinit oo eee eeeeeeteeeeeeeees 278 POWs tee 279 POWO EE 279 powerspectrum eeeeeeeeeeees 280 BEEN Ziler ee 281 pprev_fast ee 282 Dremain 2 eee ec ee ce ee eee 283 preorder eigene 284 PUB Mate 286 patchar ee eooe us 292 DUS Sav teh ira at 293 Dom 101 293 DEE telen 294 paG Bosley oleate eae 295 pxalloc_fast c cece ewes 296 PRCA GC Gegend 297 PRISE rn i 298 Pxfirst_fast sison cece wees 299 pxfree ee 300 pxfree_fast nasrais 301 Ee 302 Pxlast_fast iseci snis 303 E EE 204 PXNeXt_fast oo cceeeeeeeew ees 305 PRION tral ada aiii 306 pxprev_fast eeseceesseeeceeeees 307 Q GO SEO eege 308 GO AME eet Geier 309 Ga read saunen 309 gd FETC ee Ee 310 e EN 311 R CT DE 312 Ee 313 Eet 313 TANCE Eed 314 Ebert Ae a 314 Le EE 315 fead rte ses hina ee eee 317 read_rtc_32kHZ cccccceeeees 317 ReadCompressedFile 316 Dynamic C Function
227. rwise the result is undefined PARAMETERS P Pool handle structure as previously passed to pool_init RETURN VALUE Null There are no allocated elements Otherwise pointer to first De oldest allocated element LIBRARY POOL LIB SEE ALSO pool init pool link palloc pfree plast pnext pprev Chapter 1 Function Descriptions 253 pfirst fast xmem void pfirst fast Pool t p DESCRIPTION Get the first allocated element in a root pool The pool MUST be set to being a linked pool by using pool link p lt non zero gt Otherwise the results are undefined This is an assembler only version of pfirst Do not call this function from C REGISTERS Parameter in IX Trashes F DE Return value in HL carry flag EXAMPLE ld ix my_ pool lcall pfirst fast jr c no_elems HL points to first element PARAMETERS Pp Pool handle structure as previously passed to pool init Pass this in the IX register RETURN VALUE C flag set HL 0 There are no allocated elements C flag clear NC HL points to first element LIBRARY POOL LIB SEE ALSO pool init pool link pfirst pnext_fast 254 Dynamic C Function Reference Manual pfree void pfree Pool t p void e DESCRIPTION Free an element that was obtained via palloc Note if you free an element that was not allocated from this pool or was already free or was outside the pool then your appli cation will crash You c
228. se alphabetic character LIBRARY STRING LIB SEE ALSO toupper isupper islower toupper int toupper int c DESCRIPTION Convert alphabetic character to uppercase PARAMETERS c Character to convert RETURN VALUE Upper case alphabetic character LIBRARY STRING LIB SEE ALSO tolower isupper islower Chapter 1 Function Descriptions 389 updateTimers void updateTimers DESCRIPTION Updates the values of TICK_TIMER MS TIMER and SEC_TIMER while running off the 32 kHz oscillator Since the periodic interrupt is disabled when running at 32 kHz these values will not updated unless this function is called LIBRARY SYS LIB SEE ALSO useMainOsc use32kHzOsc 390 Dynamic C Function Reference Manual use32kHzOsc void use32kHzOsc DESCRIPTION Sets the Rabbit processor to use the 32kHz real time clock oscillator for both the CPU and peripheral clock and shuts off the main oscillator If this is already set there is no effect This mode should provide greatly reduced power consumption Serial communications will be lost since typical baud rates cannot be made from a 32kHz clock Also note that this function disables the periodic interrupt so wait for and related statements will not work properly although costatements in general will still work In addition the values in TICK_TIMER MS TIMER and SEC_TIMER will not be updated unless you call the function updateTimers frequently in yo
229. se the function useClockDivider to divide the main processor clock by 8 To divide the main processor clock by any of the other allowable values 2 4 or 6 means using useClockDivider3000 and thus dividing the peripheral clock as well This function is not task reentrant PARAMETER setting Divider setting The following are valid e CLKDIV_2 divide main processor clock by two e CLKDIV_4 divide main processor clock by four e CLKDIV_6 divide main processor clock by six e CLKDIV_8 divide main processor clock by eight RETURN VALUE None LIBRARY SYS LIB SEE ALSO useClockDivider useMainOsc use32kHzOsc set32kHzDivider Chapter 1 Function Descriptions 393 useMainOsc void useMainOsc DESCRIPTION Sets the Rabbit processor to use the main oscillator for both the CPU and peripheral clock If this is already set there is no effect This function also enables the periodic interrupt in case it was disabled by a call to use32kHzOsc and updates the TICK_ TIMER MG TIMER and SEC_TIMER variables from the real time clock This function is not task reentrant LIBRARY SYS LIB SEE ALSO use32kHzOsc useClockDivider utoa char utoa unsigned value char buf DESCRIPTION Places up to 5 digit character string at buf representing value of unsigned number Sup presses leading zeros but leaves one zero digit for value 0 Max 65535 73 program bytes PARAMETERS value 16 bit number to convert buf
230. shDescriptor fd DESCRIPTION Returns the 16 bit flash memory type of the flash memory Note fd must have already been initialized with flash_init before calling this function See lash_init description for further restrictions PARAMETERS fd The FlashDescriptor of the memory to query RETURN VALUE The integer representing the type of the flash memory LIBRARY FLASH LIB SEE ALSO flash_erasechip flash _erasesector flash_init flash_read flash_readsector flash_sector2xwindow flash _writesector Chapter 1 Function Descriptions 73 flash init int flash _init FlashDescriptor fd int mb3cr DESCRIPTION Initializes an internal data structure of type FlashDescriptor with information about the flash memory chip The Memory Interface Unit bank register MB3CR will be as signed the value of mb3 cr whenever a function accesses the flash memory referenced by fd See the Rabbit 2000 Users Manual for the correct chip select and wait state settings Note Improper use of this function can cause your program to be overwritten or operate incorrectly This and the other flash memory access functions should not be used on the same flash memory that your program resides on nor should they be used on the same region of a second flash memory where a file system resides Use WriteFlash to write to the primary flash memory PARAMETERS fd This is a pointer to an internal data structure that holds information a
231. sion result is 2 Then the remainder is 22 7 2 x 10 3 2 1 LIBRARY MATH LIB SEE ALSO ceil floor 80 Dynamic C Function Reference Manual fopen rd FS1 int fopen rd File f FileNumber fnum DESCRIPTION Opens a file for reading PARAMETERS f A pointer to the file to read fnum A number in the range 1 to 127 inclusive that identifies the file in the flash file system RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 81 fopen rd FS2 int fopen rd File f FileNumber name DESCRIPTION Open file for reading only See fopen_wr for a more detailed description PARAMETERS E Pointer to file descriptor uninitialized name File number 1 to 255 inclusive RETURN VALUE 0 Success 0 Failure ERRNO VALUES ENOENT File does not exist or metadata extent number does not match an existing file LIBRARY fs2 lib SEE ALSO fclose fopen_wr FS2 82 Dynamic C Function Reference Manual fopen wr FS1 int fopen wr File f FileNumber fnum DESCRIPTION Opens a file for writing PARAMETERS f A pointer to the file to write fnum A number in the range 1 to 127 inclusive that identifies the file in the flash file system RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 83 fopen wr FS2 int fopen wr File f FileNumber name DESCRIPTION Open file
232. size a pool since it may be difficult to determine the op timum number of elements without running a trial program PARAMETERS p Pool handle structure as previously passed to pool_init or pool xinit RETURN VALUE Maximum number of elements ever allocated LIBRARY POOL LIB SEE ALSO pool init pool xinit pavail Chapter 1 Function Descriptions 257 pktxXclose void pktXclose void DESCRIPTION Disables serial port X where X is AIBICID Starting with Dynamic C version 7 25 the functions pktEclose and pktFclose may be used with the Rabbit 3000 microprocessor LIBRARY PACKET LIB pktXgetErrors char pktXgetErrors void DESCRIPTION Gets a bit field with flags set for any errors that occurred on port X where X is AIBICID These flags are then cleared so that a particular error will only cause the flag to be set once Starting with Dynamic C version 7 25 the functions pktEgetErrors and pktFgetErrors may be used with the Rabbit 3000 microprocessor RETURN VALUE A bit field with flags for various errors The errors along with their bit masks are as fol lows PKT BUFFEROVERFLOW 0x01 DEI RXOVERRUN 0x02 PKT_PARITYERROR 0x04 PKT_NOBUFFER 0x08 LIBRARY PACKET LIB 258 Dynamic C Function Reference Manual pktXinitBuffers int pktXinitBuffers int buf count int buf size X A B c D DESCRIPTION Allocates extended memory for channel X receive buffers This function should n
233. software was able to calculate a valid divisor for the requested baud rate within 5 0 The baud rate achieved on the Rabbit does not match the input baud rate LIBRARY RS232 LIB SEE ALSO serxXgetc serXpeek serXputs serXwrite cof serxXgetc cof serXgets cof _serXread cof _serXputc cof _serXputs cof _serXwrite serXclose 330 Dynamic C Function Reference Manual serXparity void serXparity int parity mode where X A B C D E F DESCRIPTION Sets parity mode for channel X A call to serXopen must be made before calling this function Parity generation for 8 bit data can be unusually slow due to the current method for gen erating high 9th bits Whenever a 9th high bit is needed the UART is disabled for approx imately 10 baud times to create a long stop bit that should be recognized by the receiver as a high 9th bit The long delay is imposed because we are using the serial port itself to handle timing for the delay Creating a shorter delay would the require use of some other timer resource This function is non reentrant Starting with Dynamic C version 7 25 the functions serEparity and serFparity may be used with the Rabbit 3000 microprocessor PARAMETERS parity mode An integer indicating what parity mode to use It is best to use one of the macros provided e PARAM NOPARITY Disables parity handling default e PARAM OPARITY Configures serial port to check generate for odd parity
234. software reset by jumping to the start of the BIOS LIBRARY SYS LIB Chapter 1 Function Descriptions 85 fread FS1 int fread File f char buf int Leni DESCRIPTION Reads len bytes from a file pointed to by f starting at the current offset into the file into buffer Data is read into buffer pointed to by buf PARAMETERS f A pointer to the file to read from buf A pointer to the destination buffer len Number of bytes to copy RETURN VALUE Number of bytes read LIBRARY FILESYSTEM LIB 86 Dynamic C Function Reference Manual fread FS2 int fread File f void buf int Leni DESCRIPTION Read data from the current position of the given file When the file is opened the cur rent position is 0 meaning the start of the file Subsequent reads or writes advance the po sition by the number of bytes read or written fseek can also be used to position the read point If the application permits it is much more efficient to read multiple data bytes rather than reading one by one PARAMETERS f Pointer to file descriptor initialized by fopen_rd fopen_wr or fcreate buf Data buffer located in root data memory or stack This must be di mensioned with at least len bytes len Length of data to read 0 to 32767 inclusive RETURN VALUE len Success lt len Partial success Returns amount successfully read errno gives further details probably 0 meaning that end of file was encounter
235. ssssssssssssssssssssee 10 ADS eoii instar aane a sh tatet 1 EE 114 Dynamic Memory Allocation Jegen aetna 154 TE E 248 p lloc E 249 S E 250 Bit Manipulation Pav all fast EE 251 EE 19 PCALLOC nen 252 feet 18 Drei En 253 RES EE 321 PAITSt_fASt oss eesseesseesstesseeeeeeseeesnee 254 EEE ENTEN E 320 P TE nssssssssssrsssrenrsenrerenssnnnrnnrrnnrent 255 S A EN AET 341 pfree_fast En 256 EE 340 Drum En 257 PIASE saccussaseseisacsadeaseoraceesncseventeoradees 265 c EES ienen aene 266 Character pmovebetween teg eeg deed Eeer 267 TE EE 135 EE Se EE 136 piel EE 270 E EE 136 ee SC TS eae 138 PRCA Mahe e ee TSQT E 139 Ge at le 139 E 2 BER ee 140 EE e TS PUNCD Ee E 141 EE been a Sa AE nieee ai 140 EE ee E TEE 142 EE SE ee 142 Ee SE pieordet igted eggdeeeEeNINEEeeEONEgeiEE 284 D EN Aere 295 Data Encryption e EE 296 PRealOe cpn pis 297 a areioarira tetris GE eee eet 298 EEN pxfirst_fast cause acute neni 299 EE i reel 200 Dynamic C Function Reference Manual xiii Plastep aia ed eer 302 eebe ee 303 PRNOR iia EE 304 prnext fast Ce ates e 305 P DEV eege 306 E EE 307 E ECC CalculateECC256 E 24 Chk Corecth C256 EE 25 XCalculateECC256 oo eeeeeeeeeeeeeee 411 MCHKC Orrecl E 412 Error Handling errlogFormatEntry eseeeeeeeees 51 errlogFormatRegDump sssssssssssesse 52 errlogFormatStackDump 0006 53 errlogGetHeaderInfo ceeeceeeeeeee 49 errlogGetMessage cccsecceeeseees 54 errlogGetNthEntr
236. stency checks and if necessary fixups for each LX It may take up to several seconds to run It should only be called once at application initialization time Note When using uC OS II fa init must be called before OSInit PARAMETERS reserveblocks Must be zero Retained for backward compatibility num blocks Ignored backward compatibility RETURN VALUE 0 Success 0 Failure ERRNO VALUES EINVAL the reserveblocks parameter was non zero EIO I O error This indicates a hardware problem ENOMEM Insufficient memory for required buffers ENOSPC No valid extents obtained e g there is no recognized flash or RAM memory device available LIBRARY fs2 lib SEE ALSO Ze setup FS2 fs _get_flash_1x FS2 92 Dynamic C Function Reference Manual fs reserve blocks FS1 int fs reserve blocks int blocks DESCRIPTION Sets up a number of blocks that are guaranteed to be available for privileged files A priv ileged file has an identifying number in the range 128 through 143 This function is not needed in most cases If it is used it should be called immediately after Ca init or fs format PARAMETERS blocks Number of blocks to reserve RETURN VALUE 0 Success 1 Failure LIBRARY FILESYSTEM LIB Chapter 1 Function Descriptions 93 fsck FS1 int fsck int flash DESCRIPTION Check the filesystem for errors PARAMETERS flash A bitmask indicating which checks to NOT perform
237. stored in natural order The zeroth element of the sequence is stored in x 0 the first element in x 1 and the kth element in x k N must be a power of 2 and lie between 4 and 1024 An invalid N causes a RANGE ex ception PARAMETERS x Pointer to 2N point sequence of real fractions N Number of complex elements in output spectrum blockexp Pointer to integer block exponent LIBRARY FFT LIB SEE ALSO fftcplx fftcplxinv fftrealinv hanncplx hannreal powerspectrum Chapter 1 Function Descriptions 69 fftrealinv void fftrealinv int x int N int blockexp DESCRIPTION Computes the 2N point real sequence corresponding to the N point positive frequency complex spectrum in array x The N point positive frequency spectrum contained in array x is replaced with its corresponding 2N point real sequence The value of blockexp is increased by 1 each time array x has to be scaled to avoid arithmetic overflow The value of blockexp is also decreased by log N to include the 1 N factor in the definition of the inverse DFT The function expects to find the real part of the fmax term in the imaginary part of the zero frequency X 0 term stored x 1 The 2N point real sequence is stored in natural order The zeroth element of the sequence is stored in x 0 the first element in x 1 and the kth element in x k N must be a power of 2 and between 4 and 1024 An invalid N causes a RANGE excep tion PARAMETERS
238. t Starting with Dynamic C version 7 25 the functions serErdUsed and serFrdUsed may be used with the Rabbit 3000 microprocessor RETURN VALUE The number of characters currently in serial port X receive buffer LIBRARY RS232 LIB 336 Dynamic C Function Reference Manual serXread int serXread void data int length unsigned long tmout where X A B C D E F DESCRIPTION Reads length bytes from serial port X or until tmout milliseconds transpires between bytes The countdown of tmout does not begin until a byte has been received A timeout occurs immediately if there are no characters to read This function is non reentrant Starting with Dynamic C version 7 25 the functions serEread and serFread may be used with the Rabbit 3000 microprocessor PARAMETERS data Data structure to read from serial port X length Number of bytes to read tmout Maximum wait in milliseconds for any byte from previous one RETURN VALUE The number of bytes read from serial port X LIBRARY RS232 LIB EXAMPLE echoes a blocks of characters main iMate 917 char s 16 serAopen 19200 while 1 ae a gerieedl e 15 20 A serAwrite s n serAclose Chapter 1 Function Descriptions 337 serXwrFlush void serXwrFlush where X A B C D E F DESCRIPTION Flushes serial port X transmit buffer meaning that the buffer contents will not be sent This function is non reentrant
239. t 0 is least significant bit If opt see below is OS FLAG CLR each bit that is set in flags will CLEAR the corresponding bit in the event flag group E g to clear bits 0 4 and 5 you would specify flags as 0x31 note bit 0 is least significant bit opt Indicates whether the flags will be set OS FLAG SET or cleared OS FLAG CLR err Pointer to an error code Valid values are e OS _NO_ERR The call was successful e OS FLAG INVALID PGRP null pointer passed e OS ERR EVENT TYPE Not pointing to an event flag group e OS FLAG INVALID OPT Invalid option specified RETURN VALUE The new value of the event flags bits that are still set LIBRARY OS FLAG C Prior to DC 8 UCOS2 LIB 190 Dynamic C Function Reference Manual OSFlagQuery OS FLAGS OSFlagQuery OS FLAG GRP pgrp INT8U err DESCRIPTION This function is used to check the value of the event flag group PARAMETERS pgrp Pointer to the desired event flag group err Pointer to an error code returned to the called e OS NO ERR The call was successful e OS FLAG INVALID PGRP null pointer passed e OS ERR EVENT TYPE Not pointing to an event flag group RETURN VALUE The current value of the event flag group LIBRARY OS _FLAG C Prior to DC 8 UCOS2 LIB Chapter 1 Function Descriptions 191 OSInit void OSInit void DESCRIPTION Initializes uC OS II data must be called before any other uC OS II functions are called LIBRARY UCOS2 L
240. t pnext p pprev p ell e RETURN VALUE null There are no more elements lnull Pointer to next allocated element LIBRARY POOL LIB SEE ALSO pool init pool link palloc pfree pfirst pprev Chapter 1 Function Descriptions 271 pnext fast xmem void pnext fast Pool t p void e DESCRIPTION Get the next allocated element in a root pool The pool MUST be set to being a linked pool using pool _link p lt non zero gt otherwise the results are undefined This is an assembler only version of pnext Do not call this function from C REGISTERS Parameters in IX DE respectively Trashes F DE Return value in HL carry flag EXAMPLE ld ix my_ pool ld de current element lcall pnext fast jr c no_ more elems HL points to the next allocated element PARAMETERS P Pool handle structure as previously passed to pool_init Pass this in IX register e Current element address in DE register See pnext fora full de scription RETURN VALUE C flag set HL 0 There are no more elements C flag clear NC HL points to next element LIBRARY POOL LIB SEE ALSO pool _ init pool link palloc pfree pfirst pprev 272 Dynamic C Function Reference Manual poly float poly float x int n float c DESCRIPTION Computes polynomial value by Horner s method For example for the fourth order poly nomial 10x 3x 4x 6 n would be 4 and the coefficients would be cl 1
241. ted as if by a call to _xalloc align Alignment of returned block as per_xalloc type Type of memory as per _xalloc RETURN VALUE The size of the largest free block available If this is zero then addr_ptr will not be changed LIBRARY XMEM LIB SEE ALSO xalloc _xalloc xavail xrelease xalloc_stats 410 Dynamic C Function Reference Manual xCalculateECC256 long xCalculateECC256 unsigned long data DESCRIPTION Calculates a 3 byte Error Correcting Checksum ECC 1 bit correction and 2 bit detection capability value for a 256 byte 2048 bit data buffer located in extended memory PARAMETERS data Physical address of the 256 byte data buffer RETURN VALUE The calculated ECC in the 3 LSBs of the long i e BCDE result Note that the MSB c e B of the long result is always zero LIBRARY ECC LIB This function was introduced in Dynamic C 9 01 Chapter 1 Function Descriptions 411 xChkCorrectECC256 int xChkCorrectECC256 unsigned long data void Sold ecc void new ecc DESCRIPTION Checks the old versus new ECC values for a 256 byte 2048 bit data buffer and if neces sary and possible 1 bit correction 2 bit detection corrects the data in the specified ex tended memory buffer PARAMETERS data Physical address of the 256 byte data buffer old ecc Pointer to the old original 3 byte ECC s buffer new ecc Pointer to the new current 3 byte ECC s buffer RETURN VALUE 0 Data and ECC a
242. ted to value will be updated with the actual number of bytes al located This may be larger than requested if an odd number of bytes was requested or if some space was wasted at the end because of alignment restrictions align Storage alignment as the log base 2 of the desired returned memory starting address For example if this parameter is 8 then the re turned address will align on a 256 byte boundary Values between 0 and 16 inclusive are allowed Any other value is treated as zero i e no required alignment type One of the following values e XALLOC_ ANY 0 any type of RAM storage allowed e XALLOC_BB 1 must be battery backed RAM This is cur rently supported only on RCM3200 and derivations e XALLOC_NOTBB 2 return non BB RAM only e XALLOC_ MAYBBB 3 return non BB RAM in preference to BB Any other value has undefined results RETURN VALUE The 20 bit physical address of the allocated data on success On error a run time error oc curs Note This return value cannot be used with pointer arithmetic LIBRARY STACK LIB EXCEPTIONS ERR_BADXALLOC if could not allocate requested storage or negative size passed Chapter 1 Function Descriptions 407 xalloc stats void xalloc stats word parm DESCRIPTION Prints a table of available xalloc regions to the Stdio window This function was introduced in Dynamic C version 8 It is for debugging and educational purposes It should
243. that is its s_ part pointer must be null The new partition values should be placed in the appropriate partition structure within the drive structure For example drive drive drive drive drive drive drive drive part partnum part partnum part partnum part partnum part partnum part partnum part partnum part partnum bootflag 0 Starthead Oxfe startseccyl 0 parttype PARTTYPE NONFSDATA endhead Oxfe endseccyl 0 startsector start partsecsize PART SZ 512 1 mbr CreatePartition amp drive partnum Oxda For more information on the partition structure mbr_part lookinpart_defs 1lib The t ype parameter should match the type as it currently exists on the drive unless this is unused Some values for the t ype parameter are already in use A list of known parti tion types is at www win tue nl aeb partitions partition types 1 html PARAMETERS drive pnum type RETURN VALUE O for success Pointer to a MBR drive structure Partition number to be created or modified Type that exists on the physical drive partition now EIO for Error trying to read drive device or structures EINVAL if drive structure Drum or type is invalid EPERM if the partition has not been enumerated or is currently mounted EUNFORMAT if the drive is accessible but not formatted EBUSY if the device is busy LIBRARY PART LIB Chapter 1 Function Descrip
244. the error log entries If this index does not equal the total exception count minus one the error log entries have wrapped around the log buffer LIBRARY ERRORS LIB Chapter 1 Function Descriptions 49 errlogGetNthEntry root int errlogGetNthEntry int N DESCRIPTION Loads errLogEnt ry structure with Nth entry of the error buffer This must be called before the functions below that format the output PARAMETERS N Index of entry to load into errLogEntry RETURN VALUE 0 Success entry checksum okay 1 Failure entry checksum not okay LIBRARY ERRORS LIB 50 Dynamic C Function Reference Manual errlogFormatEntry root char errlogFormatEntry DESCRIPTION Returns a null terminated string containing the basic information contained in errLogEntry Error type 240 Address 00 16aa Time 06 11 2001 20 49 29 RETURN VALUE The null terminated string described above LIBRARY ERRORS LIB Chapter 1 Function Descriptions 51 errlogFormatRegDump root char errlogFormatRegDump DESCRIPTION Returns a null terminated string containing a register dump using the data in errLogEntry AF 0000 AF 0000 HL 00f0 HL 15e3 BC 16ce BC 1600 DE 0000 DE 1731 IX d3f1 1Y 0560 SP d3eb XPC 0000 RETURN VALUE The null terminated string described above LIBRARY ERRORS LIB 52 Dynamic C Function Reference Manual errlogFormatStackDump root char errlogFormatStackDump
245. til the number of seconds specified has passed PARAMETERS delaysec The number of seconds to wait RETURN VALUE 1 The specified number of seconds have elapsed 0 The specified number of seconds have not elapsed LIBRARY COSTATE LIB DelayTicks int DelayTicks unsigned ticks DESCRIPTION Tick time mechanism for the costatement wait for constructs The initial call to this function starts the timing The function returns zero and continues to return zero until the number of ticks specified has passed 1 tick 1 1024 second PARAMETERS ticks The number of ticks to wait RETURN VALUE 1 The specified tick delay has elapsed 0 The specified tick delay has not elapsed LIBRARY COSTATE LIB Chapter 1 Function Descriptions 47 Disable HW WDT void Disable HW WDT DESCRIPTION Disables the hardware watchdog timer on the Rabbit processor Note that the watchdog will be enabled again just by hitting it The watchdog is hit by the periodic interrupt which is on by default This function is useful for special situations such as low power sleepy mode LIBRARY SYS LIB Enable HW WDT void Enable HW WDT DESCRIPTION Enables the hardware watchdog timer on the Rabbit processor The watchdog is hit by the periodic interrupt which is on by default LIBRARY SYS LIB 48 Dynamic C Function Reference Manual errlogGetHeaderInfo root char errlogGetHeaderInfo DESCRIPTION Reads th
246. tion If the corresponding previous OS_ ENTER CRITICAL call dis abled interrupts that is interrupts were not already disabled then interrupts will be en abled Otherwise interrupts will remain disabled Hence nesting calls to OG ENTER CRITICAL will work correctly LIBRARY UCOS2 LIB Chapter 1 Function Descriptions 183 OSFlagAccept OS FLAGS OSFlagAccept OS FLAG GRP pgrp OS FLAGS flags INT8U wait type INT8U err DESCRIPTION This function is called to check the status of a combination of bits to be set or cleared in an event flag group Your application can check for ANY bit to be set cleared or ALL bits to be set cleared This call does not block if the desired flags are not present PARAMETERS pgrp Pointer to the desired event flag group flags Bit pattern indicating which bit s i e flags you wish to check E g if your application wants to wait for bits 0 and 1 then flags should be 0x03 wait type Specifies whether you are checking for ALL bits to be set cleared or ANY of the bits to be set cleared You can specify the following ar gument OS FLAG WAIT CLR ALL You will check ALL bits in flags to be clear 0 OS FLAG WAIT CLR ANY You will check ANY bit in flags to be clear 0 OS FLAG WAIT SET ALL You will check ALL bits in flags tobe set 1 e OS FLAG WAIT SET ANY You will check ANY bit in flags tobe set 1 Note Add OS_FLAG CONSUME if you want the event flag to
247. tions 157 mbr EnumDrive int mbr EnumDrive dos ctrl ctrl mbr_ drive drive int drvnum int checktype DESCRIPTION This routine is called to learn about drives present on the controller passed in The drive will be added to the linked list of enumerated drives Partition information will be filled in from the master boot record Pointers to file system level partition information struc tures will be set to null PARAMETERS ctrl Pointer to a DOS controller structure set up during initialization of storage device driver drive Pointer to a drive structure to be filled in drvnum Physical drive number of drive on the controller checktype Routine that takes an unsigned char partition type and returns 1 if of sought type and zero if not Pass null for this parameter to by pass this check RETURN VALUE 0 for success EIO for Error trying to read the drive device or structure EINVAL if drvnum invalid or does not exist ENOMEM if memory for page buffer is not available EUNFORMAT if the drive is accessible but not formatted You can use it provided it is formatted partitioned by either this library or another system EBADPART if the partition table on the drive is invalid ENOPART if the drive does not have any sought partitions If checktype parameter is null this test is bypassed This code is superceded by any other error detected EPERM if the drive has already been enumerated EBUSY if the device is busy
248. tly LIBRARY RTCLOCK LIB Chapter 1 Function Descriptions 317 readUserBlock int readUserBlock void dest unsigned addr unsigned numbytes DESCRIPTION Reads a number of bytes from the User block on the primary flash to a buffer in root memory Please note that portions of the User block may be used by the BIOS for your board to store values For example any board with an A to D converter will require the BIOS to write calibration constants to the User block For some versions of the BL2000 and the BL2100 this memory area is 0x1C00 to OxI FFF See the user s manual for your particular board for more information before overwriting any part of the User block Also see the Rabbit Microprocessor Designer s Handbook for more information on the User block PARAMETERS dest Pointer to destination to copy data to addr Address offset in User block to read from numbytes Number of bytes to copy RETURN VALUE 0 Success 1 Invalid address or range LIBRARY IDBLOCK LIB SEE ALSO writeUserBlock readUserBlockArray 318 Dynamic C Function Reference Manual readUserBlockArray int readUserBlockArray void dests unsigned numbytes int numdests unsigned addr DESCRIPTION Reads a number of bytes from the User block on the primary flash to a set of buffers in root memory This function is usually used as the inverse function of writeUserBlockArray This function was introduced in Dynamic C version
249. ul if you have battery backed SRAM on the board You can still use a RAM file system on volatile RAM but of course files will not persist over power cycles and you should explicitly format the RAM filesystem at power up The sample program Samples FILESYSTEM FS2INFO C demonstrates use of this function This function may be called before calling fs init RETURN VALUE 0 There is no RAM filesystem available 0 Logical extent number of the RAM device LIBRARY FS2 LIB SEE ALSO fs_get_flash_1lx FS2 fs_get_other 1x FS2 Chapter 1 Function Descriptions 101 fs set 1x FS2 int fs set _1x FSLXnum meta FSLXnum data DESCRIPTION Sets the default logical extent LX numbers for file creation Each file has two parts the main bulk of data and the metadata which is a relatively small fixed amount of data used to journal changes to the file Both data and metadata can reside on the same extent or they may be separated The metadata no matter where it is located consumes one sector The file creation functions allow the metadata extent to be explicitly specified in the high byte of the file number however it is usually easier to call fs set 1x to set appro priate defaults Calling fs set Lil is the only way to specify the data extent If s_set_1x is never called both data and metadata will default to the first non reserved extent number PARAMETERS meta Extent number for metadata data Extent number
250. up copies for Your own archival purposes You may not use copies of the Software as part of a benchmark or comparison test against other similar products in order to produce results strictly for purposes of comparison The Software contains copyrighted material trade secrets and other proprietary material of Z WORLD and or its licensors and You must reproduce on each copy of the Soft ware all copyright notices and any other proprietary legends that appear on or in the original copy of the Software Except for the limited license granted above Z WORLD retains all right title and interest in and to all intellectual property rights embodied in the Software including but not limited to patents copyrights and trade secrets 4 Export Law Assurances You agree and certify that neither the Software nor any other techni cal data received from Z WORLD nor the direct product thereof will be exported outside the United States or re exported except as authorized and as permitted by the laws and regulations of the United States and or the laws and regulations of the jurisdiction if other than the United States in which You rightfully obtained the Software The Software may not be exported to any of the following countries Cuba Iran Iraq Libya North Korea Sudan or Syria 5 Government End Users If You are acquiring the Software on behalf of any unit or agency of the United States Government the following provisions apply The Government agrees
251. ur code In addition you will need to call hitwd periodically to hit the hardware watchdog timer since the periodic interrupt normally handles that or disable the watchdog timer before calling this function The watchdog can be disabled with Disable HW WD use32kHzOsc is not task reentrant LIBRARY SYS LIB SEE ALSO useMainOsc useClockDivider updateTimers Chapter 1 Function Descriptions 391 useClockDivider void useClockDivider DESCRIPTION Sets the Rabbit processor to use the main oscillator divided by 8 for the CPU but not the peripheral clock If this is already set there is no effect Because the peripheral clock is not affected serial communications should still work This function also enables the pe riodic interrupt in case it was disabled by a call to use32kHzOsc This function is not task reentrant LIBRARY SYS LIB SEE ALSO useMainOsc use32kHzOsc 392 Dynamic C Function Reference Manual useClockDivider3000 void useClockDivider3000 int setting DESCRIPTION Sets the expanded clock divider options for the Rabbit 3000 processor Target communi cations will be lost after changing this setting because of the baud rate change This func tion also enables the periodic interrupt in case it was disabled by a call to user32kHzOsc The peripheral clock is also affected by this function If you want to divide the main pro cessor clock and not the peripheral clock you may u
252. ure as previously passed to pool_init e Address of element to move obtained by e g plast This must be an allocated element in the given pool otherwise the results are undefined If null then the last element is implied i e whatever plast would return If there are no elements at all or this pa rameter does not point to a valid allocated element then the results are undefined and probably catastrophic Ife dore f then there is no action except to check wheth er fP follows d This parameter may refer to an unlinked but al located element d First reference element The element e will be inserted after this el ement On entry it must be true that pnext p d f Other wise null is returned If this parameter is null then f must point to the first element in the list and e is inserted at the start of the list Chapter 1 Function Descriptions 267 pmovebetween continued f Second reference element The element e will be inserted before this element On entry it must be true that pprev p f d Otherwise null is returned If this parameter is null then d must point to the last element in the list and e is inserted at the end of the list Note If both d and f are null then it must be true that there are no allocated elements in the linked list and the element e is added as the only element in the list This provis
253. ver is opened so speed is not a major concern This is where I O pins should be configured and any other setup should be performed pktXrx Sets the hardware to receive data This function must be written in assembly Any registers besides the 8 bit accumulator A must be preserved first and restored before returning This function is called when the driver switches from transmit to receive mode once there are no packets to send This function is necessary for half duplex connections and other types of shared bus schemes so that the transmitter can be disabled allowing other nodes to use the lines pktXtx Sets the hardware to transmit data This function must be written in assembly The same rules for register usage as for pkt Xrx apply This function is called whenever the driver switches from receive to transmit mode in response to an additional packet or packets being available for sending A typical use of this function is to enable any necessary transmitter hardware See the sample program Samples PKTDEMO C for an example of how to write these user supplied functions See technical note TN213 Rabbit Serial Port Software for more information on the packet driver 260 Dynamic C Function Reference Manual pktXopen continued PARAMETERS baud Bits per second of data transfer minimum is 2400 mode Type of packet scheme used the options are e DEI GAPMODE e PKT _ 9BITMODE e PKT_CHARMODE options Further specification
254. vice This is the second flash if one is available on your hardware otherwise it is the reserved area in your program flash In order for the program flash to be available for use by the file system you must define two constants the first constant is XMEM_RESERVE_ SIZE near the top of BIOS RABBITBIOS C This value is set to the amount of program flash to reserve in bytes This is required by the BIOS The second constant is set in your code before use f s2 1lib FS2 USE PROGRAM FLASH must be defined to the number of KB 1024 bytes that will actually be used by the file system If this is set to a larger value than the actual amount of reserved space then only the actual amount will be used The sample program SAMPLES FILESYSTEM FS2INFO C demonstrates use of this function This function may be called before calling fs init RETURN VALUE 0 There is no flash file system available 0 Logical extent number of the preferred flash LIBRARY FS2 1lib SEE ALSO Ze gert ram Is FS2 fs_get_other_1x FS2 Chapter 1 Function Descriptions 97 fs get 1x FS2 FSLXnum fs get 1x int meta DESCRIPTION Return the current extent LX number for file creation Each file has two parts the main bulk of data and the metadata which is a relatively small fixed amount of data used to journal changes to the file Both data and metadata can reside on the same extent or they may be separated PARAMETERS meta 1 return lo
255. void Sold eco void new ecc DESCRIPTION Checks the old versus new ECC values for a 256 byte 2048 bit data buffer and if neces sary and possible 1 bit correction 2 bit detection corrects the data in the specified root memory buffer PARAMETERS data Pointer to the 256 byte data buffer old ecc Pointer to the old original 3 byte ECC s buffer new ecc Pointer to the new current 3 byte ECC s buffer RETURN VALUE 0 Data and ECC are good no correction is necessary 1 Data is corrected and ECC is good 2 Data is good and ECC is corrected 3 Data and or ECC are bad and uncorrectable LIBRARY ECC LIB This function was introduced in Dynamic C 9 01 Chapter 1 Function Descriptions 25 ceil float ceil float x DESCRIPTION Computes the smallest integer greater than or equal to the given number PARAMETERS x Number to round up RETURN VALUE The rounded up number LIBRARY MATH LIB SEE ALSO floor fmod 26 Dynamic C Function Reference Manual chkHardReset int chkHardReset void DESCRIPTION This function determines whether this restart of the board is due to a hardware reset As serting the RESET line or recycling power are both considered hardware resets A watch dog timeout is not a hardware reset RETURN VALUE 1 The processor was restarted due to a hardware reset 0 Ifit was not LIBRARY SYS LIB SEE ALSO chkSoftReset chkWDTO _sysIsSoftReset chkSoftReset int
256. window flash_writesector paddr Chapter 1 Function Descriptions 75 flash readsector int flash readsector FlashDescriptor fd word sector unsigned long buffer DESCRIPTION Reads the contents of an entire sector of flash memory into a buffer Note fd must have already been initialized with flash_init before calling this function See flash_init description for further restrictions PARAMETERS fd The FlashDescriptor of the flash memory to read from sector The source sector to read buffer The physical address of the destination buffer TIP A logical address can be changed to a physical with the function paddr RETURN VALUE 0 Success LIBRARY FLASH LIB SEE ALSO flash_erasechip flash_erasesector flash _gettype flash_init flash_read flash _sector2xwindow flash _writesector 76 Dynamic C Function Reference Manual flash sector2xwindow void flash sector2xwindow FlashDescriptor fd word sector DESCRIPTION This function sets the MB3CR and XPC value so the requested sector falls within the XPC window The MB3CR is the Memory Interface Unit bank register XPC is one of four Memory Management Unit registers See flash _init description for restrictions PARAMETERS fd The FlashDescriptor of the flash memory sector The sector to set the XPC window to RETURN VALUE The logical offset of the sector LIBRARY FLASH LIB SEE ALSO flash_erasechip flash_erasesector flash _gettype flash
257. wr FS2 en 84 forceSoftReset ceeeeee eee 85 EE 86 fread FS2 cesseceeceeeeeeeeeees 87 E 88 fs_format FS1 cece eee eees 89 fs_format FS2 ceeeeeeee ees 90 fs_get_flash_Ix ES 97 fs_get_Ix FS2 ween 98 fs_get_Ix_size FS2 99 fs_get_other_lx FS2 100 fs_get_ram_Ix FS2 101 ER LL OCH RE 91 fscinit FS2 E 92 fs_reserve_blocks FS1 93 fs set 1K FS2 esli 102 fs_setup FS2 essssesseeseseess 103 Te syne FS2 sci cceseesceseseuls 105 E TEE 94 fseek EST 91 ee eegeke cd Se cess 95 fseek EE 96 R aTi a gue geed E 108 Ft FST E 106 Fell ES sist csc sc che2 dee see 107 oer oe oa 112 fwrite FS1 ee 110 fwrite FS2 ENNEN 111 G ee ge peciit iis 113 PEITO Sea ean TE Easa 114 getdivider19200 e 115 EE E ENET 116 GetVectExtern2000 117 GetVectExtern3000 118 GetVectIntern sssssesessessssese 119 gps_get_position c eee 120 SPS PEt ULC tiviandcuediceees 121 gps_ground_distance 122 H hanncplx 123 hannreal ciennes hieis 124 HDLCdropX cecccceccceceees 125 HDLCerrorX seccions incesi 126 HDLCopenX cesccccccceeeees 127 HDLCpeekX sic icecnarssindetiint 128 HDLCreceiveX c0ceee 129 HDLCsendingX 666 131 HDLCsendX ceceeeeeeeeee 130 bp Ster Age 131 hioa soea ths See ON 132 l Uc check ack ecceeeeeee 144 Denit ee EA 1
258. x Pointer to N element array of complex fractions N Number of complex elements in array x blockexp Pointer to integer block exponent LIBRARY FFT LIB SEE ALSO fftcplx fftcplxinv fftreal hanncplx hannreal powerspectrum 70 Dynamic C Function Reference Manual flash erasechip void flash erasechip FlashDescriptor fd DESCRIPTION Erases an entire flash memory chip Note fd must have already been initialized with flash_init before calling this function See lash_init description for further restrictions PARAMETERS fd Pointer to flash descriptor of the chip to erase LIBRARY FLASH LIB SEE ALSO flash _erasesector flash_gettype flash_init flash_read flash_readsector flash_sector2xwindow flash_writesector Chapter 1 Function Descriptions 71 flash erasesector int flash erasesector FlashDescriptor fd word which DESCRIPTION Erases a sector of a flash memory chip Note fd must have already been initialized with flash_init before calling this function See lash_init description for further restrictions PARAMETERS fd Pointer to flash descriptor of the chip to erase a sector of which The sector to erase RETURN VALUE 0 Success LIBRARY FLASH LIB SEE ALSO flash _erasechip flash _gettype flash_init flash read flash_readsector flash_sector2xwindow flash_writesector 72 Dynamic C Function Reference Manual flash gettype int flash gettype Fla
259. xavail _xavail xalloc_stats Chapter 1 Function Descriptions 419 xsetint void xsetint long dst int val DESCRIPTION Set the integer pointed to by dst This is the most efficient function for writing two bytes to xmem PARAMETERS dst xmem linear address of the int value to set val value to store into the above location RETURN VALUE None LIBRARY XMEM LIB 420 Dynamic C Function Reference Manual xset loat void xsetfloat long dst float val DESCRIPTION Set the float pointed to by dst This is the most efficient function for writing 4 bytes to xmem PARAMETERS dst xmem linear address of the float value to set val value to store into the above location RETURN VALUE None LIBRARY XMEM LIB xsetlong void xsetlong long dst long val DESCRIPTION Set the long integer pointed to by dst This is the most efficient function for writing 4 bytes to xmem PARAMETERS dst xmem linear address of the long integer value to set val value to store into the above location RETURN VALUE None LIBRARY XMEM LIB Chapter 1 Function Descriptions 421 xstrlen unsigned int xstrlen long src DESCRIPTION Return the length of the string in xmem pointed to by src If there is no null terminator within the first 65536 bytes of the string then the return value will be meaningless PARAMETERS sre xmem linear address of the first character of the string Note to
260. y cceeeeeeeeeteees 50 errlogReadHeader EE 54 EXO POM EEN 55 ResetErrorLog espt eoslt ens stier eeg 322 Extended Memory SE 407 enee 410 p ddr inn ance Ee 245 KE 246 paddtSS Auguste ee de e 247 TOORME choca oe oh bindu wees 322 WeriteFlash2 ccticicnsnMadiocthoas 398 WriteFlash2Array cccscccceeeerees 399 el 406 zalle stats ao iaa aN 408 zaval um a at 409 RoOeHlOat scinn tenn ann 413 F Xeen E 413 e E 414 mem root csesecsececececeesesersaeees 415 XMEM2XMEM secceccseccceseeserseeeees 416 EE eege 417 anner EE 418 ee dee 419 RSCUIOAL tee dee 421 RSCUINE kas in Messier 420 RSCHONG agu etenn nosia asiasi 421 AI E s E Een 422 Fast Fourier Transforms UAC D D OEA E E E EA 67 FEC PIRINY siess sritis issii 68 E WEE 69 EE eege 70 arin plc Leier See R 123 hannreal ss igsic2 hisses noiidn huis 124 pOWerspectrum 2 0 0 eeeeeeeeeeeeeeeeeees 280 File Compression CloseInputCompressedFile 30 CloseOutputCompressedFile 30 CompressFile siieissistceneieteisdiadeatsiaes 39 DecompressFile engsgietegien Agenda 43 OpenInputCompressedFile 181 OpenOutputCompressedFile 182 ReadCompressedFile 000 316 File System CLOSE keete Beete ag 59 foreate ES oars nin iini a 60 foreate FSZ nisa a esas 61 fereate_unused FS1 cccccccceceees 62 fereate_unused FS2 csecscccceceees 63 fdelete FS1 essssessserssers
Download Pdf Manuals
Related Search
Related Contents
56F807 - Freescale Semiconductor GBC MC10 Défrisage Situtation n°3 - SBSSA Académie de Rouen QR7 Ayuda Usuario Instructions Entradas ESP Copyright © All rights reserved.
Failed to retrieve file