Cleanup for 1.0.0
[hackover2013-badge-firmware.git] / projectconfig.h
index e59629a..ad7ad82 100644 (file)
@@ -7,7 +7,7 @@
 
     Software License Agreement (BSD License)
 
-    Copyright (c) 2010, microBuilder SARL
+    Copyright (c) 2012, microBuilder SARL
     All rights reserved.
 
     Redistribution and use in source and binary forms, with or without
     // #define CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
     // #define CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
     // #define CFG_BRD_LPC1343_802154USBSTICK
+    // #define CFG_BRD_LPC1343_OLIMEX_P
 /*=========================================================================*/
 
 
     ST7735      . .  .  .     X X X X X X . . .     . . . .
     SHARPMEM    . .  .  .     X X X X . . . . .     . . . .
     SSD1306     . .  .  .     X X X . X X . . .     . . . .
+    SSD1351     . .  .  .     X X X X X . . . .     . . . .
     MCP121      . .  .  .     . . . . . . . . .     . X . .
+    PN532 [3]   . .  .  .     . . . . . . . . .     . X X . 
 
                 TIMERS                    SSP     ADC         UART
                 ======================    ===     =======     ====
          can safely be used by other peripherals, but may need to be
          reconfigured when you wakeup from deep-sleep.
     [2]  INTERFACE can be configured to use either USBCDC or UART
+    [3]  3.2 only used when with the I2C bus (for IRQ)
 
  **************************************************************************/
 
     MCP4725                     0xC0      1100000x
     TSL2561                     0x72      0111001x
     TCS3414                     0x72      0111001x
+    PN532                       0x48      0100100x
 
     [1]  Alternative addresses may exists, but the addresses listed in this
          table are the values used in the code base
 /*=========================================================================
     FIRMWARE VERSION SETTINGS
     -----------------------------------------------------------------------*/
-    #define CFG_FIRMWARE_VERSION_MAJOR            (0)
-    #define CFG_FIRMWARE_VERSION_MINOR            (9)
-    #define CFG_FIRMWARE_VERSION_REVISION         (8)
+    #define CFG_FIRMWARE_VERSION_MAJOR            (1)
+    #define CFG_FIRMWARE_VERSION_MINOR            (0)
+    #define CFG_FIRMWARE_VERSION_REVISION         (0)
 /*=========================================================================*/
 
 
 /*=========================================================================*/
 
 
