Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
configs.cpp@117:e9facba9db27, 2015-04-23 (annotated)
- Committer:
- klauss
- Date:
- Thu Apr 23 21:53:28 2015 +0000
- Revision:
- 117:e9facba9db27
- Parent:
- 116:39a41ebb675c
- Child:
- 119:ee6a53069455
merge dos fw contendo as funcionalidade de bootloader e o fw que estava em campo na ultima vistoria
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
klauss | 0:4d17cd9c8f9d | 1 | #include "configs.h" |
klauss | 26:725cbbedadd5 | 2 | |
klauss | 0:4d17cd9c8f9d | 3 | //***************************************************************************** |
klauss | 0:4d17cd9c8f9d | 4 | // Pins/Modules Config |
klauss | 0:4d17cd9c8f9d | 5 | //***************************************************************************** |
klauss | 0:4d17cd9c8f9d | 6 | |
klauss | 86:bf7b0d4c3232 | 7 | InterruptIn NextData(p8); // IO 96 |
klauss | 0:4d17cd9c8f9d | 8 | InterruptIn FrameSync(p17); // GCLK1 |
klauss | 0:4d17cd9c8f9d | 9 | |
klauss | 0:4d17cd9c8f9d | 10 | //Ticker ticker; // Timer para Debug |
klauss | 0:4d17cd9c8f9d | 11 | |
klauss | 0:4d17cd9c8f9d | 12 | DigitalOut RST(p29); // Pino de reset para o CPLD |
klauss | 0:4d17cd9c8f9d | 13 | DigitalIn PPD(p25); // Pino de conexao com o cristal do CPLD |
klauss | 0:4d17cd9c8f9d | 14 | |
klauss | 0:4d17cd9c8f9d | 15 | DigitalOut ENABLE_F_REG(p18); // Configuracao da Alimentacao do CPLD |
klauss | 0:4d17cd9c8f9d | 16 | DigitalOut ENABLE_F_RX(p19); |
klauss | 0:4d17cd9c8f9d | 17 | DigitalOut ENABLE_F_TX(p20); |
klauss | 0:4d17cd9c8f9d | 18 | |
klauss | 0:4d17cd9c8f9d | 19 | Serial Uart3(p9,p10); // default baudrate = 9600; Sem paridade, 8bits, 1 stop-bit |
klauss | 0:4d17cd9c8f9d | 20 | |
klauss | 114:472502b31a12 | 21 | void start_cpld( void ) { //CPLD Start |
klauss | 18:01a93677e40c | 22 | static uint16_t reset = 10000; |
klauss | 0:4d17cd9c8f9d | 23 | ENABLE_F_REG = 1; |
klauss | 0:4d17cd9c8f9d | 24 | ENABLE_F_TX = 1; |
klauss | 0:4d17cd9c8f9d | 25 | ENABLE_F_RX = 1; |
klauss | 0:4d17cd9c8f9d | 26 | DataReady = 0; |
klauss | 0:4d17cd9c8f9d | 27 | RST = 1; |
klauss | 26:725cbbedadd5 | 28 | while( reset-- > 1 ){} |
klauss | 0:4d17cd9c8f9d | 29 | RST = 0; |
klauss | 0:4d17cd9c8f9d | 30 | } |
klauss | 0:4d17cd9c8f9d | 31 | |
klauss | 74:81c47fff88a5 | 32 | ///< Configure LPC4088 |
klauss | 74:81c47fff88a5 | 33 | void config_lpc( void ){ |
klauss | 117:e9facba9db27 | 34 | Uart3.attach(&SerialRecvInterrupt, Uart3.RxIrq); // UART3_IRQ configuration |
klauss | 117:e9facba9db27 | 35 | Uart3.format(8,SerialBase::Forced1,1); // UART3 mode configuration |
klauss | 0:4d17cd9c8f9d | 36 | Uart3.baud(2000000); |
klauss | 117:e9facba9db27 | 37 | NVIC_SetPriority(UART3_IRQn,1); |
klauss | 117:e9facba9db27 | 38 | pc.baud(115200); // USART to PC USB USART |
klauss | 117:e9facba9db27 | 39 | NextData.rise(&get2); // Extern Pin Interrupt |
klauss | 117:e9facba9db27 | 40 | FrameSync.rise(&RXFrameSync); // FrameSync for RX - Interrupt |
klauss | 0:4d17cd9c8f9d | 41 | __enable_irq(); |
klauss | 117:e9facba9db27 | 42 | //ticker.attach(&timer,0.01); // Timer para Debug |
klauss | 109:a5b8264ffbbc | 43 | hw_extern_wdt = 0; |
klauss | 0:4d17cd9c8f9d | 44 | } |
klauss | 0:4d17cd9c8f9d | 45 | |
klauss | 0:4d17cd9c8f9d | 46 | static uint8_t itoh[16]; |
klauss | 0:4d17cd9c8f9d | 47 | static uint8_t hexbuf[10]; |
klauss | 0:4d17cd9c8f9d | 48 | |
klauss | 0:4d17cd9c8f9d | 49 | uint8_t *hextoascii ( uint8_t src ) { |
klauss | 0:4d17cd9c8f9d | 50 | |
klauss | 0:4d17cd9c8f9d | 51 | hexbuf[0] = itoh[(src>>4) & 0x0f]; |
klauss | 0:4d17cd9c8f9d | 52 | hexbuf[1] = itoh[src & 0x0f]; |
klauss | 0:4d17cd9c8f9d | 53 | hexbuf[2] = 0; |
klauss | 0:4d17cd9c8f9d | 54 | return hexbuf; |
klauss | 0:4d17cd9c8f9d | 55 | |
klauss | 0:4d17cd9c8f9d | 56 | } |
klauss | 0:4d17cd9c8f9d | 57 | |
klauss | 0:4d17cd9c8f9d | 58 | void uart3_puts(uint8_t *src, uint16_t size){ // Print a string in UART3 |
klauss | 0:4d17cd9c8f9d | 59 | while (size--){ |
klauss | 0:4d17cd9c8f9d | 60 | while ( !(LPC_UART3->LSR &= (1<<5)) ) {} |
klauss | 0:4d17cd9c8f9d | 61 | LPC_UART3->THR = *src++; |
klauss | 0:4d17cd9c8f9d | 62 | } |
klauss | 0:4d17cd9c8f9d | 63 | } |
klauss | 0:4d17cd9c8f9d | 64 | |
klauss | 0:4d17cd9c8f9d | 65 | void uart0_puts( uint8_t *src) { // Print a string in UART3 |
klauss | 0:4d17cd9c8f9d | 66 | |
klauss | 0:4d17cd9c8f9d | 67 | uint16_t size = 300; |
klauss | 0:4d17cd9c8f9d | 68 | |
klauss | 0:4d17cd9c8f9d | 69 | while (size--){ |
klauss | 0:4d17cd9c8f9d | 70 | while ( !(LPC_UART0->LSR & (1<<5)) ) {} |
klauss | 0:4d17cd9c8f9d | 71 | LPC_UART0->THR = *src++; |
klauss | 0:4d17cd9c8f9d | 72 | } |
klauss | 0:4d17cd9c8f9d | 73 | } |
klauss | 0:4d17cd9c8f9d | 74 | |
klauss | 0:4d17cd9c8f9d | 75 | void uart0_putsx(volatile uint8_t *src ){ // Print a string in UART0 |
klauss | 0:4d17cd9c8f9d | 76 | uint16_t size = 300;//sizeof( src ); |
klauss | 0:4d17cd9c8f9d | 77 | uint8_t *buff; |
klauss | 0:4d17cd9c8f9d | 78 | while (size--) |
klauss | 0:4d17cd9c8f9d | 79 | { |
klauss | 0:4d17cd9c8f9d | 80 | buff = hextoascii(*(src++)); |
klauss | 0:4d17cd9c8f9d | 81 | for ( uint8_t i = 0; i < 3; i++ ){ |
klauss | 0:4d17cd9c8f9d | 82 | while ( !(LPC_UART0->LSR &= (1<<5)) ) {} |
klauss | 0:4d17cd9c8f9d | 83 | LPC_UART0->THR = buff[i]; //*src++; |
klauss | 0:4d17cd9c8f9d | 84 | } |
klauss | 0:4d17cd9c8f9d | 85 | } |
klauss | 0:4d17cd9c8f9d | 86 | } |
klauss | 0:4d17cd9c8f9d | 87 | |
klauss | 0:4d17cd9c8f9d | 88 | void uart0_text( const char* src){ // Print a string of constant in UART0 |
klauss | 0:4d17cd9c8f9d | 89 | static uint16_t size; |
klauss | 0:4d17cd9c8f9d | 90 | size = sizeof (src); |
klauss | 0:4d17cd9c8f9d | 91 | while (size--){ |
klauss | 0:4d17cd9c8f9d | 92 | while ( !(LPC_UART0->LSR &= (1<<5)) ) {} |
klauss | 0:4d17cd9c8f9d | 93 | LPC_UART0->THR = *src++; |
klauss | 0:4d17cd9c8f9d | 94 | } |
klauss | 0:4d17cd9c8f9d | 95 | } |