Copyrights


croutine.c              is Copyright (C) 2003-2008 Richard Barry.
croutine.h              is Copyright (C) 2003-2008 Richard Barry.
external_interrupt.c    is Copyright (C) 2008      Paul Murphy.
FreeRTOS.h              is Copyright (C) 2003-2008 Richard Barry.
FreeRTOSConfig.h        is Copyright (C) 2003-2008 Richard Barry.
heap_1.c                is Copyright (C) 2003-2008 Richard Barry.
ifi_aliases.h           is Public Domain.
ifi_default.h           is Public Domain.
ifi_picdefs.h           is Public Domain.
ifi_startup.c           is Public Domain.
ifi_utilities.c         is Public Domain.
ifi_utilities.h         is Public Domain.
list.c                  is Copyright (C) 2003-2008 Richard Barry.
list.h                  is Copyright (C) 2003-2008 Richard Barry.
main.c                  is Copyright (C) 2008      Paul Murphy.
port.c                  is Copyright (C) 2008      Paul Murphy.
portable.h              is Copyright (C) 2003-2008 Richard Barry.
portmacro.h             is Copyright (C) 2003-2008 Richard Barry.
print_unsigned_number.c is Copyright (C) 2008      Paul Murphy.
projdefs.h              is Copyright (C) 2003-2008 Richard Barry.
queue.c                 is Copyright (C) 2003-2008 Richard Barry.
queue.h                 is Copyright (C) 2003-2008 Richard Barry.
semphr.h                is Copyright (C) 2003-2008 Richard Barry.
serial.c                is Copyright (C) 2003-2008 Richard Barry.
serial.h                is Copyright (C) 2003-2008 Richard Barry.
StackMacros.h           is Copyright (C) 2003-2008 Richard Barry.
task.h                  is Copyright (C) 2003-2008 Richard Barry.
tasks.c                 is Copyright (C) 2003-2008 Richard Barry.
user_routines.c         is Public Domain.
user_routines.h         is Public Domain.
18f8520user.lkr         is Public Domain.
plugin.xml              is Public Domain.
Vex_library.lib         is with permission from Innovation First Incorporated




Changes to FreeRTOS files


portable.h:

    Added

       #ifdef __ifi_picdefs_h_

            #include "portmacro.h"

       #endif


portmacro.h:

   Replaced

       #define portENTER_CRITICAL()        POSTINC1 = INTCON;                     \
                                           INTCONbits.GIEH = 0;
   with

       #define portENTER_CRITICAL()        vPortEnterCritical()


   Replaced

       #define portEXIT_CRITICAL()         _asm                                    \
                                                MOVF   POSTDEC1, 1, 0              \
                                           _endasm                                 \
                                           if( INDF1 & portGLOBAL_INT_ENABLE_BIT ) \
                                           {                                       \
                                               portENABLE_INTERRUPTS();            \
                                           }
   with

       #define portEXIT_CRITICAL()          vPortExitCritical()
     

serial.c:

    Register reads and writes were changed to allow communication over USART2.

    The baud rate calculation was changed to "SPBRG = ( (FOSC / Desired Baud Rate) / 4 )".

    In the function called "xSerialGetChar", the call to "xQueueReceive" was replaced with
    a call to "xQueueReceiveFromISR".  This was necessary in order to prevent erratic behavior
    and time constraints presently rule against an effort to identify the specific underlying
    reasons and possible alternate solutions.

    Removal of pragma directives before vSerialRxISR and vSerialTxISR, as these are handled in port.c .