+/*=========================================================================
+    GPIO INTERRUPTS
+    -----------------------------------------------------------------------
+
+    IF you wish to use the GPIO interrupt handlers elsewhere in your code,
+    you should probably define a seperate IRQHandler for the appropriate
+    GPIO bank rather than using the definitions in core/gpio/gpio.c (to
+    avoid causing problems in other projects, and to make updates easier,
+    etc.)  To disable the default IRQHandler, simply comment out the
+    define below for the appropriate GPIO bank and implement the handler
+    somewhere else.
+
+    GPIO_ENABLE_IRQ0    If defined, PIOINT0_IRQHandler will be declared and
+                        handled in core/gpio/gpio.c
+    GPIO_ENABLE_IRQ1    If defined, PIOINT1_IRQHandler will be declared and
+                        handled in core/gpio/gpio.c
+    GPIO_ENABLE_IRQ2    If defined, PIOINT2_IRQHandler will be declared and
+                        handled in core/gpio/gpio.c
+    GPIO_ENABLE_IRQ3    If defined, PIOINT3_IRQHandler will be declared and
+                        handled in core/gpio/gpio.c
+
+    -----------------------------------------------------------------------*/
+    #ifdef CFG_BRD_LPC1343_REFDESIGN
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_802154USBSTICK
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define GPIO_ENABLE_IRQ0
+      #define GPIO_ENABLE_IRQ1
+      // #define GPIO_ENABLE_IRQ2
+      // #define GPIO_ENABLE_IRQ3
+    #endif
+/*=========================================================================*/
+
+
 /*=========================================================================
     ALTERNATE RESET PIN
     -----------------------------------------------------------------------
       #define CFG_UART_BAUDRATE           (115200)
       #define CFG_UART_BUFSIZE            (512)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      #define CFG_UART_BAUDRATE           (115200)
+      #define CFG_UART_BUFSIZE            (512)
+    #endif
 /*=========================================================================*/
 
 
       // #define CFG_SSP0_SCKPIN_2_11
       #define CFG_SSP0_SCKPIN_0_6
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      #define CFG_SSP0_SCKPIN_2_11
+      // #define CFG_SSP0_SCKPIN_0_6
+    #endif
+/*=========================================================================*/
+
+
+/*=========================================================================
+    ADC
+    -----------------------------------------------------------------------
+
+    ADC_AVERAGING_ENABLE      To get better results, the ADC code can take
+                              a number of samples and return the average
+                              value.  This is slower, but can give more
+                              accurate results compared to single-reading.
+                              
+                              To enable averaging, set ADC_AVERAGING_ENABLE
+                              to a non-zero value.
+    ADC_AVERAGING_SAMPLES     The number of ADC samples to read and
+                              average if ADC averaging is enabled.
+
+    -----------------------------------------------------------------------*/
+    #ifdef CFG_BRD_LPC1343_REFDESIGN
+      #define ADC_AVERAGING_ENABLE    (1)
+      #define ADC_AVERAGING_SAMPLES   (5)
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
+      #define ADC_AVERAGING_ENABLE    (1)
+      #define ADC_AVERAGING_SAMPLES   (5)
+    #endif
+
+    #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
+      #define ADC_AVERAGING_ENABLE    (0)
+      #define ADC_AVERAGING_SAMPLES   (5)
+    #endif
+
+    #ifdef CFG_BRD_LPC1343_802154USBSTICK
+      #define ADC_AVERAGING_ENABLE    (0)
+      #define ADC_AVERAGING_SAMPLES   (5)
+    #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      #define ADC_AVERAGING_ENABLE    (0)
+      #define ADC_AVERAGING_SAMPLES   (5)
+    #endif
 /*=========================================================================*/
 
 
       #define CFG_LED_ON                  (0)
       #define CFG_LED_OFF                 (1)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      #define CFG_LED_PORT                (3)
+      #define CFG_LED_PIN                 (2)
+      #define CFG_LED_ON                  (0)
+      #define CFG_LED_OFF                 (1)
+    #endif
 /*=========================================================================*/
 
 
       #define CFG_SDCARD_CDPORT           (3)
       #define CFG_SDCARD_CDPIN            (0)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_SDCARD
+      #define CFG_SDCARD_READONLY         (1) // Must be 0 or 1
+      #define CFG_SDCARD_CDPORT           (3)
+      #define CFG_SDCARD_CDPIN            (0)
+    #endif
 /*=========================================================================*/
 
 
       #define CFG_USBCDC_INITTIMEOUT      (5000)
       #define CFG_USBCDC_BUFFERSIZE       (256)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_USBHID
+      #define CFG_USBCDC
+      #define CFG_USBCDC_BAUDRATE         (115200)
+      #define CFG_USBCDC_INITTIMEOUT      (5000)
+      #define CFG_USBCDC_BUFFERSIZE       (256)
+    #endif     
 /*=========================================================================*/
 
 
       #define CFG_PRINTF_USBCDC
       #define CFG_PRINTF_NEWLINE          "\r\n"
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_PRINTF_UART
+      #define CFG_PRINTF_USBCDC
+      #define CFG_PRINTF_NEWLINE          "\r\n"
+    #endif     
 /*=========================================================================*/
 
 
       #define CFG_INTERFACE_SHORTERRORS   (0)
       #define CFG_INTERFACE_CONFIRMREADY  (0)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      #define CFG_INTERFACE
+      #define CFG_INTERFACE_MAXMSGSIZE    (256)
+      #define CFG_INTERFACE_PROMPT        "LPC-P1343 >> "
+      #define CFG_INTERFACE_SILENTMODE    (0)
+      #define CFG_INTERFACE_DROPCR        (0)
+      #define CFG_INTERFACE_ENABLEIRQ     (0)
+      #define CFG_INTERFACE_IRQPORT       (0)
+      #define CFG_INTERFACE_IRQPIN        (7)
+      #define CFG_INTERFACE_SHORTERRORS   (0)
+      #define CFG_INTERFACE_CONFIRMREADY  (0)
+    #endif
 /*=========================================================================*/
 
 
       #define CFG_I2CEEPROM
       #define CFG_I2CEEPROM_SIZE          (3072)
     #endif
