• Main Page
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

mComm_processConfiguration.h

Go to the documentation of this file.
00001 
00002 #ifndef __MCOMM_PROCESS_CONFIGURATION_H
00003 #define __MCOMM_PROCESS_CONFIGURATION_H
00004 
00005 #if defined(MCOMM_ENABLED)
00006     
00007     #if !defined(MCOMM_TYPE)
00008         #error The MCOMM_TYPE value has not been defined in mComm_config.h. Please use this value to specify the type of communication to implement.
00009     #else
00010         #if     MCOMM_TYPE == MCOMM_UART_ONE_WAY
00011             #define MCOMM_ONE_WAY_ENABLED
00012         #elif   MCOMM_TYPE == MCOMM_UART_TWO_WAY
00013             #define MCOMM_TWO_WAY_ENABLED
00014         #elif   MCOMM_TYPE == MCOMM_I2C_TWO_WAY
00015             #define MCOMM_TWO_WAY_ENABLED
00016         #elif   MCOMM_TYPE == MCOMM_SPI_TWO_WAY
00017             #define MCOMM_TWO_WAY_ENABLED
00018         #endif
00019     #endif
00020     
00021     #if (MCOMM_TYPE == MCOMM_UART_ONE_WAY) || (MCOMM_TYPE == MCOMM_UART_TWO_WAY)
00022         #define MCOMM_UART_IMPLEMENTED
00023     #endif
00024     #if (MCOMM_TYPE == MCOMM_I2C_TWO_WAY)
00025         #define MCOMM_I2C_IMPLEMENTED
00026     #endif
00027     #if (MCOMM_TYPE == MCOMM_SPI_TWO_WAY)
00028         #define MCOMM_SPI_IMPLEMENTED
00029     #endif
00030     
00031     #if (MCOMM_TYPE == MCOMM_UART_ONE_WAY)
00032         #if !defined(MCOMM_UART_1WAY_MODULE)
00033             #warning The MCOMM_UART_1WAY_MODULE value has not been defined in mComm_config.h. Defaulting to a software implementation.
00034             #define MCOMM_UART_1WAY_MODULE MCOMM_UART_SOFTWARE_IMPLEMENTATION
00035         #endif
00036         #if !defined(MCOMM_UART_1WAY_OUTPUT)
00037             #warning The MCOMM_UART_1WAY_OUTPUT value has not been defined in mComm_config.h. Defaulting to decimal output.
00038             #define MCOMM_UART_1WAY_OUTPUT MCOMM_UART_1WAY_DECIMAL
00039         #endif
00040         #if !defined(MCOMM_UART_1WAY_DELIMITER)
00041             #warning The MCOMM_UART_1WAY_DELIMITER value has not been defined in mComm_config.h. Defaulting to ';'.
00042             #define MCOMM_UART_1WAY_DELIMITER ';'
00043         #endif
00044         
00045         #if (MCOMM_UART_1WAY_MODULE == MCOMM_UART_SOFTWARE_IMPLEMENTATION)
00046             #if !defined(MCOMM_UART_SOFT_TXPORT)
00047                 #error The MCOMM_UART_SOFT_TXPORT value has not been defined in mComm_config.h. Please assign this to the port which will be used for the TX output pin. Ex: PORTA
00048             #endif
00049             #if !defined(MCOMM_UART_SOFT_TXTRIS)
00050                 #error The MCOMM_UART_SOFT_TXTRIS value has not been defined in mComm_config.h. Please assign this to the tris which will be used for the TX output pin. Ex: TRISA
00051             #endif
00052             #if !defined(MCOMM_UART_SOFT_TXPIN)
00053                 #error The MCOMM_UART_SOFT_TXPIN value has not been defined in mComm_config.h. Please assign this to the pin which will be used for the TX output pin. Ex: 5
00054             #endif
00055         #endif
00056     #endif
00057         
00058     #if defined(MCOMM_UART_IMPLEMENTED)
00059     
00060         #if !defined(PIC_UART_AVAILABLE)
00061             #if (MCOMM_TYPE != MCOMM_UART_ONE_WAY)
00062                 #error Your chosen PIC microcontroller does not contain a UART module. Edit the MCOMM_TYPE value in mComm_config.h to continue or enable the software UART implementation.
00063             #endif
00064             #if (MCOMM_TYPE == MCOMM_UART_ONE_WAY) && (MCOMM_UART_1WAY_MODULE != MCOMM_UART_SOFTWARE_IMPLEMENTATION)
00065                 #error Your chosen PIC microcontroller does not contain a UART module. Edit the MCOMM_TYPE value in mComm_config.h to continue or enable the software UART implementation.
00066             #endif
00067         #else
00068             #define MCOMM_UART_HARDWARE_USED
00069         #endif
00070         
00071         #if !defined(MCOMM_UART_BAUDRATE)
00072             #warning The MCOMM_UART_BAUDRATE value in mComm_config.h has not been defined. Defaulting to 38400bps.
00073             #define MCOMM_UART_BAUDRATE 38400
00074         #endif
00075         
00076         #if !defined(_XTAL_FREQ)
00077             #error mComm requires _XTAL_FREQ be defined to correctly initialize the UART module. Please #define it in the configuration file to the frequency of the oscillator in Hz.
00078         #endif
00079         
00080         #if !defined(PIC_UART_BAUD_BITS)
00081             #define PIC_UART_BAUD_BITS 8
00082         #endif
00083         
00084         #if PIC_UART_BAUD_BITS == 16
00085             #define MCOMM_UART_SPBRGH_AVAILABLE
00086         #endif
00087         
00088         #if _XTAL_FREQ == 32000000
00089             #if     MCOMM_UART_BAUDRATE == 1200
00090                 #define MCOMM_UART_SPBRG_VALUE  3332
00091                 #define MCOMM_UART_BRG16_VALUE  1
00092                 #define MCOMM_UART_BRGH_VALUE   0
00093             #elif   MCOMM_UART_BAUDRATE == 2400
00094                 #define MCOMM_UART_SPBRG_VALUE  207
00095                 #define MCOMM_UART_BRG16_VALUE  0
00096                 #define MCOMM_UART_BRGH_VALUE   0
00097             #elif   MCOMM_UART_BAUDRATE == 9600
00098                 #define MCOMM_UART_SPBRG_VALUE  51
00099                 #define MCOMM_UART_BRG16_VALUE  0
00100                 #define MCOMM_UART_BRGH_VALUE   0
00101                 #define MCOMM_UART_FWBRG_VALUE  208
00102             #elif   MCOMM_UART_BAUDRATE == 19200
00103                 #define MCOMM_UART_SPBRG_VALUE  25
00104                 #define MCOMM_UART_BRG16_VALUE  0
00105                 #define MCOMM_UART_BRGH_VALUE   0
00106                 #define MCOMM_UART_FWBRG_VALUE  104
00107             #elif   MCOMM_UART_BAUDRATE == 38400
00108                 #define MCOMM_UART_SPBRG_VALUE  12
00109                 #define MCOMM_UART_BRG16_VALUE  0
00110                 #define MCOMM_UART_BRGH_VALUE   0
00111                 #define MCOMM_UART_FWBRG_VALUE  52
00112             #elif   MCOMM_UART_BAUDRATE == 57600
00113                 #define MCOMM_UART_SPBRG_VALUE  34
00114                 #define MCOMM_UART_BRG16_VALUE  0
00115                 #define MCOMM_UART_BRGH_VALUE   1
00116                 #define MCOMM_UART_FWBRG_VALUE  35
00117             #elif   MCOMM_UART_BAUDRATE == 115200
00118                 #define MCOMM_UART_SPBRG_VALUE  16
00119                 #define MCOMM_UART_BRG16_VALUE  0
00120                 #define MCOMM_UART_BRGH_VALUE   1
00121             #else
00122                 #define MCOMM_UART_BADBAUDRATE
00123             #endif
00124         #elif _XTAL_FREQ == 20000000
00125             #if     MCOMM_UART_BAUDRATE == 1200
00126                 #define MCOMM_UART_SPBRG_VALUE  255
00127                 #define MCOMM_UART_BRG16_VALUE  0
00128                 #define MCOMM_UART_BRGH_VALUE   0
00129             #elif   MCOMM_UART_BAUDRATE == 2400
00130                 #define MCOMM_UART_SPBRG_VALUE  129
00131                 #define MCOMM_UART_BRG16_VALUE  0
00132                 #define MCOMM_UART_BRGH_VALUE   0
00133             #elif   MCOMM_UART_BAUDRATE == 9600
00134                 #define MCOMM_UART_SPBRG_VALUE  32
00135                 #define MCOMM_UART_BRG16_VALUE  0
00136                 #define MCOMM_UART_BRGH_VALUE   0
00137             #elif   MCOMM_UART_BAUDRATE == 19200
00138                 #define MCOMM_UART_SPBRG_VALUE  64
00139                 #define MCOMM_UART_BRG16_VALUE  0
00140                 #define MCOMM_UART_BRGH_VALUE   1
00141             #elif   MCOMM_UART_BAUDRATE == 38400
00142                 #define MCOMM_UART_SPBRG_VALUE  31
00143                 #define MCOMM_UART_BRG16_VALUE  0
00144                 #define MCOMM_UART_BRGH_VALUE   1
00145             #elif   MCOMM_UART_BAUDRATE == 57600
00146                 #define MCOMM_UART_SPBRG_VALUE  21
00147                 #define MCOMM_UART_BRG16_VALUE  0
00148                 #define MCOMM_UART_BRGH_VALUE   1
00149             #elif   MCOMM_UART_BAUDRATE == 115200
00150                 #define MCOMM_UART_SPBRG_VALUE  10
00151                 #define MCOMM_UART_BRG16_VALUE  0
00152                 #define MCOMM_UART_BRGH_VALUE   1
00153             #else
00154                 #define MCOMM_UART_BADBAUDRATE
00155             #endif
00156         #elif _XTAL_FREQ == 18432000
00157             #if     MCOMM_UART_BAUDRATE == 1200
00158                 #define MCOMM_UART_SPBRG_VALUE  239
00159                 #define MCOMM_UART_BRG16_VALUE  0
00160                 #define MCOMM_UART_BRGH_VALUE   0
00161             #elif   MCOMM_UART_BAUDRATE == 2400
00162                 #define MCOMM_UART_SPBRG_VALUE  119
00163                 #define MCOMM_UART_BRG16_VALUE  0
00164                 #define MCOMM_UART_BRGH_VALUE   0
00165             #elif   MCOMM_UART_BAUDRATE == 9600
00166                 #define MCOMM_UART_SPBRG_VALUE  29
00167                 #define MCOMM_UART_BRG16_VALUE  0
00168                 #define MCOMM_UART_BRGH_VALUE   0
00169             #elif   MCOMM_UART_BAUDRATE == 19200
00170                 #define MCOMM_UART_SPBRG_VALUE  14
00171                 #define MCOMM_UART_BRG16_VALUE  0
00172                 #define MCOMM_UART_BRGH_VALUE   0
00173             #elif   MCOMM_UART_BAUDRATE == 38400
00174                 #define MCOMM_UART_SPBRG_VALUE  29
00175                 #define MCOMM_UART_BRG16_VALUE  0
00176                 #define MCOMM_UART_BRGH_VALUE   1
00177             #elif   MCOMM_UART_BAUDRATE == 57600
00178                 #define MCOMM_UART_SPBRG_VALUE  7
00179                 #define MCOMM_UART_BRG16_VALUE  0
00180                 #define MCOMM_UART_BRGH_VALUE   0
00181             #elif   MCOMM_UART_BAUDRATE == 115200
00182                 #define MCOMM_UART_SPBRG_VALUE  9
00183                 #define MCOMM_UART_BRG16_VALUE  0
00184                 #define MCOMM_UART_BRGH_VALUE   1
00185             #else
00186                 #define MCOMM_UART_BADBAUDRATE
00187             #endif
00188         #elif _XTAL_FREQ == 16000000
00189             #if     MCOMM_UART_BAUDRATE == 1200
00190                 #define MCOMM_UART_SPBRG_VALUE  207
00191                 #define MCOMM_UART_BRG16_VALUE  0
00192                 #define MCOMM_UART_BRGH_VALUE   0
00193             #elif   MCOMM_UART_BAUDRATE == 2400
00194                 #define MCOMM_UART_SPBRG_VALUE  103
00195                 #define MCOMM_UART_BRG16_VALUE  0
00196                 #define MCOMM_UART_BRGH_VALUE   0
00197             #elif   MCOMM_UART_BAUDRATE == 9600
00198                 #define MCOMM_UART_SPBRG_VALUE  25
00199                 #define MCOMM_UART_BRG16_VALUE  0
00200                 #define MCOMM_UART_BRGH_VALUE   0
00201                 #define MCOMM_UART_FWBRG_VALUE  104
00202             #elif   MCOMM_UART_BAUDRATE == 19200
00203                 #define MCOMM_UART_SPBRG_VALUE  12
00204                 #define MCOMM_UART_BRG16_VALUE  0
00205                 #define MCOMM_UART_BRGH_VALUE   0
00206                 #define MCOMM_UART_FWBRG_VALUE  52
00207             #elif   MCOMM_UART_BAUDRATE == 38400
00208                 #define MCOMM_UART_SPBRG_VALUE  25
00209                 #define MCOMM_UART_BRG16_VALUE  0
00210                 #define MCOMM_UART_BRGH_VALUE   1
00211                 #define MCOMM_UART_FWBRG_VALUE  26
00212             #elif   MCOMM_UART_BAUDRATE == 57600
00213                 #define MCOMM_UART_SPBRG_VALUE  16
00214                 #define MCOMM_UART_BRG16_VALUE  0
00215                 #define MCOMM_UART_BRGH_VALUE   1
00216             #elif   MCOMM_UART_BAUDRATE == 115200
00217                 #define MCOMM_UART_SPBRG_VALUE  34
00218                 #define MCOMM_UART_BRG16_VALUE  1
00219                 #define MCOMM_UART_BRGH_VALUE   1
00220             #else
00221                 #define MCOMM_UART_BADBAUDRATE
00222             #endif
00223         #elif _XTAL_FREQ == 11059200
00224             #if     MCOMM_UART_BAUDRATE == 1200
00225                 #define MCOMM_UART_SPBRG_VALUE  143
00226                 #define MCOMM_UART_BRG16_VALUE  0
00227                 #define MCOMM_UART_BRGH_VALUE   0
00228             #elif   MCOMM_UART_BAUDRATE == 2400
00229                 #define MCOMM_UART_SPBRG_VALUE  71
00230                 #define MCOMM_UART_BRG16_VALUE  0
00231                 #define MCOMM_UART_BRGH_VALUE   0
00232             #elif   MCOMM_UART_BAUDRATE == 9600
00233                 #define MCOMM_UART_SPBRG_VALUE  17
00234                 #define MCOMM_UART_BRG16_VALUE  0
00235                 #define MCOMM_UART_BRGH_VALUE   0
00236             #elif   MCOMM_UART_BAUDRATE == 19200
00237                 #define MCOMM_UART_SPBRG_VALUE  8
00238                 #define MCOMM_UART_BRG16_VALUE  0
00239                 #define MCOMM_UART_BRGH_VALUE   0
00240             #elif   MCOMM_UART_BAUDRATE == 38400
00241                 #define MCOMM_UART_SPBRG_VALUE  17
00242                 #define MCOMM_UART_BRG16_VALUE  0
00243                 #define MCOMM_UART_BRGH_VALUE   1
00244             #elif   MCOMM_UART_BAUDRATE == 57600
00245                 #define MCOMM_UART_SPBRG_VALUE  2
00246                 #define MCOMM_UART_BRG16_VALUE  0
00247                 #define MCOMM_UART_BRGH_VALUE   0
00248             #elif   MCOMM_UART_BAUDRATE == 115200
00249                 #define MCOMM_UART_SPBRG_VALUE  5
00250                 #define MCOMM_UART_BRG16_VALUE  0
00251                 #define MCOMM_UART_BRGH_VALUE   1
00252             #else
00253                 #define MCOMM_UART_BADBAUDRATE
00254             #endif
00255         #elif _XTAL_FREQ ==  8000000
00256             #if     MCOMM_UART_BAUDRATE == 1200
00257                 #define MCOMM_UART_SPBRG_VALUE  103
00258                 #define MCOMM_UART_BRG16_VALUE  0
00259                 #define MCOMM_UART_BRGH_VALUE   0
00260             #elif   MCOMM_UART_BAUDRATE == 2400
00261                 #define MCOMM_UART_SPBRG_VALUE  51
00262                 #define MCOMM_UART_BRG16_VALUE  0
00263                 #define MCOMM_UART_BRGH_VALUE   0
00264             #elif   MCOMM_UART_BAUDRATE == 9600
00265                 #define MCOMM_UART_SPBRG_VALUE  12
00266                 #define MCOMM_UART_BRG16_VALUE  0
00267                 #define MCOMM_UART_BRGH_VALUE   0
00268                 #define MCOMM_UART_FWBRG_VALUE  52
00269             #elif   MCOMM_UART_BAUDRATE == 19200
00270                 #define MCOMM_UART_SPBRG_VALUE  25
00271                 #define MCOMM_UART_BRG16_VALUE  0
00272                 #define MCOMM_UART_BRGH_VALUE   1
00273                 #define MCOMM_UART_FWBRG_VALUE  26
00274             #elif   MCOMM_UART_BAUDRATE == 38400
00275                 #define MCOMM_UART_SPBRG_VALUE  12
00276                 #define MCOMM_UART_BRG16_VALUE  0
00277                 #define MCOMM_UART_BRGH_VALUE   1
00278                 #define MCOMM_UART_FWBRG_VALUE  13
00279             #elif   MCOMM_UART_BAUDRATE == 57600
00280                 #define MCOMM_UART_SPBRG_VALUE  8
00281                 #define MCOMM_UART_BRG16_VALUE  0
00282                 #define MCOMM_UART_BRGH_VALUE   1
00283             #elif   MCOMM_UART_BAUDRATE == 115200
00284                 #define MCOMM_UART_SPBRG_VALUE  16
00285                 #define MCOMM_UART_BRG16_VALUE  1
00286                 #define MCOMM_UART_BRGH_VALUE   1
00287             #else
00288                 #define MCOMM_UART_BADBAUDRATE
00289             #endif
00290         #elif _XTAL_FREQ ==  4000000
00291             #if     MCOMM_UART_BAUDRATE == 1200
00292                 #define MCOMM_UART_SPBRG_VALUE  51
00293                 #define MCOMM_UART_BRG16_VALUE  0
00294                 #define MCOMM_UART_BRGH_VALUE   0
00295             #elif   MCOMM_UART_BAUDRATE == 2400
00296                 #define MCOMM_UART_SPBRG_VALUE  25
00297                 #define MCOMM_UART_BRG16_VALUE  0
00298                 #define MCOMM_UART_BRGH_VALUE   0
00299             #elif   MCOMM_UART_BAUDRATE == 9600
00300                 #define MCOMM_UART_SPBRG_VALUE  25
00301                 #define MCOMM_UART_BRG16_VALUE  0
00302                 #define MCOMM_UART_BRGH_VALUE   1
00303                 #define MCOMM_UART_FWBRG_VALUE  26
00304             #elif   MCOMM_UART_BAUDRATE == 19200
00305                 #define MCOMM_UART_SPBRG_VALUE  12
00306                 #define MCOMM_UART_BRG16_VALUE  0
00307                 #define MCOMM_UART_BRGH_VALUE   1
00308                 #define MCOMM_UART_FWBRG_VALUE  13
00309             #elif   MCOMM_UART_BAUDRATE == 38400
00310                 #define MCOMM_UART_UNREACHABLE
00311             #elif   MCOMM_UART_BAUDRATE == 57600
00312                 #define MCOMM_UART_SPBRG_VALUE  16
00313                 #define MCOMM_UART_BRG16_VALUE  1
00314                 #define MCOMM_UART_BRGH_VALUE   1
00315             #elif   MCOMM_UART_BAUDRATE == 115200
00316                 #define MCOMM_UART_SPBRG_VALUE  8
00317                 #define MCOMM_UART_BRG16_VALUE  1
00318                 #define MCOMM_UART_BRGH_VALUE   1
00319             #else
00320                 #define MCOMM_UART_BADBAUDRATE
00321             #endif
00322         #elif _XTAL_FREQ ==  3686400
00323             #if     MCOMM_UART_BAUDRATE == 1200
00324                 #define MCOMM_UART_SPBRG_VALUE  47
00325                 #define MCOMM_UART_BRG16_VALUE  0
00326                 #define MCOMM_UART_BRGH_VALUE   0
00327             #elif   MCOMM_UART_BAUDRATE == 2400
00328                 #define MCOMM_UART_SPBRG_VALUE  23
00329                 #define MCOMM_UART_BRG16_VALUE  0
00330                 #define MCOMM_UART_BRGH_VALUE   0
00331             #elif   MCOMM_UART_BAUDRATE == 9600
00332                 #define MCOMM_UART_SPBRG_VALUE  5
00333                 #define MCOMM_UART_BRG16_VALUE  0
00334                 #define MCOMM_UART_BRGH_VALUE   0
00335             #elif   MCOMM_UART_BAUDRATE == 19200
00336                 #define MCOMM_UART_SPBRG_VALUE  2
00337                 #define MCOMM_UART_BRG16_VALUE  0
00338                 #define MCOMM_UART_BRGH_VALUE   0
00339             #elif   MCOMM_UART_BAUDRATE == 38400
00340                 #define MCOMM_UART_SPBRG_VALUE  6
00341                 #define MCOMM_UART_BRG16_VALUE  0
00342                 #define MCOMM_UART_BRGH_VALUE   1
00343             #elif   MCOMM_UART_BAUDRATE == 57600
00344                 #define MCOMM_UART_SPBRG_VALUE  0
00345                 #define MCOMM_UART_BRG16_VALUE  0
00346                 #define MCOMM_UART_BRGH_VALUE   0
00347             #elif   MCOMM_UART_BAUDRATE == 115200
00348                 #define MCOMM_UART_SPBRG_VALUE  1
00349                 #define MCOMM_UART_BRG16_VALUE  0
00350                 #define MCOMM_UART_BRGH_VALUE   1
00351             #else
00352                 #define MCOMM_UART_BADBAUDRATE
00353             #endif
00354         #elif _XTAL_FREQ ==  2000000
00355             #if     MCOMM_UART_BAUDRATE == 1200
00356                 #define MCOMM_UART_SPBRG_VALUE  25
00357                 #define MCOMM_UART_BRG16_VALUE  0
00358                 #define MCOMM_UART_BRGH_VALUE   0
00359             #elif   MCOMM_UART_BAUDRATE == 2400
00360                 #define MCOMM_UART_SPBRG_VALUE  12
00361                 #define MCOMM_UART_BRG16_VALUE  0
00362                 #define MCOMM_UART_BRGH_VALUE   0
00363             #elif   MCOMM_UART_BAUDRATE == 9600
00364                 #define MCOMM_UART_SPBRG_VALUE  12
00365                 #define MCOMM_UART_BRG16_VALUE  0
00366                 #define MCOMM_UART_BRGH_VALUE   1
00367                 #define MCOMM_UART_FWBRG_VALUE  13
00368             #elif   MCOMM_UART_BAUDRATE == 19200
00369                 #define MCOMM_UART_SPBRG_VALUE  25
00370                 #define MCOMM_UART_BRG16_VALUE  1
00371                 #define MCOMM_UART_BRGH_VALUE   1
00372             #elif   MCOMM_UART_BAUDRATE == 38400
00373                 #define MCOMM_UART_SPBRG_VALUE  12
00374                 #define MCOMM_UART_BRG16_VALUE  1
00375                 #define MCOMM_UART_BRGH_VALUE   1
00376             #elif   MCOMM_UART_BAUDRATE == 57600
00377                 #define MCOMM_UART_SPBRG_VALUE  8
00378                 #define MCOMM_UART_BRG16_VALUE  1
00379                 #define MCOMM_UART_BRGH_VALUE   1
00380             #elif   MCOMM_UART_BAUDRATE == 115200
00381                 #define MCOMM_UART_UNREACHABLE
00382             #else
00383                 #define MCOMM_UART_BADBAUDRATE
00384             #endif
00385         #elif _XTAL_FREQ ==  1000000
00386             #if     MCOMM_UART_BAUDRATE == 1200
00387                 #define MCOMM_UART_SPBRG_VALUE  12
00388                 #define MCOMM_UART_BRG16_VALUE  0
00389                 #define MCOMM_UART_BRGH_VALUE   0
00390             #elif   MCOMM_UART_BAUDRATE == 2400
00391                 #define MCOMM_UART_SPBRG_VALUE  51
00392                 #define MCOMM_UART_BRG16_VALUE  0
00393                 #define MCOMM_UART_BRGH_VALUE   1
00394             #elif   MCOMM_UART_BAUDRATE == 9600
00395                 #define MCOMM_UART_SPBRG_VALUE  25
00396                 #define MCOMM_UART_BRG16_VALUE  1
00397                 #define MCOMM_UART_BRGH_VALUE   1
00398             #elif   MCOMM_UART_BAUDRATE == 19200
00399                 #define MCOMM_UART_SPBRG_VALUE  12
00400                 #define MCOMM_UART_BRG16_VALUE  1
00401                 #define MCOMM_UART_BRGH_VALUE   1
00402             #elif   MCOMM_UART_BAUDRATE == 38400
00403                 #define MCOMM_UART_UNREACHABLE
00404             #elif   MCOMM_UART_BAUDRATE == 57600
00405                 #define MCOMM_UART_UNREACHABLE
00406             #elif   MCOMM_UART_BAUDRATE == 115200
00407                 #define MCOMM_UART_UNREACHABLE
00408             #else
00409                 #define MCOMM_UART_BADBAUDRATE
00410             #endif
00411         #else
00412             #error Current _XTAL_FREQ value is not compatible with the predefined values in the mComm code.
00413         #endif
00414         
00415         #if defined(MCOMM_UART_BADBAUDRATE)
00416             #error Requested baud rate is not compatible with the predefined values in the mComm code.
00417         #endif
00418         
00419         #if defined(MCOMM_ONE_WAY_ENABLED) && (MCOMM_UART_1WAY_MODULE == MCOMM_UART_SOFTWARE_IMPLEMENTATION) 
00420         
00421             #if !defined(MCOMM_UART_FWBRG_VALUE)
00422                 #error Requested baud rate is not a defined option for the software-implemented UART. Try 9600, 19200, or 38400 for the baud rate in mComm_config.h
00423             #endif
00424             
00425         #else
00426         
00427             #if defined(MCOMM_UART_BRG16_VALUE) && (MCOMM_UART_BRG16_VALUE == 1)
00428                 #if PIC_UART_BAUD_BITS != 16
00429                     #error Requested baud rate is unreachable without a 16-bit baud rate generator which your PIC microcontroller does not have. Please redefine MCOMM_UART_BAUDRATE in mComm_config.h
00430                 #endif
00431             #endif
00432             
00433             #if defined(MCOMM_UART_UNREACHABLE)
00434                 #error Requested baud rate is unreachable given the current _XTAL_FREQ and module limitations.
00435             #endif
00436             
00437             #if MCOMM_UART_SPBRG_VALUE > 255
00438                 #define MCOMM_UART_SPBRGL_VALUE     (uint8_t)(MCOMM_UART_SPBRG_VALUE & 0xFF)
00439                 #define MCOMM_UART_SPBRGH_VALUE     (uint8_t)(MCOMM_UART_SPBRG_VALUE >> 8)
00440             #else
00441                 #define MCOMM_UART_SPBRGL_VALUE     (uint8_t)(MCOMM_UART_SPBRG_VALUE)
00442                 #define MCOMM_UART_SPBRGH_VALUE     (uint8_t)(0x00)
00443             #endif
00444             
00445         #endif
00446         
00447     #endif
00448     
00449     #if defined(MCOMM_TWO_WAY_ENABLED)
00450     
00451         #if defined(MCOMM_ENABLE_CUSTOM_OPCODE)
00452             #if !defined(MCOMM_CUSTOM_PROCESS)
00453                 #error MCOMM_ENABLE_CUSTOM_OPCODE is defined, but MCOMM_CUSTOM_PROCESS has not been. Please define MCOMM_CUSTOM_PROCESS with the name of your custom mComm process function.
00454             #endif
00455             #if !defined(MCOMM_CUSTOM_READ_ITERATOR) && !defined(MCOMM_CUSTOM_WRITE_ITERATOR)
00456                 #error MCOMM_ENABLE_CUSTOM_OPCODE is defined, but neither MCOMM_CUSTOM_READ_ITERATOR nor MCOMM_CUSTOM_WRITE_ITERATOR has been. Please define at least one of those values with the name of your custom read/write iterator function.
00457             #endif
00458             
00459             #define MCOMM_CUSTOM_PROCESS_ADR            &MCOMM_CUSTOM_PROCESS
00460             #define MCOMM_CUSTOM_READ_ITER_ADR          0x0000
00461             #define MCOMM_CUSTOM_WRITE_ITER_ADR         0x0000
00462             
00463             #if defined(MCOMM_CUSTOM_READ_ITERATOR)
00464                 #define MCOMM_CUSTOM_READ_ENABLED
00465                 #undef  MCOMM_CUSTOM_READ_ITER_ADR
00466                 #define MCOMM_CUSTOM_READ_ITER_ADR      &MCOMM_CUSTOM_READ_ITERATOR
00467             #endif
00468             #if defined(MCOMM_CUSTOM_WRITE_ITERATOR)
00469                 #define MCOMM_CUSTOM_WRITE_ENABLED
00470                 #undef  MCOMM_CUSTOM_WRITE_ITER_ADR
00471                 #define MCOMM_CUSTOM_WRITE_ITER_ADR     &MCOMM_CUSTOM_WRITE_ITERATOR
00472             #endif
00473             
00474         #endif
00475     
00476     
00477         #define MCOMM_STREAM_WRITE_ITER_ADR         &mComm_ErrorIterator
00478     
00479         #define MCOMM_OPCODES_ALL           {                                                               \
00480                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00481                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00482                                               { &mComm_processNVM,          &mComm_nvmWriteIterator     },  \
00483                                               { &mComm_processNVM,          &mComm_nvmReadIterator      },  \
00484                                               { &mComm_processStream,       MCOMM_STREAM_WRITE_ITER_ADR },  \
00485                                               { &mComm_processStream,       &mComm_StreamReadIterator   },  \
00486                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_WRITE_ITER_ADR },  \
00487                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_READ_ITER_ADR  }   \
00488                                             }
00489                                             
00490         #define MCOMM_OPCODES_NONVM         {                                                               \
00491                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00492                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00493                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00494                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00495                                               { &mComm_processStream,       MCOMM_STREAM_WRITE_ITER_ADR },  \
00496                                               { &mComm_processStream,       &mComm_StreamReadIterator   },  \
00497                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_WRITE_ITER_ADR },  \
00498                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_READ_ITER_ADR  }   \
00499                                             }
00500                                             
00501         #define MCOMM_OPCODES_NONVMSTREAM   {                                                               \
00502                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00503                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00504                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00505                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00506                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00507                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00508                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_WRITE_ITER_ADR },  \
00509                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_READ_ITER_ADR  }   \
00510                                             }
00511                                             
00512         #define MCOMM_OPCODES_NOSTREAM      {                                                               \
00513                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00514                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00515                                               { &mComm_processNVM,          &mComm_nvmWriteIterator     },  \
00516                                               { &mComm_processNVM,          &mComm_nvmReadIterator      },  \
00517                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00518                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00519                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_WRITE_ITER_ADR },  \
00520                                               { MCOMM_CUSTOM_PROCESS_ADR,   MCOMM_CUSTOM_READ_ITER_ADR  }   \
00521                                             }
00522 
00523         #define MCOMM_OPCODES_NOCUST        {                                                               \
00524                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00525                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00526                                               { &mComm_processNVM,          &mComm_nvmWriteIterator     },  \
00527                                               { &mComm_processNVM,          &mComm_nvmReadIterator      },  \
00528                                               { &mComm_processStream,       MCOMM_STREAM_WRITE_ITER_ADR },  \
00529                                               { &mComm_processStream,       &mComm_StreamReadIterator   },  \
00530                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00531                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        }   \
00532                                             }
00533                                             
00534         #define MCOMM_OPCODES_NONVMCUST     {                                                               \
00535                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00536                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00537                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00538                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00539                                               { &mComm_processStream,       MCOMM_STREAM_WRITE_ITER_ADR },  \
00540                                               { &mComm_processStream,       &mComm_StreamReadIterator   },  \
00541                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00542                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        }   \
00543                                             }
00544                                             
00545         #define MCOMM_OPCODES_NONVMSTRCUST  {                                                               \
00546                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00547                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00548                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00549                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00550                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00551                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00552                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00553                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        }   \
00554                                             }
00555                                             
00556         #define MCOMM_OPCODES_NOSTRCUST     {                                                               \
00557                                               { &mComm_processRAM,          &mComm_ramWriteIterator     },  \
00558                                               { &mComm_processRAM,          &mComm_ramReadIterator      },  \
00559                                               { &mComm_processNVM,          &mComm_nvmWriteIterator     },  \
00560                                               { &mComm_processNVM,          &mComm_nvmReadIterator      },  \
00561                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00562                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00563                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        },  \
00564                                               { &mComm_ErrorProcess,        &mComm_ErrorIterator        }   \
00565                                             }
00566                                         
00567         //========================================================================
00568         // Opcode Definitions          // ONLY EDIT IF IMPLEMENTING CUSTOM OPCODES
00569         //========================================================================
00570         #define MCOMM_NUMBER_OPCODES        8 
00571         
00572         // This defines the values stored in the opcode lookup table which tells mComm which function
00573         // to call when an opcode is received. The first pointer is to the initialization function (called
00574         // once when a packet with that opcode has been received) and the second pointer is to the 
00575         // iterator which will be called continuously until the mComm_output.hasNext bit is cleared.
00576         #if defined(MCOMM_ENABLE_CUSTOM_OPCODE)
00577             #if defined(MCOMM_ENABLE_NVM_ACCESS)
00578                 #if defined(MCOMM_ENABLE_STREAM)
00579                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_ALL
00580                 #else
00581                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NOSTREAM
00582                 #endif
00583             #else
00584                 #if defined(MCOMM_ENABLE_STREAM)
00585                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NONVM
00586                 #else
00587                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NONVMSTREAM
00588                 #endif
00589             #endif
00590         #else
00591             #if defined(MCOMM_ENABLE_NVM_ACCESS)
00592                 #if defined(MCOMM_ENABLE_STREAM)
00593                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NOCUST
00594                 #else
00595                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NOSTRCUST
00596                 #endif
00597             #else
00598                 #if defined(MCOMM_ENABLE_STREAM)
00599                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NONVMCUST
00600                 #else
00601                     #define MCOMM_OPCODE_VALUES         MCOMM_OPCODES_NONVMSTRCUST
00602                 #endif
00603             #endif
00604         #endif
00605         
00606         // Not used in the mComm code, but provided here as an easy quick-reference. The opcode is the
00607         // index of the lookup table that mComm will jump to when processing the packet.
00608         #define MCOMM_OP_RAM_WRITE          0x00
00609         #define MCOMM_OP_RAM_READ           0x01
00610         #define MCOMM_OP_NVM_WRITE          0x02
00611         #define MCOMM_OP_NVM_READ           0x03
00612         #define MCOMM_OP_STREAM_WRITE       0x04
00613         #define MCOMM_OP_STREAM_READ        0x05
00614         #define MCOMM_OP_CUSTOM_WRITE       0x06
00615         #define MCOMM_OP_CUSTOM_READ        0x07
00616         
00617         #define MCOMM_OP_ACK                0xAA        // Value to send when 'ACK'ing to the Master
00618         #define MCOMM_OP_NACK               0xA5
00619         
00620         
00621         #define MCOMM_CONFIG_NVM_ACCESS     0
00622         #define MCOMM_CONFIG_STREAM_ACCESS  0
00623         #define MCOMM_CONFIG_STREAM_RAM     0
00624         #define MCOMM_CONFIG_CUSTOM_ACCESS  0
00625         
00626         #if defined(MCOMM_ENABLE_NVM_ACCESS)
00627             #undef  MCOMM_CONFIG_NVM_ACCESS
00628             #define MCOMM_CONFIG_NVM_ACCESS     0x01
00629             
00630             #if !defined(MTOUCH_EEPROM_ENABLED) && !defined(MCOMM_NVM_MTOUCH_EE_DISABLED)
00631             #warning MCOMM NVM access is enabled, but the mTouch Framework is not using the EEPROM to store values. Either enable mTouch's EEPROM implementation by defining MTOUCH_EEPROM_ENABLED in mTouch_config.h or define MCOMM_NVM_MTOUCH_EE_DISABLED in mComm_config.h to remove this warning.
00632             #endif
00633         #endif
00634         #if defined(MCOMM_ENABLE_STREAM)
00635                 #undef  MCOMM_CONFIG_STREAM_ACCESS
00636                 #define MCOMM_CONFIG_STREAM_ACCESS  0x02
00637             #if defined(MCOMM_STREAM_STORED_IN_RAM)
00638                 #undef  MCOMM_CONFIG_STREAM_RAM
00639                 #define MCOMM_CONFIG_STREAM_RAM     0x04
00640             #endif
00641         #endif
00642         #if defined(MCOMM_ENABLE_CUSTOM_OPCODE)
00643                 #undef  MCOMM_CONFIG_CUSTOM_ACCESS
00644                 #define MCOMM_CONFIG_CUSTOM_ACCESS  0x08
00645         #endif
00646         
00647         #define MCOMM_CONFIGURATION_BYTE   (MCOMM_CONFIG_NVM_ACCESS | MCOMM_CONFIG_STREAM_ACCESS | MCOMM_CONFIG_STREAM_RAM | MCOMM_CONFIG_CUSTOM_ACCESS)
00648     
00649         
00650         #define MCOMM_TOGGLE_ADR            0x0000
00651         #if defined(MTOUCH_TOGGLE_ENABLED)
00652             #undef  MCOMM_TOGGLE_ADR
00653             #define MCOMM_TOGGLE_ADR        &mTouch_toggle
00654         #endif
00655     
00656         #define MCOMM_SLIDER_ADR            0x0000
00657         #if defined(MTOUCH_SLIDERS_ENABLED)
00658             #undef  MCOMM_SLIDER_ADR
00659             #define MCOMM_SLIDER_ADR        &mTouch_slider
00660         #endif
00661     
00662         #if     _EEPROMSIZE == 0
00663             #define MTOUCH_EEPROM_POW2_SIZE     0
00664         #elif   _EEPROMSIZE == 128
00665             #define MTOUCH_EEPROM_POW2_SIZE     7
00666         #elif   _EEPROMSIZE == 256
00667             #define MTOUCH_EEPROM_POW2_SIZE     8
00668         #elif   _EEPROMSIZE == 512
00669             #define MTOUCH_EEPROM_POW2_SIZE     9
00670         #elif   _EEPROMSIZE == 1024
00671             #define MTOUCH_EEPROM_POW2_SIZE     10
00672         #elif   _EEPROMSIZE == 2048
00673             #define MTOUCH_EEPROM_POW2_SIZE     11
00674         #elif   _EEPROMSIZE == 4096
00675             #define MTOUCH_EEPROM_POW2_SIZE     12
00676         #elif   _EEPROMSIZE == 8192
00677             #define MTOUCH_EEPROM_POW2_SIZE     13
00678         #elif   _EEPROMSIZE == 16384
00679             #define MTOUCH_EEPROM_POW2_SIZE     14
00680         #elif   _EEPROMSIZE == 32768
00681             #define MTOUCH_EEPROM_POW2_SIZE     15
00682         #elif   _EEPROMSIZE == 65536
00683             #define MTOUCH_EEPROM_POW2_SIZE     16
00684         #endif
00685         
00686         #define MCOMM_STREAM_VALUE_LAST     { 0x0000, 0 }
00687         
00688         #define MCOMM_STREAM_COMMA0
00689         #define MCOMM_STREAM_COMMA1
00690         #define MCOMM_STREAM_COMMA2
00691         #define MCOMM_STREAM_COMMA3
00692         #define MCOMM_STREAM_COMMA4
00693         #define MCOMM_STREAM_COMMA5
00694         #define MCOMM_STREAM_COMMA6
00695         #define MCOMM_STREAM_COMMA7
00696         #define MCOMM_STREAM_COMMA8
00697         #define MCOMM_STREAM_COMMA9
00698         #define MCOMM_STREAM_COMMA10
00699         #define MCOMM_STREAM_COMMA11
00700         #define MCOMM_STREAM_COMMA12
00701         #define MCOMM_STREAM_COMMA13
00702         #define MCOMM_STREAM_COMMA14
00703         #define MCOMM_STREAM_COMMA15
00704         #define MCOMM_STREAM_COMMA16
00705         #define MCOMM_STREAM_COMMA17
00706         #define MCOMM_STREAM_COMMA18
00707         #define MCOMM_STREAM_COMMA19
00708             
00709         #if MCOMM_STREAM_SIZE > 0
00710             #if !defined(MCOMM_STREAM_VALUE0)
00711             #define MCOMM_STREAM_VALUE0     MCOMM_STREAM_VALUE_LAST
00712             #endif
00713         #endif
00714         #if MCOMM_STREAM_SIZE > 1
00715             #if !defined(MCOMM_STREAM_VALUE1)
00716             #define MCOMM_STREAM_VALUE1     MCOMM_STREAM_VALUE_LAST
00717             #endif
00718             #undef  MCOMM_STREAM_COMMA0
00719             #define MCOMM_STREAM_COMMA0     ,
00720         #endif
00721         #if MCOMM_STREAM_SIZE > 2    
00722             #if !defined(MCOMM_STREAM_VALUE2)    
00723             #define MCOMM_STREAM_VALUE2     MCOMM_STREAM_VALUE_LAST    
00724             #endif    
00725             #undef  MCOMM_STREAM_COMMA1     
00726             #define MCOMM_STREAM_COMMA1     ,     
00727         #endif
00728         #if MCOMM_STREAM_SIZE > 3    
00729             #if !defined(MCOMM_STREAM_VALUE3)    
00730             #define MCOMM_STREAM_VALUE3     MCOMM_STREAM_VALUE_LAST    
00731             #endif    
00732             #undef  MCOMM_STREAM_COMMA2     
00733             #define MCOMM_STREAM_COMMA2     ,     
00734         #endif
00735         #if MCOMM_STREAM_SIZE > 4    
00736             #if !defined(MCOMM_STREAM_VALUE4)    
00737             #define MCOMM_STREAM_VALUE4     MCOMM_STREAM_VALUE_LAST    
00738             #endif    
00739             #undef  MCOMM_STREAM_COMMA3     
00740             #define MCOMM_STREAM_COMMA3     ,     
00741         #endif
00742         #if MCOMM_STREAM_SIZE > 5    
00743             #if !defined(MCOMM_STREAM_VALUE5)    
00744             #define MCOMM_STREAM_VALUE5     MCOMM_STREAM_VALUE_LAST    
00745             #endif    
00746             #undef  MCOMM_STREAM_COMMA4     
00747             #define MCOMM_STREAM_COMMA4     ,     
00748         #endif
00749         #if MCOMM_STREAM_SIZE > 6    
00750             #if !defined(MCOMM_STREAM_VALUE6)    
00751             #define MCOMM_STREAM_VALUE6     MCOMM_STREAM_VALUE_LAST    
00752             #endif    
00753             #undef  MCOMM_STREAM_COMMA5     
00754             #define MCOMM_STREAM_COMMA5     ,     
00755         #endif
00756         #if MCOMM_STREAM_SIZE > 7    
00757             #if !defined(MCOMM_STREAM_VALUE7)    
00758             #define MCOMM_STREAM_VALUE7     MCOMM_STREAM_VALUE_LAST    
00759             #endif    
00760             #undef  MCOMM_STREAM_COMMA6     
00761             #define MCOMM_STREAM_COMMA6     ,     
00762         #endif
00763         #if MCOMM_STREAM_SIZE > 8    
00764             #if !defined(MCOMM_STREAM_VALUE8)    
00765             #define MCOMM_STREAM_VALUE8     MCOMM_STREAM_VALUE_LAST    
00766             #endif    
00767             #undef  MCOMM_STREAM_COMMA7     
00768             #define MCOMM_STREAM_COMMA7     ,     
00769         #endif
00770         #if MCOMM_STREAM_SIZE > 9    
00771             #if !defined(MCOMM_STREAM_VALUE9)    
00772             #define MCOMM_STREAM_VALUE9     MCOMM_STREAM_VALUE_LAST    
00773             #endif    
00774             #undef  MCOMM_STREAM_COMMA8     
00775             #define MCOMM_STREAM_COMMA8     ,     
00776         #endif
00777         #if MCOMM_STREAM_SIZE > 10    
00778             #if !defined(MCOMM_STREAM_VALUE10)    
00779             #define MCOMM_STREAM_VALUE10    MCOMM_STREAM_VALUE_LAST    
00780             #endif    
00781             #undef  MCOMM_STREAM_COMMA9     
00782             #define MCOMM_STREAM_COMMA9     ,     
00783         #endif
00784         #if MCOMM_STREAM_SIZE > 11    
00785             #if !defined(MCOMM_STREAM_VALUE11)    
00786             #define MCOMM_STREAM_VALUE11    MCOMM_STREAM_VALUE_LAST    
00787             #endif    
00788             #undef  MCOMM_STREAM_COMMA10     
00789             #define MCOMM_STREAM_COMMA10     ,     
00790         #endif
00791         #if MCOMM_STREAM_SIZE > 12    
00792             #if !defined(MCOMM_STREAM_VALUE12)    
00793             #define MCOMM_STREAM_VALUE12    MCOMM_STREAM_VALUE_LAST    
00794             #endif    
00795             #undef  MCOMM_STREAM_COMMA11     
00796             #define MCOMM_STREAM_COMMA11     ,     
00797         #endif
00798         #if MCOMM_STREAM_SIZE > 13    
00799             #if !defined(MCOMM_STREAM_VALUE13)    
00800             #define MCOMM_STREAM_VALUE13    MCOMM_STREAM_VALUE_LAST    
00801             #endif    
00802             #undef  MCOMM_STREAM_COMMA12     
00803             #define MCOMM_STREAM_COMMA12     ,     
00804         #endif
00805         #if MCOMM_STREAM_SIZE > 14    
00806             #if !defined(MCOMM_STREAM_VALUE14)    
00807             #define MCOMM_STREAM_VALUE14    MCOMM_STREAM_VALUE_LAST    
00808             #endif    
00809             #undef  MCOMM_STREAM_COMMA13     
00810             #define MCOMM_STREAM_COMMA13     ,     
00811         #endif
00812         #if MCOMM_STREAM_SIZE > 15    
00813             #if !defined(MCOMM_STREAM_VALUE15)    
00814             #define MCOMM_STREAM_VALUE15    MCOMM_STREAM_VALUE_LAST    
00815             #endif    
00816             #undef  MCOMM_STREAM_COMMA14     
00817             #define MCOMM_STREAM_COMMA14     ,     
00818         #endif
00819         #if MCOMM_STREAM_SIZE > 16    
00820             #if !defined(MCOMM_STREAM_VALUE16)    
00821             #define MCOMM_STREAM_VALUE16    MCOMM_STREAM_VALUE_LAST    
00822             #endif    
00823             #undef  MCOMM_STREAM_COMMA15     
00824             #define MCOMM_STREAM_COMMA15     ,     
00825         #endif
00826         #if MCOMM_STREAM_SIZE > 17    
00827             #if !defined(MCOMM_STREAM_VALUE17)    
00828             #define MCOMM_STREAM_VALUE17    MCOMM_STREAM_VALUE_LAST    
00829             #endif    
00830             #undef  MCOMM_STREAM_COMMA16     
00831             #define MCOMM_STREAM_COMMA16     ,     
00832         #endif
00833         #if MCOMM_STREAM_SIZE > 18    
00834             #if !defined(MCOMM_STREAM_VALUE18)    
00835             #define MCOMM_STREAM_VALUE18    MCOMM_STREAM_VALUE_LAST    
00836             #endif    
00837             #undef  MCOMM_STREAM_COMMA17     
00838             #define MCOMM_STREAM_COMMA17     ,     
00839         #endif
00840         #if MCOMM_STREAM_SIZE > 19    
00841             #if !defined(MCOMM_STREAM_VALUE19)    
00842             #define MCOMM_STREAM_VALUE19    MCOMM_STREAM_VALUE_LAST    
00843             #endif    
00844             #undef  MCOMM_STREAM_COMMA18     
00845             #define MCOMM_STREAM_COMMA18     ,     
00846         #endif
00847 
00848         #if MCOMM_STREAM_SIZE < 20      
00849         #if defined(MCOMM_STREAM_VALUE19)            
00850         #undef  MCOMM_STREAM_VALUE19        
00851         #endif    
00852         #define MCOMM_STREAM_VALUE19
00853         #endif
00854                 
00855         #if MCOMM_STREAM_SIZE < 19      
00856         #if defined(MCOMM_STREAM_VALUE18)            
00857         #undef  MCOMM_STREAM_VALUE18        
00858         #endif    
00859         #define MCOMM_STREAM_VALUE18
00860         #endif
00861                 
00862         #if MCOMM_STREAM_SIZE < 18      
00863         #if defined(MCOMM_STREAM_VALUE17)            
00864         #undef  MCOMM_STREAM_VALUE17        
00865         #endif    
00866         #define MCOMM_STREAM_VALUE17
00867         #endif
00868                 
00869         #if MCOMM_STREAM_SIZE < 17      
00870         #if defined(MCOMM_STREAM_VALUE16)            
00871         #undef  MCOMM_STREAM_VALUE16        
00872         #endif    
00873         #define MCOMM_STREAM_VALUE16
00874         #endif
00875                 
00876         #if MCOMM_STREAM_SIZE < 16      
00877         #if defined(MCOMM_STREAM_VALUE15)            
00878         #undef  MCOMM_STREAM_VALUE15        
00879         #endif    
00880         #define MCOMM_STREAM_VALUE15
00881         #endif
00882                 
00883         #if MCOMM_STREAM_SIZE < 15      
00884         #if defined(MCOMM_STREAM_VALUE14)            
00885         #undef  MCOMM_STREAM_VALUE14        
00886         #endif    
00887         #define MCOMM_STREAM_VALUE14
00888         #endif
00889                 
00890         #if MCOMM_STREAM_SIZE < 14      
00891         #if defined(MCOMM_STREAM_VALUE13)            
00892         #undef  MCOMM_STREAM_VALUE13        
00893         #endif    
00894         #define MCOMM_STREAM_VALUE13
00895         #endif
00896                 
00897         #if MCOMM_STREAM_SIZE < 13      
00898         #if defined(MCOMM_STREAM_VALUE12)            
00899         #undef  MCOMM_STREAM_VALUE12        
00900         #endif    
00901         #define MCOMM_STREAM_VALUE12
00902         #endif
00903                 
00904         #if MCOMM_STREAM_SIZE < 12      
00905         #if defined(MCOMM_STREAM_VALUE11)            
00906         #undef  MCOMM_STREAM_VALUE11        
00907         #endif    
00908         #define MCOMM_STREAM_VALUE11
00909         #endif
00910                 
00911         #if MCOMM_STREAM_SIZE < 11      
00912         #if defined(MCOMM_STREAM_VALUE10)            
00913         #undef  MCOMM_STREAM_VALUE10        
00914         #endif    
00915         #define MCOMM_STREAM_VALUE10
00916         #endif
00917                 
00918         #if MCOMM_STREAM_SIZE < 10      
00919         #if defined(MCOMM_STREAM_VALUE9)             
00920         #undef  MCOMM_STREAM_VALUE9         
00921         #endif    
00922         #define MCOMM_STREAM_VALUE9
00923         #endif
00924                 
00925         #if MCOMM_STREAM_SIZE < 9       
00926         #if defined(MCOMM_STREAM_VALUE8)             
00927         #undef  MCOMM_STREAM_VALUE8         
00928         #endif    
00929         #define MCOMM_STREAM_VALUE8
00930         #endif
00931                 
00932         #if MCOMM_STREAM_SIZE < 8       
00933         #if defined(MCOMM_STREAM_VALUE7)             
00934         #undef  MCOMM_STREAM_VALUE7         
00935         #endif    
00936         #define MCOMM_STREAM_VALUE7
00937         #endif
00938                 
00939         #if MCOMM_STREAM_SIZE < 7       
00940         #if defined(MCOMM_STREAM_VALUE6)             
00941         #undef  MCOMM_STREAM_VALUE6         
00942         #endif    
00943         #define MCOMM_STREAM_VALUE6
00944         #endif
00945                 
00946         #if MCOMM_STREAM_SIZE < 6       
00947         #if defined(MCOMM_STREAM_VALUE5)             
00948         #undef  MCOMM_STREAM_VALUE5         
00949         #endif    
00950         #define MCOMM_STREAM_VALUE5
00951         #endif
00952                 
00953         #if MCOMM_STREAM_SIZE < 5       
00954         #if defined(MCOMM_STREAM_VALUE4)             
00955         #undef  MCOMM_STREAM_VALUE4         
00956         #endif    
00957         #define MCOMM_STREAM_VALUE4
00958         #endif
00959                 
00960         #if MCOMM_STREAM_SIZE < 4       
00961         #if defined(MCOMM_STREAM_VALUE3)             
00962         #undef  MCOMM_STREAM_VALUE3         
00963         #endif    
00964         #define MCOMM_STREAM_VALUE3
00965         #endif
00966                 
00967         #if MCOMM_STREAM_SIZE < 3       
00968         #if defined(MCOMM_STREAM_VALUE2)             
00969         #undef  MCOMM_STREAM_VALUE2         
00970         #endif    
00971         #define MCOMM_STREAM_VALUE2
00972         #endif
00973                 
00974         #if MCOMM_STREAM_SIZE < 2       
00975         #if defined(MCOMM_STREAM_VALUE1)             
00976         #undef  MCOMM_STREAM_VALUE1         
00977         #endif   
00978         #define MCOMM_STREAM_VALUE1 
00979         #endif
00980                 
00981         #if MCOMM_STREAM_SIZE < 1       
00982         #if defined(MCOMM_STREAM_VALUE0)             
00983         #undef  MCOMM_STREAM_VALUE0         
00984         #endif    
00985         #define MCOMM_STREAM_VALUE0
00986         #endif
00987 
00988 
00989         #define MCOMM_STREAM_VALUES         {   MCOMM_STREAM_VALUE0     MCOMM_STREAM_COMMA0   \
00990                                                 MCOMM_STREAM_VALUE1     MCOMM_STREAM_COMMA1   \
00991                                                 MCOMM_STREAM_VALUE2     MCOMM_STREAM_COMMA2   \
00992                                                 MCOMM_STREAM_VALUE3     MCOMM_STREAM_COMMA3   \
00993                                                 MCOMM_STREAM_VALUE4     MCOMM_STREAM_COMMA4   \
00994                                                 MCOMM_STREAM_VALUE5     MCOMM_STREAM_COMMA5   \
00995                                                 MCOMM_STREAM_VALUE6     MCOMM_STREAM_COMMA6   \
00996                                                 MCOMM_STREAM_VALUE7     MCOMM_STREAM_COMMA7   \
00997                                                 MCOMM_STREAM_VALUE8     MCOMM_STREAM_COMMA8   \
00998                                                 MCOMM_STREAM_VALUE9     MCOMM_STREAM_COMMA9   \
00999                                                 MCOMM_STREAM_VALUE10    MCOMM_STREAM_COMMA10  \
01000                                                 MCOMM_STREAM_VALUE11    MCOMM_STREAM_COMMA11  \
01001                                                 MCOMM_STREAM_VALUE12    MCOMM_STREAM_COMMA12  \
01002                                                 MCOMM_STREAM_VALUE13    MCOMM_STREAM_COMMA13  \
01003                                                 MCOMM_STREAM_VALUE14    MCOMM_STREAM_COMMA14  \
01004                                                 MCOMM_STREAM_VALUE15    MCOMM_STREAM_COMMA15  \
01005                                                 MCOMM_STREAM_VALUE16    MCOMM_STREAM_COMMA16  \
01006                                                 MCOMM_STREAM_VALUE17    MCOMM_STREAM_COMMA17  \
01007                                                 MCOMM_STREAM_VALUE18    MCOMM_STREAM_COMMA18  \
01008                                                 MCOMM_STREAM_VALUE19    MCOMM_STREAM_COMMA19  \
01009                                                 , MCOMM_STREAM_VALUE_LAST                     \
01010                                             };
01011             
01012     
01013     #endif
01014 #endif
01015 #endif

mTouch Framework v2.1 documentation by  Click here to visit our website at www.microchip.com