Prep for v1.0.0
[hackover2013-badge-firmware.git] / projectconfig.h
1 /**************************************************************************/
2 /*!
3 @file projectconfig.h
4 @author K. Townsend (microBuilder.eu)
5
6 @section LICENSE
7
8 Software License Agreement (BSD License)
9
10 Copyright (c) 2012, microBuilder SARL
11 All rights reserved.
12
13 Redistribution and use in source and binary forms, with or without
14 modification, are permitted provided that the following conditions are met:
15 1. Redistributions of source code must retain the above copyright
16 notice, this list of conditions and the following disclaimer.
17 2. Redistributions in binary form must reproduce the above copyright
18 notice, this list of conditions and the following disclaimer in the
19 documentation and/or other materials provided with the distribution.
20 3. Neither the name of the copyright holders nor the
21 names of its contributors may be used to endorse or promote products
22 derived from this software without specific prior written permission.
23
24 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
25 EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
28 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 */
35 /**************************************************************************/
36
37 #ifndef _PROJECTCONFIG_H_
38 #define _PROJECTCONFIG_H_
39
40 #include "lpc134x.h"
41 #include "sysdefs.h"
42
43 /*=========================================================================
44 BOARD SELECTION
45
46 Because several boards use this code library with sometimes slightly
47 different pin configuration, you will need to specify which board you
48 are using by enabling one of the following definitions. The code base
49 will then try to configure itself accordingly for that board.
50
51 CFG_BRD_LPC1343_REFDESIGN
52 =========================
53
54 microBuilder.eu LPC1343 Reference Design base board with
55 on-board peripherals initialised (EEPROM, USB or UART CLI, etc.)
56
57 This is the recommended starting point for new development
58 since it makes it easy to send printf output to USB CDC, access
59 the on-board EEPROM, etc.
60
61 CFG_BRD_LPC1343_REFDESIGN_MINIMAL
62 =================================
63
64 microBuilder.eu LPC1343 Reference Design base board with
65 only the most common peripherals initialised by default.
66
67 Results in smallest code since EEPROM, USB, etc., are not
68 initialised on startup. By default, only the following
69 peripherals are initialised by systemInit():
70
71 - CPU (Configures the PLL, etc.)
72 - GPIO
73 - SysTick Timer
74 - UART (with printf support) *
75
76 * Can be removed to save 0.8kb in debug and 0.3 kb in
77 release. Comment out 'CFG_PRINTF_UART' to disable it.
78
79 The code size can be further reduced by several KB by removing
80 any IRQ Handlers that are not used. The I2C IRQHandler, for
81 example, uses ~1KB of flash in debug and ~400KB in release mode,
82 but because it is referenced in the startup code it is always
83 included even if I2C is never used in the project.
84
85 Other IRQ Handlers that you might be able to comment out
86 to save some space are:
87
88 IRQ Handler Debug Release
89 ------------------------- ------ -------
90 I2C_IRQHandler 1160 b 400 b
91 SSP_IRQHandler 160 b 76 b
92 UART_IRQHandler 246 b 116 b
93 WAKEUP_IRQHandler 160 b 100 b
94 WDT_IRQHandler 50 b 28 b
95
96 CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
97 ====================================
98
99 microBuilder.eu/Adafruit Stand-Alone "Smart LCD" with USB enabled
100 for the CLI interface.
101
102 CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
103 =====================================
104
105 microBuilder.eu/Adafruit Stand-Alone "Smart LCD" with UART enabled
106 for the CLI interface.
107
108 CFG_BRD_LPC1343_802154USBSTICK
109 ==============================
110
111 microBuilder.eu USB stick 802.15.4 868/915MHz RF transceiver
112
113 -----------------------------------------------------------------------*/
114 #define CFG_BRD_LPC1343_REFDESIGN
115 // #define CFG_BRD_LPC1343_REFDESIGN_MINIMAL
116 // #define CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
117 // #define CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
118 // #define CFG_BRD_LPC1343_802154USBSTICK
119 // #define CFG_BRD_LPC1343_OLIMEX_P
120 /*=========================================================================*/
121
122
123 /**************************************************************************
124 PIN USAGE
125 -----------------------------------------------------------------------
126 This table tries to give an indication of which GPIO pins and
127 peripherals are used by the available drivers and SW examples. Only
128 dedicated GPIO pins available on the LPC1343 Reference Board are shown
129 below. Any unused peripheral blocks like I2C, SSP, ADC, etc., can
130 also be used as GPIO if they are available.
131
132 PORT 1 PORT 2 PORT 3
133 ========= ================= =======
134 8 9 10 11 1 2 3 4 5 6 7 8 9 0 1 2 3
135
136 SDCARD . . . . . . . . . . . . . X . . .
137 PWM . X . . . . . . . . . . . . . . .
138 STEPPER . . . . . . . . . . . . . X X X X
139 CHIBI X X X . . . . . . . . . . . . . .
140 ILI9325/8 X X X X X X X X X X X X X . . . X
141 ST7565 X X X X X X X X X X X X X . . . X
142 ST7735 . . . . X X X X X X . . . . . . .
143 SHARPMEM . . . . X X X X . . . . . . . . .
144 SSD1306 . . . . X X X . X X . . . . . . .
145 SSD1351 . . . . X X X X X . . . . . . . .
146 MCP121 . . . . . . . . . . . . . . X . .
147 PN532 [3] . . . . . . . . . . . . . . X X .
148
149 TIMERS SSP ADC UART
150 ====================== === ======= ====
151 16B0 16B1 32B0 32B1 0 0 1 2 3 0
152
153 SDCARD . . . . X . . . . .
154 PWM . X . . . . . . . .
155 PMU [1] . . X . . . . . . .
156 USB . . . X . . . . . .
157 STEPPER . . X . . . . . . .
158 CHIBI x . . . X . . . . .
159 ILI9325/8 . . . . . X X X X .
160 ST7565 . . . . . X X X X .
161 ST7535 . . . . . . . . . .
162 SHARPMEM . . . . . . . . . .
163 SSD1306 . . . . . . . . . .
164 INTERFACE . . . . . . . . . X[2]
165
166 [1] PMU uses 32-bit Timer 0 for SW wakeup from deep-sleep. This timer
167 can safely be used by other peripherals, but may need to be
168 reconfigured when you wakeup from deep-sleep.
169 [2] INTERFACE can be configured to use either USBCDC or UART
170 [3] 3.2 only used when with the I2C bus (for IRQ)
171
172 **************************************************************************/
173
174
175 /**************************************************************************
176 I2C Addresses
177 -----------------------------------------------------------------------
178 The following addresses are used by the different I2C sensors included
179 in the code base [1]
180
181 HEX BINARY
182 ==== ========
183 ISL12022M (RTC) 0xDE 1101111x
184 ISL12022M (SRAM) 0xAE 1010111x
185 LM75B 0x90 1001000x
186 MCP24AA 0xA0 1010000x
187 MCP4725 0xC0 1100000x
188 TSL2561 0x72 0111001x
189 TCS3414 0x72 0111001x
190 PN532 0x48 0100100x
191
192 [1] Alternative addresses may exists, but the addresses listed in this
193 table are the values used in the code base
194
195 **************************************************************************/
196
197
198 /*=========================================================================
199 FIRMWARE VERSION SETTINGS
200 -----------------------------------------------------------------------*/
201 #define CFG_FIRMWARE_VERSION_MAJOR (1)
202 #define CFG_FIRMWARE_VERSION_MINOR (0)
203 #define CFG_FIRMWARE_VERSION_REVISION (0)
204 /*=========================================================================*/
205
206
207 /*=========================================================================
208 CORE CPU SETTINGS
209 -----------------------------------------------------------------------
210
211 CFG_CPU_CCLK Value is for reference only. 'core/cpu/cpu.c' must
212 be modified to change the clock speed, but the value
213 should be indicated here since CFG_CPU_CCLK is used by
214 other peripherals to determine timing.
215
216 -----------------------------------------------------------------------*/
217 #define CFG_CPU_CCLK (72000000) // 1 tick = 13.88nS
218 /*=========================================================================*/
219
220
221 /*=========================================================================
222 SYSTICK TIMER
223 -----------------------------------------------------------------------
224
225 CFG_SYSTICK_DELAY_IN_MS The number of milliseconds between each tick
226 of the systick timer.
227
228 -----------------------------------------------------------------------*/
229 #define CFG_SYSTICK_DELAY_IN_MS (1)
230 /*=========================================================================*/
231
232
233 /*=========================================================================
234 GPIO INTERRUPTS
235 -----------------------------------------------------------------------
236
237 IF you wish to use the GPIO interrupt handlers elsewhere in your code,
238 you should probably define a seperate IRQHandler for the appropriate
239 GPIO bank rather than using the definitions in core/gpio/gpio.c (to
240 avoid causing problems in other projects, and to make updates easier,
241 etc.) To disable the default IRQHandler, simply comment out the
242 define below for the appropriate GPIO bank and implement the handler
243 somewhere else.
244
245 GPIO_ENABLE_IRQ0 If defined, PIOINT0_IRQHandler will be declared and
246 handled in core/gpio/gpio.c
247 GPIO_ENABLE_IRQ1 If defined, PIOINT1_IRQHandler will be declared and
248 handled in core/gpio/gpio.c
249 GPIO_ENABLE_IRQ2 If defined, PIOINT2_IRQHandler will be declared and
250 handled in core/gpio/gpio.c
251 GPIO_ENABLE_IRQ3 If defined, PIOINT3_IRQHandler will be declared and
252 handled in core/gpio/gpio.c
253
254 -----------------------------------------------------------------------*/
255 #ifdef CFG_BRD_LPC1343_REFDESIGN
256 // #define GPIO_ENABLE_IRQ0
257 #define GPIO_ENABLE_IRQ1
258 // #define GPIO_ENABLE_IRQ2
259 // #define GPIO_ENABLE_IRQ3
260 #endif
261
262 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
263 // #define GPIO_ENABLE_IRQ0
264 #define GPIO_ENABLE_IRQ1
265 // #define GPIO_ENABLE_IRQ2
266 // #define GPIO_ENABLE_IRQ3
267 #endif
268
269 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
270 // #define GPIO_ENABLE_IRQ0
271 #define GPIO_ENABLE_IRQ1
272 // #define GPIO_ENABLE_IRQ2
273 // #define GPIO_ENABLE_IRQ3
274 #endif
275
276 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
277 // #define GPIO_ENABLE_IRQ0
278 #define GPIO_ENABLE_IRQ1
279 // #define GPIO_ENABLE_IRQ2
280 // #define GPIO_ENABLE_IRQ3
281 #endif
282
283 #ifdef CFG_BRD_LPC1343_802154USBSTICK
284 // #define GPIO_ENABLE_IRQ0
285 #define GPIO_ENABLE_IRQ1
286 // #define GPIO_ENABLE_IRQ2
287 // #define GPIO_ENABLE_IRQ3
288 #endif
289
290 #ifdef CFG_BRD_LPC1343_OLIMEX_P
291 // #define GPIO_ENABLE_IRQ0
292 #define GPIO_ENABLE_IRQ1
293 // #define GPIO_ENABLE_IRQ2
294 // #define GPIO_ENABLE_IRQ3
295 #endif
296 /*=========================================================================*/
297
298
299 /*=========================================================================
300 ALTERNATE RESET PIN
301 -----------------------------------------------------------------------
302
303 CFG_ALTRESET If defined, indicates that a GPIO pin should be
304 configured as an alternate reset pin in addition
305 to the dedicated reset pin.
306 CFG_ALTRESET_PORT The GPIO port where the alt reset pin is located
307 CFG_ALTRESET_PIN The GPIO pin where the alt reset pin is located
308
309 -----------------------------------------------------------------------*/
310 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
311 #define CFG_ALTRESET
312 #define CFG_ALTRESET_PORT (1)
313 #define CFG_ALTRESET_PIN (5) // P1.5 = RTS
314 #endif
315 /*=========================================================================*/
316
317
318 /*=========================================================================
319 UART
320 -----------------------------------------------------------------------
321
322 CFG_UART_BAUDRATE The default UART speed. This value is used
323 when initialising UART, and should be a
324 standard value like 57600, 9600, etc.
325 NOTE: This value may be overridden if
326 another value is stored in EEPROM!
327 CFG_UART_BUFSIZE The length in bytes of the UART RX FIFO. This
328 will determine the maximum number of received
329 characters to store in memory.
330
331 -----------------------------------------------------------------------*/
332 #ifdef CFG_BRD_LPC1343_REFDESIGN
333 #define CFG_UART_BAUDRATE (115200)
334 #define CFG_UART_BUFSIZE (512)
335 #endif
336
337 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
338 #define CFG_UART_BAUDRATE (115200)
339 #define CFG_UART_BUFSIZE (512)
340 #endif
341
342 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
343 #define CFG_UART_BAUDRATE (115200)
344 #define CFG_UART_BUFSIZE (512)
345 #endif
346
347 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
348 #define CFG_UART_BAUDRATE (57600)
349 #define CFG_UART_BUFSIZE (512)
350 #endif
351
352 #ifdef CFG_BRD_LPC1343_802154USBSTICK
353 #define CFG_UART_BAUDRATE (115200)
354 #define CFG_UART_BUFSIZE (512)
355 #endif
356
357 #ifdef CFG_BRD_LPC1343_OLIMEX_P
358 #define CFG_UART_BAUDRATE (115200)
359 #define CFG_UART_BUFSIZE (512)
360 #endif
361 /*=========================================================================*/
362
363
364 /*=========================================================================
365 SSP
366 -----------------------------------------------------------------------
367
368 CFG_SSP0_SCKPIN_2_11 Indicates which pin should be used for SCK0
369 CFG_SSP0_SCKPIN_0_6
370
371 -----------------------------------------------------------------------*/
372 #ifdef CFG_BRD_LPC1343_REFDESIGN
373 #define CFG_SSP0_SCKPIN_2_11
374 // #define CFG_SSP0_SCKPIN_0_6
375 #endif
376
377 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
378 #define CFG_SSP0_SCKPIN_2_11
379 // #define CFG_SSP0_SCKPIN_0_6
380 #endif
381
382 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
383 #define CFG_SSP0_SCKPIN_2_11
384 // #define CFG_SSP0_SCKPIN_0_6
385 #endif
386
387 #ifdef CFG_BRD_LPC1343_802154USBSTICK
388 // #define CFG_SSP0_SCKPIN_2_11
389 #define CFG_SSP0_SCKPIN_0_6
390 #endif
391
392 #ifdef CFG_BRD_LPC1343_OLIMEX_P
393 #define CFG_SSP0_SCKPIN_2_11
394 // #define CFG_SSP0_SCKPIN_0_6
395 #endif
396 /*=========================================================================*/
397
398
399 /*=========================================================================
400 ADC
401 -----------------------------------------------------------------------
402
403 ADC_AVERAGING_ENABLE To get better results, the ADC code can take
404 a number of samples and return the average
405 value. This is slower, but can give more
406 accurate results compared to single-reading.
407
408 To enable averaging, set ADC_AVERAGING_ENABLE
409 to a non-zero value.
410 ADC_AVERAGING_SAMPLES The number of ADC samples to read and
411 average if ADC averaging is enabled.
412
413 -----------------------------------------------------------------------*/
414 #ifdef CFG_BRD_LPC1343_REFDESIGN
415 #define ADC_AVERAGING_ENABLE (1)
416 #define ADC_AVERAGING_SAMPLES (5)
417 #endif
418
419 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
420 #define ADC_AVERAGING_ENABLE (1)
421 #define ADC_AVERAGING_SAMPLES (5)
422 #endif
423
424 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
425 #define ADC_AVERAGING_ENABLE (0)
426 #define ADC_AVERAGING_SAMPLES (5)
427 #endif
428
429 #ifdef CFG_BRD_LPC1343_802154USBSTICK
430 #define ADC_AVERAGING_ENABLE (0)
431 #define ADC_AVERAGING_SAMPLES (5)
432 #endif
433
434 #ifdef CFG_BRD_LPC1343_OLIMEX_P
435 #define ADC_AVERAGING_ENABLE (0)
436 #define ADC_AVERAGING_SAMPLES (5)
437 #endif
438 /*=========================================================================*/
439
440
441 /*=========================================================================
442 ON-BOARD LED
443 -----------------------------------------------------------------------
444
445 CFG_LED_PORT The port for the on board LED
446 CFG_LED_PIN The pin for the on board LED
447 CFG_LED_ON The pin state to turn the LED on (0 = low, 1 = high)
448 CFG_LED_OFF The pin state to turn the LED off (0 = low, 1 = high)
449
450 -----------------------------------------------------------------------*/
451 #ifdef CFG_BRD_LPC1343_REFDESIGN
452 #define CFG_LED_PORT (2)
453 #define CFG_LED_PIN (10)
454 #define CFG_LED_ON (0)
455 #define CFG_LED_OFF (1)
456 #endif
457
458 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
459 #define CFG_LED_PORT (2)
460 #define CFG_LED_PIN (10)
461 #define CFG_LED_ON (0)
462 #define CFG_LED_OFF (1)
463 #endif
464
465 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
466 #define CFG_LED_PORT (2)
467 #define CFG_LED_PIN (10)
468 #define CFG_LED_ON (0)
469 #define CFG_LED_OFF (1)
470 #endif
471
472 #ifdef CFG_BRD_LPC1343_802154USBSTICK
473 #define CFG_LED_PORT (3)
474 #define CFG_LED_PIN (2)
475 #define CFG_LED_ON (0)
476 #define CFG_LED_OFF (1)
477 #endif
478
479 #ifdef CFG_BRD_LPC1343_OLIMEX_P
480 #define CFG_LED_PORT (3)
481 #define CFG_LED_PIN (2)
482 #define CFG_LED_ON (0)
483 #define CFG_LED_OFF (1)
484 #endif
485 /*=========================================================================*/
486
487
488 /*=========================================================================
489 MICRO-SD CARD
490 -----------------------------------------------------------------------
491
492 CFG_SDCARD If this field is defined SD Card and FAT32
493 file system support will be included
494 CFG_SDCARD_READONLY If this is set to 1, all commands to
495 write to the SD card will be removed
496 saving some flash space.
497 CFG_SDCARD_CDPORT The card detect port number
498 CFG_SDCARD_CDPIN The card detect pin number
499
500 NOTE: All config settings for FAT32 are defined
501 in ffconf.h
502
503 BENCHMARK: With SPI set to 6.0MHz, FATFS can read
504 ~300KB/s (w/512 byte read buffer)
505
506 PIN LAYOUT: The pin layout that is used by this driver
507 can be seen in the following schematic:
508 /tools/schematics/Breakout_TFTLCD_ILI9325_v1.3
509
510 DEPENDENCIES: SDCARD requires the use of SSP0.
511 -----------------------------------------------------------------------*/
512 #ifdef CFG_BRD_LPC1343_REFDESIGN
513 // #define CFG_SDCARD
514 #define CFG_SDCARD_READONLY (1) // Must be 0 or 1
515 #define CFG_SDCARD_CDPORT (3)
516 #define CFG_SDCARD_CDPIN (0)
517 #endif
518
519 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
520 // #define CFG_SDCARD
521 #define CFG_SDCARD_READONLY (1) // Must be 0 or 1
522 #define CFG_SDCARD_CDPORT (3)
523 #define CFG_SDCARD_CDPIN (0)
524 #endif
525
526 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
527 #define CFG_SDCARD
528 #define CFG_SDCARD_READONLY (1) // Must be 0 or 1
529 #define CFG_SDCARD_CDPORT (3)
530 #define CFG_SDCARD_CDPIN (0)
531 #endif
532
533 #ifdef CFG_BRD_LPC1343_802154USBSTICK
534 // #define CFG_SDCARD
535 #define CFG_SDCARD_READONLY (1) // Must be 0 or 1
536 #define CFG_SDCARD_CDPORT (3)
537 #define CFG_SDCARD_CDPIN (0)
538 #endif
539
540 #ifdef CFG_BRD_LPC1343_OLIMEX_P
541 // #define CFG_SDCARD
542 #define CFG_SDCARD_READONLY (1) // Must be 0 or 1
543 #define CFG_SDCARD_CDPORT (3)
544 #define CFG_SDCARD_CDPIN (0)
545 #endif
546 /*=========================================================================*/
547
548
549 /*=========================================================================
550 USB
551 -----------------------------------------------------------------------
552
553 CFG_USBHID If this field is defined USB HID support will
554 be included. Currently uses ROM-based USB HID
555 CFG_USBCDC If this field is defined USB CDC support will
556 be included, with the USB Serial Port speed
557 set to 115200 BPS by default
558 CFG_USBCDC_BAUDRATE The default TX/RX speed. This value is used
559 when initialising USBCDC, and should be a
560 standard value like 57600, 9600, etc.
561 CFG_USBCDC_INITTIMEOUT The maximum delay in milliseconds to wait for
562 USB to connect. Must be a multiple of 10!
563 CFG_USBCDC_BUFFERSIZE Size of the buffer (in bytes) that stores
564 printf data until it can be sent out in
565 64 byte frames. The buffer is required since
566 only one frame per ms can be sent using USB
567 CDC (see 'puts' in systeminit.c).
568
569 -----------------------------------------------------------------------*/
570 #define CFG_USB_VID (0x239A)
571 #define CFG_USB_PID (0x1002)
572
573 #ifdef CFG_BRD_LPC1343_REFDESIGN
574 // #define CFG_USBHID
575 #define CFG_USBCDC
576 #define CFG_USBCDC_BAUDRATE (115200)
577 #define CFG_USBCDC_INITTIMEOUT (5000)
578 #define CFG_USBCDC_BUFFERSIZE (256)
579 #endif
580
581 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
582 // #define CFG_USBHID
583 // #define CFG_USBCDC
584 #define CFG_USBCDC_BAUDRATE (115200)
585 #define CFG_USBCDC_INITTIMEOUT (5000)
586 #define CFG_USBCDC_BUFFERSIZE (256)
587 #endif
588
589 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
590 // #define CFG_USBHID
591 #define CFG_USBCDC
592 #define CFG_USBCDC_BAUDRATE (115200)
593 #define CFG_USBCDC_INITTIMEOUT (5000)
594 #define CFG_USBCDC_BUFFERSIZE (256)
595 #endif
596
597 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
598 // #define CFG_USBHID
599 // #define CFG_USBCDC
600 #define CFG_USBCDC_BAUDRATE (57600)
601 #define CFG_USBCDC_INITTIMEOUT (5000)
602 #define CFG_USBCDC_BUFFERSIZE (256)
603 #endif
604
605 #ifdef CFG_BRD_LPC1343_802154USBSTICK
606 // #define CFG_USBHID
607 #define CFG_USBCDC
608 #define CFG_USBCDC_BAUDRATE (115200)
609 #define CFG_USBCDC_INITTIMEOUT (5000)
610 #define CFG_USBCDC_BUFFERSIZE (256)
611 #endif
612
613 #ifdef CFG_BRD_LPC1343_OLIMEX_P
614 // #define CFG_USBHID
615 #define CFG_USBCDC
616 #define CFG_USBCDC_BAUDRATE (115200)
617 #define CFG_USBCDC_INITTIMEOUT (5000)
618 #define CFG_USBCDC_BUFFERSIZE (256)
619 #endif
620 /*=========================================================================*/
621
622
623 /*=========================================================================
624 PRINTF REDIRECTION
625 -----------------------------------------------------------------------
626
627 CFG_PRINTF_MAXSTRINGSIZE Maximum size of string buffer for printf
628 CFG_PRINTF_UART Will cause all printf statements to be
629 redirected to UART
630 CFG_PRINTF_USBCDC Will cause all printf statements to be
631 redirect to USB Serial
632 CFG_PRINTF_NEWLINE This is typically "\r\n" for Windows or
633 "\n" for *nix
634
635 Note: If no printf redirection definitions are present, all printf
636 output will be ignored.
637 -----------------------------------------------------------------------*/
638 #ifdef CFG_BRD_LPC1343_REFDESIGN
639 #define CFG_PRINTF_MAXSTRINGSIZE (255)
640 // #define CFG_PRINTF_UART
641 #define CFG_PRINTF_USBCDC
642 #define CFG_PRINTF_NEWLINE "\r\n"
643 #endif
644
645 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
646 #define CFG_PRINTF_MAXSTRINGSIZE (255)
647 #define CFG_PRINTF_UART
648 // #define CFG_PRINTF_USBCDC
649 #define CFG_PRINTF_NEWLINE "\r\n"
650 #endif
651
652 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
653 #define CFG_PRINTF_MAXSTRINGSIZE (255)
654 // #define CFG_PRINTF_UART
655 #define CFG_PRINTF_USBCDC
656 #define CFG_PRINTF_NEWLINE "\r\n"
657 #endif
658
659 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
660 #define CFG_PRINTF_MAXSTRINGSIZE (255)
661 #define CFG_PRINTF_UART
662 // #define CFG_PRINTF_USBCDC
663 #define CFG_PRINTF_NEWLINE "\n"
664 #endif
665
666 #ifdef CFG_BRD_LPC1343_802154USBSTICK
667 #define CFG_PRINTF_MAXSTRINGSIZE (255)
668 // #define CFG_PRINTF_UART
669 #define CFG_PRINTF_USBCDC
670 #define CFG_PRINTF_NEWLINE "\r\n"
671 #endif
672
673 #ifdef CFG_BRD_LPC1343_OLIMEX_P
674 #define CFG_PRINTF_MAXSTRINGSIZE (255)
675 // #define CFG_PRINTF_UART
676 #define CFG_PRINTF_USBCDC
677 #define CFG_PRINTF_NEWLINE "\r\n"
678 #endif
679 /*=========================================================================*/
680
681
682 /*=========================================================================
683 COMMAND LINE INTERFACE
684 -----------------------------------------------------------------------
685
686 CFG_INTERFACE If this field is defined the UART or USBCDC
687 based command-line interface will be included
688 CFG_INTERFACE_MAXMSGSIZE The maximum number of bytes to accept for an
689 incoming command
690 CFG_INTERFACE_PROMPT The command prompt to display at the start
691 of every new data entry line
692 CFG_INTERFACE_SILENTMODE If this is set to 1 only text generated in
693 response to commands will be send to the
694 output buffer. The command prompt will not
695 be displayed and incoming text will not be
696 echoed back to the output buffer (allowing
697 you to see the text you have input). This
698 is normally only desirable in a situation
699 where another MCU is communicating with
700 the LPC1343.
701 CFG_INTERFACE_DROPCR If this is set to 1 all incoming \r
702 characters will be dropped
703 CFG_INTERFACE_ENABLEIRQ If this is set to 1 the IRQ pin will be
704 set high when a command starts executing
705 and will go low when the command has
706 finished executing or the LCD is not busy.
707 This allows another device to know when a
708 new command can safely be sent.
709 CFG_INTERFACE_IRQPORT The gpio port for the IRQ/busy pin
710 CFG_INTERFACE_IRQPIN The gpio pin number for the IRQ/busy pin
711 CFG_INTERFACE_SHORTERRORS If this is enabled only short 1 character
712 error messages will be returned (followed
713 by CFG_PRINTF_NEWLINE), rather than more
714 verbose error messages. The specific
715 characters used are defined below.
716 CFG_INTERFACE_CONFIRMREADY If this is set to 1 a text confirmation
717 will be sent when the command prompt is
718 ready for a new command. This is in
719 addition to CFG_INTERFACE_ENABLEIRQ if
720 this is also enabled. The character used
721 is defined below.
722
723 NOTE: The command-line interface will use either
724 USB-CDC or UART depending on whether
725 CFG_PRINTF_UART or CFG_PRINTF_USBCDC are
726 selected.
727 -----------------------------------------------------------------------*/
728 #ifdef CFG_BRD_LPC1343_REFDESIGN
729 #define CFG_INTERFACE
730 #define CFG_INTERFACE_MAXMSGSIZE (256)
731 #define CFG_INTERFACE_PROMPT "LPC1343 >> "
732 #define CFG_INTERFACE_SILENTMODE (0)
733 #define CFG_INTERFACE_DROPCR (0)
734 #define CFG_INTERFACE_ENABLEIRQ (0)
735 #define CFG_INTERFACE_IRQPORT (0)
736 #define CFG_INTERFACE_IRQPIN (7)
737 #define CFG_INTERFACE_SHORTERRORS (0)
738 #define CFG_INTERFACE_CONFIRMREADY (0)
739 #endif
740
741 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
742 // #define CFG_INTERFACE
743 #define CFG_INTERFACE_MAXMSGSIZE (256)
744 #define CFG_INTERFACE_PROMPT "LPC1343 >> "
745 #define CFG_INTERFACE_SILENTMODE (0)
746 #define CFG_INTERFACE_DROPCR (0)
747 #define CFG_INTERFACE_ENABLEIRQ (0)
748 #define CFG_INTERFACE_IRQPORT (0)
749 #define CFG_INTERFACE_IRQPIN (7)
750 #define CFG_INTERFACE_SHORTERRORS (0)
751 #define CFG_INTERFACE_CONFIRMREADY (0)
752 #endif
753
754 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB
755 #define CFG_INTERFACE
756 #define CFG_INTERFACE_MAXMSGSIZE (256)
757 #define CFG_INTERFACE_PROMPT "CMD >> "
758 #define CFG_INTERFACE_SILENTMODE (0)
759 #define CFG_INTERFACE_DROPCR (0)
760 #define CFG_INTERFACE_ENABLEIRQ (0)
761 #define CFG_INTERFACE_IRQPORT (0)
762 #define CFG_INTERFACE_IRQPIN (7)
763 #define CFG_INTERFACE_SHORTERRORS (0)
764 #define CFG_INTERFACE_CONFIRMREADY (0)
765 #define CFG_INTERFACE_SHORTERRORS_UNKNOWNCOMMAND "?"
766 #define CFG_INTERFACE_SHORTERRORS_TOOMANYARGS ">"
767 #define CFG_INTERFACE_SHORTERRORS_TOOFEWARGS "<"
768 #define CFG_INTERFACE_CONFIRMREADY_TEXT "."
769 #endif
770
771 #ifdef CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
772 #define CFG_INTERFACE
773 #define CFG_INTERFACE_MAXMSGSIZE (256)
774 #define CFG_INTERFACE_PROMPT ">>"
775 #define CFG_INTERFACE_SILENTMODE (1)
776 #define CFG_INTERFACE_DROPCR (1)
777 #define CFG_INTERFACE_ENABLEIRQ (1)
778 #define CFG_INTERFACE_IRQPORT (0)
779 #define CFG_INTERFACE_IRQPIN (7)
780 #define CFG_INTERFACE_SHORTERRORS (1)
781 #define CFG_INTERFACE_CONFIRMREADY (0)
782 #define CFG_INTERFACE_SHORTERRORS_UNKNOWNCOMMAND "?"
783 #define CFG_INTERFACE_SHORTERRORS_TOOMANYARGS ">"
784 #define CFG_INTERFACE_SHORTERRORS_TOOFEWARGS "<"
785 #define CFG_INTERFACE_CONFIRMREADY_TEXT "."
786 #endif
787
788 #ifdef CFG_BRD_LPC1343_802154USBSTICK
789 // #define CFG_INTERFACE
790 #define CFG_INTERFACE_MAXMSGSIZE (256)
791 #define CFG_INTERFACE_PROMPT "CMD >> "
792 #define CFG_INTERFACE_SILENTMODE (0)
793 #define CFG_INTERFACE_DROPCR (0)
794 #define CFG_INTERFACE_ENABLEIRQ (0)
795 #define CFG_INTERFACE_IRQPORT (0)
796 #define CFG_INTERFACE_IRQPIN (7)
797 #define CFG_INTERFACE_SHORTERRORS (0)
798 #define CFG_INTERFACE_CONFIRMREADY (0)
799 #endif
800
801 #ifdef CFG_BRD_LPC1343_OLIMEX_P
802 #define CFG_INTERFACE
803 #define CFG_INTERFACE_MAXMSGSIZE (256)
804 #define CFG_INTERFACE_PROMPT "LPC-P1343 >> "
805 #define CFG_INTERFACE_SILENTMODE (0)
806 #define CFG_INTERFACE_DROPCR (0)
807 #define CFG_INTERFACE_ENABLEIRQ (0)
808 #define CFG_INTERFACE_IRQPORT (0)
809 #define CFG_INTERFACE_IRQPIN (7)
810 #define CFG_INTERFACE_SHORTERRORS (0)
811 #define CFG_INTERFACE_CONFIRMREADY (0)
812 #endif
813 /*=========================================================================*/
814
815
816 /*=========================================================================
817 PWM SETTINGS
818 -----------------------------------------------------------------------
819
820 CFG_PWM If this is defined, a basic PWM driver
821 will be included using 16-bit Timer 1 and
822 Pin 1.9 (MAT0) for the PWM output. In
823 order to allow for a fixed number of
824 pulses to be generated, some PWM-specific
825 code is required in the 16-Bit Timer 1
826 ISR. See "core/timer16/timer16.c" for
827 more information.
828 CFG_PWM_DEFAULT_PULSEWIDTH The default pulse width in ticks
829 CFG_PWM_DEFAULT_DUTYCYCLE The default duty cycle in percent
830
831 DEPENDENCIES: PWM output requires the use of 16-bit
832 timer 1 and pin 1.9 (CT16B1_MAT0).
833 -----------------------------------------------------------------------*/
834 // #define CFG_PWM
835 #define CFG_PWM_DEFAULT_PULSEWIDTH (CFG_CPU_CCLK / 1000)
836 #define CFG_PWM_DEFAULT_DUTYCYCLE (50)
837 /*=========================================================================*/
838
839
840 /*=========================================================================
841 STEPPER MOTOR SETTINGS
842 -----------------------------------------------------------------------
843
844 CFG_STEPPER If this is defined, a simple bi-polar
845 stepper motor will be included for common
846 H-bridge chips like the L293D or SN754410N
847
848 DEPENDENCIES: STEPPER requires the use of pins 3.0-3 and
849 32-bit Timer 0.
850 -----------------------------------------------------------------------*/
851 // #define CFG_STEPPER
852 /*=========================================================================*/
853
854
855 /*=========================================================================
856 EEPROM
857 -----------------------------------------------------------------------
858
859 CFG_I2CEEPROM If defined, drivers for the onboard EEPROM
860 will be included during build
861 CFG_I2CEEPROM_SIZE The number of bytes available on the EEPROM
862
863 -----------------------------------------------------------------------*/
864 #ifdef CFG_BRD_LPC1343_REFDESIGN
865 #define CFG_I2CEEPROM
866 #define CFG_I2CEEPROM_SIZE (3072)
867 #endif
868
869 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
870 // #define CFG_I2CEEPROM
871 #define CFG_I2CEEPROM_SIZE (3072)
872 #endif
873
874 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
875 #define CFG_I2CEEPROM
876 #define CFG_I2CEEPROM_SIZE (3072)
877 #endif
878
879 #ifdef CFG_BRD_LPC1343_802154USBSTICK
880 #define CFG_I2CEEPROM
881 #define CFG_I2CEEPROM_SIZE (3072)
882 #endif
883
884 #ifdef CFG_BRD_LPC1343_OLIMEX_P
885 // #define CFG_I2CEEPROM
886 #define CFG_I2CEEPROM_SIZE (3072)
887 #endif
888 /*=========================================================================*/
889
890
891 /*=========================================================================
892 EEPROM MEMORY MAP
893 -----------------------------------------------------------------------
894 EEPROM is used to persist certain user modifiable values to make
895 sure that these changes remain in effect after a reset or hard
896 power-down. The addresses in EEPROM for these various system
897 settings/values are defined below. The first 256 bytes of EEPROM
898 are reserved for this (0x0000..0x00FF).
899
900 CFG_EEPROM_RESERVED The last byte of reserved EEPROM memory
901
902 EEPROM Address (0x0000..0x00FF)
903 ===============================
904 0 1 2 3 4 5 6 7 8 9 A B C D E F
905 000x x x x x x x x x . x x . . . . . Chibi
906 001x . . . . . . . . . . . . . . . .
907 002x x x x x . . . . . . . . . . . . UART
908 003x x x x x x x x x x x x x x x x x Touch Screen Calibration
909 004x x x x x x x x x x x x x x x . . Touch Screen Calibration
910 005x . . . . . . . . . . . . . . . .
911 006x . . . . . . . . . . . . . . . .
912 007x . . . . . . . . . . . . . . . .
913 008x . . . . . . . . . . . . . . . .
914 009x . . . . . . . . . . . . . . . .
915 00Ax . . . . . . . . . . . . . . . .
916 00Bx . . . . . . . . . . . . . . . .
917 00Cx . . . . . . . . . . . . . . . .
918 00Dx . . . . . . . . . . . . . . . .
919 00Ex . . . . . . . . . . . . . . . .
920 00Fx . . . . . . . . . . . . . . . .
921
922 -----------------------------------------------------------------------*/
923 #define CFG_EEPROM_RESERVED (0x00FF) // Protect first 256 bytes of memory
924 #define CFG_EEPROM_CHIBI_IEEEADDR (uint16_t)(0x0000) // 8
925 #define CFG_EEPROM_CHIBI_SHORTADDR (uint16_t)(0x0009) // 2
926 #define CFG_EEPROM_UART_SPEED (uint16_t)(0x0020) // 4
927 #define CFG_EEPROM_TOUCHSCREEN_CALIBRATED (uint16_t)(0x0030) // 1
928 #define CFG_EEPROM_TOUCHSCREEN_CAL_AN (uint16_t)(0x0031) // 4
929 #define CFG_EEPROM_TOUCHSCREEN_CAL_BN (uint16_t)(0x0035) // 4
930 #define CFG_EEPROM_TOUCHSCREEN_CAL_CN (uint16_t)(0x0039) // 4
931 #define CFG_EEPROM_TOUCHSCREEN_CAL_DN (uint16_t)(0x003D) // 4
932 #define CFG_EEPROM_TOUCHSCREEN_CAL_EN (uint16_t)(0x0041) // 4
933 #define CFG_EEPROM_TOUCHSCREEN_CAL_FN (uint16_t)(0x0045) // 4
934 #define CFG_EEPROM_TOUCHSCREEN_CAL_DIVIDER (uint16_t)(0x0049) // 4
935 #define CFG_EEPROM_TOUCHSCREEN_THRESHHOLD (uint16_t)(0x004D) // 1
936 /*=========================================================================*/
937
938
939 /*=========================================================================
940 LM75B TEMPERATURE SENSOR
941 -----------------------------------------------------------------------
942
943 CFG_LM75B If defined, drivers for an optional LM75B
944 temperature sensor will be included during
945 build (requires external HW)
946
947 -----------------------------------------------------------------------*/
948 // #define CFG_LM75B
949 /*=========================================================================*/
950
951
952 /*=========================================================================
953 CHIBI WIRELESS STACK
954 -----------------------------------------------------------------------
955
956 CFG_CHIBI If defined, the CHIBI wireless stack will be
957 included during build. Requires external HW.
958 CFG_CHIBI_MODE The mode to use when receiving and transmitting
959 wireless data. See chb_drvr.h for possible values
960 CFG_CHIBI_POWER The power level to use when transmitting. See
961 chb_drvr.h for possible values
962 CFG_CHIBI_CHANNEL 802.15.4 Channel (0 = 868MHz, 1-10 = 915MHz)
963 CFG_CHIBI_PANID 16-bit PAN Identifier (ex.0x1234)
964 CFG_CHIBI_PROMISCUOUS Set to 1 to enabled promiscuous mode or
965 0 to disable it. If promiscuous mode is
966 enabled be sure to set CFG_CHIBI_BUFFERSIZE
967 to an appropriately large value (ex. 1024)
968 CFG_CHIBI_BUFFERSIZE The size of the message buffer in bytes
969
970 DEPENDENCIES: Chibi requires the use of SSP0, 16-bit timer
971 0 and pins 3.1, 3.2, 3.3. It also requires
972 the presence of CFG_I2CEEPROM.
973
974 NOTE: These settings are not relevant to all boards!
975 'tools/schematics/AT86RF212LPC1114_v1.6.pdf'
976 show how 'CHIBI' is meant to be connected
977 -----------------------------------------------------------------------*/
978 #ifdef CFG_BRD_LPC1343_REFDESIGN
979 // #define CFG_CHIBI
980 #define CFG_CHIBI_MODE (0) // OQPSK_868MHZ
981 #define CFG_CHIBI_POWER (0xE9) // CHB_PWR_EU2_3DBM
982 #define CFG_CHIBI_CHANNEL (0) // 868-868.6 MHz
983 #define CFG_CHIBI_PANID (0x1234)
984 #define CFG_CHIBI_PROMISCUOUS (0)
985 #define CFG_CHIBI_BUFFERSIZE (128)
986 #endif
987
988 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
989 // #define CFG_CHIBI
990 #define CFG_CHIBI_MODE (0) // OQPSK_868MHZ
991 #define CFG_CHIBI_POWER (0xE9) // CHB_PWR_EU2_3DBM
992 #define CFG_CHIBI_CHANNEL (0) // 868-868.6 MHz
993 #define CFG_CHIBI_PANID (0x1234)
994 #define CFG_CHIBI_PROMISCUOUS (0)
995 #define CFG_CHIBI_BUFFERSIZE (128)
996 #endif
997
998 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
999 // #define CFG_CHIBI
1000 #define CFG_CHIBI_MODE (0) // OQPSK_868MHZ
1001 #define CFG_CHIBI_POWER (0xE9) // CHB_PWR_EU2_3DBM
1002 #define CFG_CHIBI_CHANNEL (0) // 868-868.6 MHz
1003 #define CFG_CHIBI_PANID (0x1234)
1004 #define CFG_CHIBI_PROMISCUOUS (0)
1005 #define CFG_CHIBI_BUFFERSIZE (128)
1006 #endif
1007
1008 #ifdef CFG_BRD_LPC1343_802154USBSTICK
1009 #define CFG_CHIBI
1010 #define CFG_CHIBI_MODE (0) // OQPSK_868MHZ
1011 #define CFG_CHIBI_POWER (0xE9) // CHB_PWR_EU2_3DBM
1012 #define CFG_CHIBI_CHANNEL (0) // 868-868.6 MHz
1013 #define CFG_CHIBI_PANID (0x1234)
1014 #define CFG_CHIBI_PROMISCUOUS (0)
1015 #define CFG_CHIBI_BUFFERSIZE (1024)
1016 #endif
1017
1018 #ifdef CFG_BRD_LPC1343_OLIMEX_P
1019 // #define CFG_CHIBI
1020 #define CFG_CHIBI_MODE (0) // OQPSK_868MHZ
1021 #define CFG_CHIBI_POWER (0xE9) // CHB_PWR_EU2_3DBM
1022 #define CFG_CHIBI_CHANNEL (0) // 868-868.6 MHz
1023 #define CFG_CHIBI_PANID (0x1234)
1024 #define CFG_CHIBI_PROMISCUOUS (0)
1025 #define CFG_CHIBI_BUFFERSIZE (128)
1026 #endif
1027 /*=========================================================================*/
1028
1029
1030 /*=========================================================================
1031 TFT LCD
1032 -----------------------------------------------------------------------
1033
1034 CFG_TFTLCD If defined, this will cause drivers for
1035 a pre-determined LCD screen to be included
1036 during build. Only one LCD driver can be
1037 included during the build process (for ex.
1038 'drivers/displays/hw/ILI9325.c')
1039 CFG_TFTLCD_INCLUDESMALLFONTS If set to 1, smallfont support will be
1040 included for 3x6, 5x8, 7x8 and 8x8 fonts.
1041 This should only be enabled if these small
1042 fonts are required since there is already
1043 support for larger fonts generated with
1044 Dot Factory
1045 http://www.pavius.net/downloads/tools/53-the-dot-factory
1046 CFG_TFTLCD_TS_DEFAULTTHRESHOLD Default minimum threshold to trigger a
1047 touch event with the touch screen (and exit
1048 from 'tsWaitForEvent' in touchscreen.c).
1049 Should be an 8-bit value somewhere between
1050 8 and 75 in normal circumstances. This is
1051 the default value and may be overriden by
1052 a value stored in EEPROM.
1053 CFG_TFTLCD_TS_KEYPADDELAY The delay in milliseconds between key
1054 presses in dialogue boxes
1055
1056 PIN LAYOUT: The pin layout that is used by this driver
1057 can be seen in the following schematic:
1058 /tools/schematics/Breakout_TFTLCD_ILI9325_v1.3
1059
1060 DEPENDENCIES: TFTLCD requires the use of pins 1.8, 1.9,
1061 1.10, 1.11, 3.3 and 2.1-9.
1062 -----------------------------------------------------------------------*/
1063 #ifdef CFG_BRD_LPC1343_REFDESIGN
1064 // #define CFG_TFTLCD
1065 #define CFG_TFTLCD_INCLUDESMALLFONTS (0)
1066 #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
1067 #define CFG_TFTLCD_TS_KEYPADDELAY (100)
1068 #endif
1069
1070 #ifdef CFG_BRD_LPC1343_REFDESIGN_MINIMAL
1071 // #define CFG_TFTLCD
1072 #define CFG_TFTLCD_INCLUDESMALLFONTS (0)
1073 #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
1074 #define CFG_TFTLCD_TS_KEYPADDELAY (100)
1075 #endif
1076
1077 #if defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB || defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART
1078 #define CFG_TFTLCD
1079 #define CFG_TFTLCD_INCLUDESMALLFONTS (0)
1080 #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
1081 #define CFG_TFTLCD_TS_KEYPADDELAY (100)
1082 #endif
1083
1084 #ifdef CFG_BRD_LPC1343_802154USBSTICK
1085 // #define CFG_TFTLCD
1086 #define CFG_TFTLCD_INCLUDESMALLFONTS (0)
1087 #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
1088 #define CFG_TFTLCD_TS_KEYPADDELAY (100)
1089 #endif
1090
1091 #ifdef CFG_BRD_LPC1343_OLIMEX_P
1092 // #define CFG_TFTLCD
1093 #define CFG_TFTLCD_INCLUDESMALLFONTS (0)
1094 #define CFG_TFTLCD_TS_DEFAULTTHRESHOLD (50)
1095 #define CFG_TFTLCD_TS_KEYPADDELAY (100)
1096 #endif
1097 /*=========================================================================*/
1098
1099
1100 /*=========================================================================
1101 Monochrome/Bitmap Graphic LCDs
1102 -----------------------------------------------------------------------
1103
1104 CFG_ST7565 If defined, this will cause drivers for
1105 the 128x64 pixel ST7565 LCD to be included
1106 CFG_SSD1306 If defined, this will cause drivers for
1107 the 128x64 pixel SSD1306 OLED display to be
1108 included
1109 CFG_SHARPMEM If defined, this will cause drivers for
1110 Sharp Memory Displays to be included
1111
1112 DEPENDENCIES: ST7565 requires the use of pins 2.1-6.
1113 DEPENDENCIES: SSD1306 requires the use of pins 2.1-6.
1114 DEPENDENCIES: SHARPMEM requires the use of pins 2.1-4.
1115 -----------------------------------------------------------------------*/
1116 // #define CFG_ST7565
1117 // #define CFG_SSD1306
1118 // #define CFG_SHARPMEM
1119 /*=========================================================================*/
1120
1121
1122 /*=========================================================================
1123 RSA Encryption
1124 -----------------------------------------------------------------------
1125
1126 CFG_RSA If defined, support for basic RSA
1127 encryption will be included.
1128 CFG_RSA_BITS Indicates the number of bits used for
1129 RSA encryption keys. To keep code size
1130 reasonable, RSA encryption is currently
1131 limited to using 64-bit or 32-bit numbers,
1132 with 64-bit providing higher security, and
1133 32-bit providing smaller encrypted text
1134 size.
1135
1136 NOTE: Please note that Printf can not be
1137 used to display 64-bit values (%lld)!
1138 -----------------------------------------------------------------------*/
1139 // #define CFG_RSA
1140 #define CFG_RSA_BITS (32)
1141 /*=========================================================================*/
1142
1143
1144
1145
1146 /*=========================================================================
1147 CONFIG FILE VALIDATION
1148 -------------------------------------------------------------------------
1149 Basic error checking to make sure that incompatible defines are not
1150 enabled at the same time, etc.
1151
1152 =========================================================================*/
1153
1154 #if !defined CFG_BRD_LPC1343_REFDESIGN && \
1155 !defined CFG_BRD_LPC1343_REFDESIGN_MINIMAL && \
1156 !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_USB && \
1157 !defined CFG_BRD_LPC1343_TFTLCDSTANDALONE_UART && \
1158 !defined CFG_BRD_LPC1343_802154USBSTICK && \
1159 !defined CFG_BRD_LPC1343_OLIMEX_P
1160 #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)"
1161 #endif
1162
1163 #if defined CFG_PRINTF_USBCDC && defined CFG_PRINTF_UART
1164 #error "CFG_PRINTF_UART or CFG_PRINTF_USBCDC cannot both be defined at once"
1165 #endif
1166
1167 #if defined CFG_PRINTF_USBCDC && !defined CFG_USBCDC
1168 #error "CFG_PRINTF_CDC requires CFG_USBCDC to be defined as well"
1169 #endif
1170
1171 #if defined CFG_USBCDC && defined CFG_USBHID
1172 #error "Only one USB class can be defined at a time (CFG_USBCDC or CFG_USBHID)"
1173 #endif
1174
1175 #if defined CFG_SSP0_SCKPIN_2_11 && defined CFG_SSP0_SCKPIN_0_6
1176 #error "Only one SCK pin can be defined at a time for SSP0"
1177 #endif
1178
1179 #if !defined CFG_SSP0_SCKPIN_2_11 && !defined CFG_SSP0_SCKPIN_0_6
1180 #error "An SCK pin must be selected for SSP0 (CFG_SSP0_SCKPIN_2_11 or CFG_SSP0_SCKPIN_0_6)"
1181 #endif
1182
1183 #ifdef CFG_INTERFACE
1184 #if !defined CFG_PRINTF_UART && !defined CFG_PRINTF_USBCDC
1185 #error "CFG_PRINTF_UART or CFG_PRINTF_USBCDC must be defined for for CFG_INTERFACE Input/Output"
1186 #endif
1187 #if defined CFG_PRINTF_USBCDC && CFG_INTERFACE_SILENTMODE == 1
1188 #error "CFG_INTERFACE_SILENTMODE typically isn't enabled with CFG_PRINTF_USBCDC"
1189 #endif
1190 #endif
1191
1192 #ifdef CFG_CHIBI
1193 #if !defined CFG_I2CEEPROM
1194 #error "CFG_CHIBI requires CFG_I2CEEPROM to store and retrieve addresses"
1195 #endif
1196 #ifdef CFG_SDCARD
1197 #error "CFG_CHIBI and CFG_SDCARD can not be defined at the same time. Only one SPI block is available on the LPC1343."
1198 #endif
1199 #ifdef CFG_TFTLCD
1200 #error "CFG_CHIBI and CFG_TFTLCD can not be defined at the same time since they both use pins 1.8, 1.9 and 1.10."
1201 #endif
1202 #ifdef CFG_PWM
1203 #error "CFG_CHIBI and CFG_PWM can not be defined at the same time since they both use pin 1.9."
1204 #endif
1205 #if CFG_CHIBI_PROMISCUOUS != 0 && CFG_CHIBI_PROMISCUOUS != 1
1206 #error "CFG_CHIBI_PROMISCUOUS must be equal to either 1 or 0"
1207 #endif
1208 #if !defined GPIO_ENABLE_IRQ1
1209 #error "GPIO_ENABLE_IRQ1 must be enabled when using Chibi (Chibi IRQ is on GPIO1.8)"
1210 #endif
1211 #endif
1212
1213 #ifdef CFG_TFTLCD
1214 #ifdef CFG_ST7565
1215 #error "CFG_TFTLCD and CFG_ST7565 can not be defined at the same time."
1216 #endif
1217 #ifdef CFG_SSD1306
1218 #error "CFG_TFTLCD and CFG_SSD1306 can not be defined at the same time."
1219 #endif
1220 #ifdef CFG_SHARPMEM
1221 #error "CFG_TFTLCD and CFG_SHARPMEM can not be defined at the same time."
1222 #endif
1223 #ifdef CFG_PWM
1224 #error "CFG_TFTLCD and CFG_PWM can not be defined at the same time since they both use pin 1.9."
1225 #endif
1226 #if !defined CFG_I2CEEPROM
1227 #error "CFG_TFTLCD requires CFG_I2CEEPROM to store and retrieve configuration settings"
1228 #endif
1229 #endif
1230
1231 #ifdef CFG_SDCARD
1232 #ifdef CFG_STEPPER
1233 #error "CFG_SDCARD and CFG_STEPPER can not be defined at the same time since they both use pin 3.0."
1234 #endif
1235 #endif
1236
1237 #ifdef CFG_ST7565
1238 #ifdef CFG_SSD1306
1239 #error "CFG_ST7565 and CFG_SSD1306 can not be defined at the same time"
1240 #endif
1241 #endif
1242
1243 #ifdef CFG_RSA
1244 #if CFG_RSA_BITS != 64 && CFG_RSA_BITS != 32
1245 #error "CFG_RSA_BITS must be equal to either 32 or 64."
1246 #endif
1247 #endif
1248
1249 #if ADC_AVERAGING_ENABLE && ADC_AVERAGING_SAMPLES < 1
1250 #error "ADC_AVERAGING_SAMPLES must be 1 or higher when ADC averaging is enabled"
1251 #endif
1252
1253 #endif
This page took 0.114585 seconds and 5 git commands to generate.