+
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_I2CEEPROM
+      #define CFG_I2CEEPROM_SIZE          (3072)
+    #endif     
 /*=========================================================================*/
 
 
       #define CFG_CHIBI_PROMISCUOUS       (0)
       #define CFG_CHIBI_BUFFERSIZE        (1024)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_CHIBI
+      #define CFG_CHIBI_MODE              (0)                 // OQPSK_868MHZ
+      #define CFG_CHIBI_POWER             (0xE9)              // CHB_PWR_EU2_3DBM
+      #define CFG_CHIBI_CHANNEL           (0)                 // 868-868.6 MHz
+      #define CFG_CHIBI_PANID             (0x1234)
+      #define CFG_CHIBI_PROMISCUOUS       (0)
+      #define CFG_CHIBI_BUFFERSIZE        (128)
+    #endif     
 /*=========================================================================*/
 
 
                                 a pre-determined LCD screen to be included
                                 during build.  Only one LCD driver can be 
                                 included during the build process (for ex.
-                                'drivers/lcd/hw/ILI9325.c')
+                                'drivers/displays/hw/ILI9325.c')
     CFG_TFTLCD_INCLUDESMALLFONTS If set to 1, smallfont support will be
                                 included for 3x6, 5x8, 7x8 and 8x8 fonts.
                                 This should only be enabled if these small
       #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
       #define CFG_TFTLCD_TS_KEYPADDELAY      (100)
     #endif
+       
+    #ifdef CFG_BRD_LPC1343_OLIMEX_P
+      // #define CFG_TFTLCD
+      #define CFG_TFTLCD_INCLUDESMALLFONTS   (0)
+      #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
+      #define CFG_TFTLCD_TS_KEYPADDELAY      (100)
+    #endif     
 /*=========================================================================*/
 
 
 
   =========================================================================*/
 
-#if !defined CFG_BRD_LPC1343_REFDESIGN && !defined CFG_BRD_LPC1343_REFDESIGN_MINIMAL && !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB && !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART && !defined CFG_BRD_LPC1343_802154USBSTICK
+#if !defined CFG_BRD_LPC1343_REFDESIGN && \
+  !defined CFG_BRD_LPC1343_REFDESIGN_MINIMAL && \
+  !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB && \
+  !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART && \
+  !defined CFG_BRD_LPC1343_802154USBSTICK && \
+  !defined CFG_BRD_LPC1343_OLIMEX_P    
   #error "You must defined a target board (CFG_BRD_LPC1343_REFDESIGN or CFG_BRD_LPC1343_REFDESIGN_MINIMAL or CFG_BRD_LPC1343_TFTLCDSTANDALONE or CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART or CFG_BRD_LPC1343_802154USBSTICK)"
 #endif
 
   #if CFG_CHIBI_PROMISCUOUS != 0 && CFG_CHIBI_PROMISCUOUS != 1
     #error "CFG_CHIBI_PROMISCUOUS must be equal to either 1 or 0"
   #endif
+  #if !defined GPIO_ENABLE_IRQ1
+    #error "GPIO_ENABLE_IRQ1 must be enabled when using Chibi (Chibi IRQ is on GPIO1.8)"
+  #endif
 #endif
 
 #ifdef CFG_TFTLCD
   #ifdef CFG_SSD1306
     #error "CFG_TFTLCD and CFG_SSD1306 can not be defined at the same time."
   #endif
+  #ifdef CFG_SHARPMEM
+    #error "CFG_TFTLCD and CFG_SHARPMEM can not be defined at the same time."
+  #endif
   #ifdef CFG_PWM
     #error "CFG_TFTLCD and CFG_PWM can not be defined at the same time since they both use pin 1.9."
   #endif
   #endif
 #endif
 
+#if ADC_AVERAGING_ENABLE && ADC_AVERAGING_SAMPLES < 1
+  #error "ADC_AVERAGING_SAMPLES must be 1 or higher when ADC averaging is enabled"
+#endif
+
 #endif
This page took 0.031224 seconds and 4 git commands to generate.