Changeset 94


Ignore:
Timestamp:
06/12/2007 12:11:16 PM (5 years ago)
Author:
agr
Message:

minor ff2_2 updates

Location:
nano-RK
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • nano-RK/projects/basic_tasks/makefile

    r38 r94  
    11# Platform name  cc2420DK, firefly, micaZ, firefly2, firefly2_2 
    2 PLATFORM = firefly2 
     2PLATFORM = firefly2_2 
    33 
    44 
  • nano-RK/projects/basic_tasks/nrk_cfg.h

    r86 r94  
    2424// Leave NRK_NO_POWER_DOWN define in if the target can not wake up from sleep  
    2525// because it has no asynchronously clocked 
    26 #define NRK_NO_POWER_DOWN 
     26//#define NRK_NO_POWER_DOWN 
    2727 
    2828// Max number of tasks in your application 
  • nano-RK/src/platform/firefly2_2/include/hal.h

    r33 r94  
    584584#define UART_BAUDRATE_57K6          15  
    585585// change 8 to 7 below for correct oscillator 
    586 #define UART_BAUDRATE_115K2         8 
     586#define UART_BAUDRATE_115K2         7 
    587587#define UART_BAUDRATE_230K4         3 
    588588#define UART_BAUDRATE_250K          3 
  • nano-RK/src/platform/firefly2_2/include/nrk_pin_define.h

    r33 r94  
    77 ******************************************************************************************************* 
    88 *******************************************************************************************************/ 
     9 
     10 
     11//--------------------------------------------------------------------------------------------- 
     12// Port A 
     13#define VREG_EN         5  // PA.5 - Output: VREG_EN to CC2420 
     14#define RESET_N         6  // PA.6 - Output: RESET_N to CC2420 
     15#define DEBUG_0         3 
     16#define DEBUG_1         4 
     17#define BUTTON          7  // PA.7 - Input button 0 
     18 
     19//--------------------------------------------------------------------------------------------- 
     20// Port B 
     21#define SPI_SS          0  // PB.0 - Output: SPI Slave Select 
     22#define SCK             1  // PB.1 - Output: SPI Serial Clock (SCLK) 
     23#define MOSI            2  // PB.2 - Output: SPI Master out - slave in (MOSI) 
     24#define MISO            3  // PB.3 - Input:  SPI Master in - slave out (MISO) 
     25#define GPIO26          4 
     26#define GPIO28          5 
     27 
     28//--------------------------------------------------------------------------------------------- 
     29//PORT C 
     30#define CSN             0  // PB.0 - Output: SPI Chip Select (CS_N) 
     31#define FIFO            1  // PB.7 - Input:  FIFO from CC2420 
     32 
     33 
     34 
     35//---------------------------------------------------------------------------------------------- 
     36// Port D 
     37#define UART1_RXD       2 // PD.2 - Input:  UART1 RXD 
     38#define UART1_TXD       3 // PD.3 - Output: UART1 TXD 
     39#define SFD             6 // PD.4 - Input:  SFD from CC2420 
     40#define UART1_RTS       5 // PD.5 - Output: UART HW handshaking: RTS 
     41#define CCA             4 // PD.6 - Input:  CCA from CC2420 
     42#define UART1_CTS       7 // PD.7 - Input:  UART HW handshaking: CTS 
     43 
     44 
     45 
     46//---------------------------------------------------------------------------------------------- 
     47// Port E 
     48#define UART0_RXD       0 // PE.0 - Input:  UART0 RXD 
     49#define UART0_TXD       1 // PE.1 - Output: UART0 TXD 
     50#define LED_0           2 // PE.0 - Output: Yellow LED 
     51#define LED_1           3 // PE.1 - Output: Green LED 
     52#define LED_2           4 // PE.2 - Output: Red LED 
     53#define LED_3           5 // PE.2 - Output: Red LED 
     54#define GPIO34          6 
     55#define FIFOP           7 // PE.7 - Input:  FIFOP from CC2420 
     56//------------------------------------------------------------------------------------------------------- 
     57//------------------------------------------------------------------------------------------------------- 
     58// Port F 
     59#define ADC_INPUT_0     0 
     60#define ADC_INPUT_1     1 // PF.1 - ADC1 
     61#define ADC_INPUT_2     2 // PF.2 - ADC2 
     62#define ADC_INPUT_3     3 // PF.3 - ADC3 
     63#define ADC_INPUT_4     4 // PF.3 - ADC3 
     64#define ADC_INPUT_5     5 // PF.3 - ADC3 
     65#define ADC_INPUT_6     6 // PF.3 - ADC3 
     66#define ADC_INPUT_7     7 // PF.3 - ADC3 
     67 
     68//------------------------------------------------------------------------------------------------------- 
     69// External RAM interface: 
     70//     PA and PC - Multiplexed address/data 
     71//     PG.0 - Output: Write enable: WR_N 
     72//     PG.1 - Output: Read enable: RD_N 
     73//     PG.2 - Output: Address Latch Enable: ALE 
     74//------------------------------------------------------------------------------------------------------- 
     75 
     76 
     77 
     78//------------------------------- 
     79// GPIO handling functions 
     80// these macros perform raw hw access 
     81// ports and pins are acctual hw ports and pins 
     82 
     83// use pin_port, and pin; ie: nkr_gpio_raw_set( PORTB, DEBUG_0 ) 
     84#define nrk_gpio_raw_set( _port, _pin ) {do { _port |= BM(_pin); } while(0);} 
     85// use pin_port, and pin; ie: nkr_gpio_raw_clr( PORTB, DEBUG_0 ) 
     86#define nrk_gpio_raw_clr( _port, _pin ) {do { _port &= ~BM(_pin); } while(0);} 
     87// use pin_port, and pin; ie: nkr_gpio_raw_get( PINB, DEBUG_0 ) 
     88#define nrk_gpio_raw_get( _pin_port, _pin ) (_pin_port & BM(_pin)) 
     89// use pin_port, port and pin; ie: nkr_gpio_raw_toggle( PINB, PORTB, DEBUG_0 ) 
     90#define nrk_gpio_raw_toggle( _pin_port, _port, _pin ) { \ 
     91        if ((_pin_port & BM(_pin))) do{ _port &= ~BM(_pin); } while(0); \ 
     92        else do { _port |= BM(_pin); }while(0);  \ 
     93} 
     94// use direction; ie: nkr_gpio_raw_direction( DDRB, DEBUG_0 ) 
     95#define nrk_gpio_raw_direction( _direction_port_name, _pin, _pin_direction ) { \ 
     96        if (_pin_direction == NRK_PIN_INPUT) { \ 
     97                _direction_port_name &= ~BM( _pin ); \ 
     98        } else { \ 
     99                _direction_port_name |= BM( _pin ); \ 
     100        } \ 
     101} 
     102 
     103// when a platform does not support one 
     104// of the NRK_<pin name> declared below, it 
     105// must define it has an invalid pin in the 
     106// platform ulib.c (e.g. a platform that does not 
     107// support NRK_DEBUG_0 should have the following in 
     108// ulib.c NRK_INVALID_PIN( NRK_DEBUG_0 ) ) 
     109#define NRK_INVALID_PIN_VAL 0xFF 
     110 
     111// nrk ports NRK_<hw port> used for the mapping 
     112// to the real hw. (3 bits reserved for ports) 
     113#define NRK_PORTA 0 
     114#define NRK_PORTB 1 
     115#define NRK_PORTC 2 
     116#define NRK_PORTD 3 
     117#define NRK_PORTE 4 
     118#define NRK_PORTF 5 
     119 
     120// define pin directions 
     121#define NRK_PIN_INPUT 0 
     122#define NRK_PIN_OUTPUT 1 
    9123 
    10124 
     
    22136// declare pins as used by higher level programs 
    23137// mapping to the hardware is done by ulib.c 
    24 DECLARE_NRK_PIN( VREG_EN )                      // declare pin named NRK_VREG_EN 
    25 DECLARE_NRK_PIN( RESET_N )                      // declare pin named NRK_RESET_N 
    26138DECLARE_NRK_PIN( DEBUG_0 )                      // declare pin named NRK_DEBUG_0 
    27139DECLARE_NRK_PIN( DEBUG_1 )                      // declare pin named NRK_DEBUG_1 
     
    36148DECLARE_NRK_PIN( GPIO26 )                       // declare pin named NRK_GPIO26 
    37149 
    38 DECLARE_NRK_PIN( CSN )                          // declare pin named NRK_CSN 
    39 DECLARE_NRK_PIN( FIFO )                         // declare pin named NRK_FIFO 
    40150 
    41151DECLARE_NRK_PIN( UART1_RXD )                    // declare pin named NRK_UART1_RXD 
    42152DECLARE_NRK_PIN( UART1_TXD )                    // declare pin named NRK_UART1_TXD 
    43153DECLARE_NRK_PIN( SFD )                          // declare pin named NRK_SFD 
    44 DECLARE_NRK_PIN( UART1_RTS )                    // declare pin named NRK_UART1_RTS 
    45154DECLARE_NRK_PIN( CCA )                          // declare pin named NRK_CCA 
    46 DECLARE_NRK_PIN( UART1_CTS )                    // declare pin named NRK_UART1_CTS 
    47155 
    48156DECLARE_NRK_PIN( UART0_RXD )                    // declare pin named NRK_UART0_RXD 
    49157DECLARE_NRK_PIN( UART0_TXD )                    // declare pin named NRK_UART0_TXD 
    50158DECLARE_NRK_PIN( FIFOP )                        // declare pin named NRK_FIFOP 
    51 DECLARE_NRK_PIN( YLED )                         // declare pin named NRK_YLED 
    52 DECLARE_NRK_PIN( GLED )                         // declare pin named NRK_GLED 
    53 DECLARE_NRK_PIN( RLED )                         // declare pin named NRK_RLED 
    54 DECLARE_NRK_PIN( BLED )                         // declare pin named NRK_BLED 
     159DECLARE_NRK_PIN( LED_0 )                        // declare pin named NRK_YLED 
     160DECLARE_NRK_PIN( LED_1 )                        // declare pin named NRK_GLED 
     161DECLARE_NRK_PIN( LED_2 )                        // declare pin named NRK_RLED 
     162DECLARE_NRK_PIN( LED_3 )                        // declare pin named NRK_BLED 
    55163 
    56164DECLARE_NRK_PIN( GPIO34 )                       // declare pin named NRK_GPIO34 
    57165 
    58 DECLARE_NRK_PIN( JOYSTICK_LEFT )                // declare pin named NRK_JOYSTICK_LEFT 
    59 DECLARE_NRK_PIN( JOYSTICK_DOWN )                // declare pin named NRK_JOYSTICK_DOWN 
    60 DECLARE_NRK_PIN( ADC_INPUT_0_POT_METER )        // declare pin named NRK_ADC_INPUT_0_POT_METER 
     166DECLARE_NRK_PIN( ADC_INPUT_0 ) 
    61167DECLARE_NRK_PIN( ADC_INPUT_1 )                  // declare pin named NRK_ADC_INPUT_1 
    62168DECLARE_NRK_PIN( ADC_INPUT_2 )                  // declare pin named NRK_ADC_INPUT_2 
    63 DECLARE_NRK_PIN( ADC_INPUT_3_TEMP_SENSOR )      // declare pin named NRK_ADC_INPUT_3_TEMP_SENSOR 
     169DECLARE_NRK_PIN( ADC_INPUT_3 )  
     170DECLARE_NRK_PIN( ADC_INPUT_4 )  
     171DECLARE_NRK_PIN( ADC_INPUT_5 )   
     172DECLARE_NRK_PIN( JTAG_TCK )                             // declare pin named NRK_JTAG_TCK 
     173DECLARE_NRK_PIN( JTAG_TMS )                             // declare pin named NRK_JTAG_TMS 
     174DECLARE_NRK_PIN( JTAG_TDO )                             // declare pin named NRK_JTAG_TDO 
     175DECLARE_NRK_PIN( JTAG_TDI )                             // declare pin named NRK_JTAG_TDI 
    64176 
    65177DECLARE_NRK_PIN( ADC_INPUT_6 )                  // declare pin named NRK_ADC_INPUT_6 
  • nano-RK/src/platform/firefly2_2/source/ulib.c

    r1 r94  
    22#include <ulib.h> 
    33#include <stdio.h> 
     4#include <hal.h> 
    45#include <hal_firefly2_2.h> 
    56#include <avr/interrupt.h> 
     7#include <nrk_pin_define.h> 
     8#include <nrk_error.h> 
    69 
    710#ifdef NANORK 
     
    1821uint8_t uart_rx_buf_start,uart_rx_buf_end; 
    1922char uart_rx_buf[MAX_RX_UART_BUF]; 
     23nrk_sig_t uart_rx_signal; 
    2024 
    2125SIGNAL(USART1_RX_vect) 
     
    2933   uart_rx_buf_end++; 
    3034   if(uart_rx_buf_end==MAX_RX_UART_BUF) uart_rx_buf_end=0; 
    31    nrk_event_signal(SIG(NRK_UART_RX_EVENT)); 
     35   nrk_event_signal(uart_rx_signal); 
    3236CLEAR_UART1_RX_INT(); 
    3337ENABLE_UART1_RX_INT(); 
    3438} 
    35  
    3639 
    3740char getc1() 
     
    5760} 
    5861 
     62nrk_sig_t nrk_uart_rx_signal_get() 
     63{ 
     64   if(uart_rx_signal==NRK_ERROR) nrk_error_add(NRK_SIGNAL_CREATE_ERROR); 
     65   return uart_rx_signal; 
     66} 
    5967 
    6068#else 
     69 
     70nrk_sig_t nrk_uart_rx_signal_get() 
     71{ 
     72   return NRK_ERROR; 
     73} 
     74 
    6175 
    6276uint8_t nrk_uart_data_ready(uint8_t uart_num) 
     
    7791#endif 
    7892 
    79  
    80 int8_t nrk_gpio_set(uint8_t pin) 
    81 { 
    82 switch(pin) 
    83         { 
    84         case DEBUG_0:  
    85                 do { PORTA |= BM(DEBUG_0); }while(0);  
    86                 break; 
    87         case DEBUG_1:  
    88                 do { PORTA |= BM(DEBUG_1); }while(0);  
    89                 break; 
    90         default: 
    91         return -1; 
    92         break; 
    93         } 
    94 return 1; 
    95 } 
    96  
    97 int8_t nrk_gpio_clr(uint8_t pin) 
    98 { 
    99 switch(pin) 
    100         { 
    101         case DEBUG_0:   
    102                 do{ PORTA &= ~BM(DEBUG_0); }while(0); 
    103                 break; 
    104         case DEBUG_1:   
    105                 do{ PORTA &= ~BM(DEBUG_1); }while(0); 
    106                 break; 
    107         default: 
    108         return -1; 
    109         break; 
    110         } 
    111  
    112 return 1; 
    113 } 
    114  
    115 int8_t nrk_gpio_get(uint8_t pin) 
    116 { 
    117 int8_t val; 
    118 val=-1; 
    119 switch(pin) 
    120         { 
    121         case DEBUG_0:  break; 
    122  
    123         default: 
    124         val=-1; 
    125         break; 
    126         } 
    127  
    128 return val; 
    129 } 
    130  
    131  
    132  
    13393void nrk_kprintf( const char *addr) 
    13494{ 
     
    144104} 
    145105 
    146 int8_t nrk_clr_led( int led ) 
    147 { 
    148 if(led==0) { CLR_LED_0(); return 1; } 
    149 if(led==1) { CLR_LED_1(); return 1; } 
    150 if(led==2) { CLR_LED_2(); return 1; } 
    151 if(led==3) { CLR_LED_3(); return 1; } 
    152 return 0; 
    153 } 
    154  
    155 int8_t nrk_set_led( int led ) 
    156 { 
    157 if(led==0) { SET_LED_0(); return 1; } 
    158 if(led==1) { SET_LED_1(); return 1; } 
    159 if(led==2) { SET_LED_2(); return 1; } 
    160 if(led==3) { SET_LED_3(); return 1; } 
    161 return 0; 
     106//--------------------------------------------------------------------------------------------- 
     107// GPIO related definitions 
     108//--------------------------------------------------------------------------------------------- 
     109// Define high-level nrk pins mappings to hardware pins and ports 
     110// This is used for nrk_gpio_... functions. 
     111// Raw GPIO mapping can be found in the nrk_pin_define.h file. 
     112//--------------------------------------------------------------------------------------------- 
     113 
     114//------------------------------- 
     115// Port A 
     116NRK_PIN( DEBUG_0,DEBUG_0, NRK_PORTA ) 
     117NRK_PIN( DEBUG_1,DEBUG_1, NRK_PORTA ) 
     118NRK_PIN( BUTTON,BUTTON, NRK_PORTA ) 
     119//------------------------------- 
     120// Port B 
     121NRK_PIN( SPI_SS,SPI_SS, NRK_PORTB ) 
     122NRK_PIN( SCK,SCK, NRK_PORTB ) 
     123NRK_PIN( MOSI,MOSI, NRK_PORTB ) 
     124NRK_PIN( MISO,MISO, NRK_PORTB ) 
     125NRK_PIN( GPIO26,4, NRK_PORTB ) 
     126NRK_PIN( GPIO28,5, NRK_PORTB ) 
     127 
     128//------------------------------- 
     129// Port D 
     130NRK_PIN( UART1_RXD,UART1_RXD, NRK_PORTD ) 
     131NRK_PIN( UART1_TXD,UART1_TXD, NRK_PORTD ) 
     132NRK_PIN( CCA,CCA, NRK_PORTD ) 
     133NRK_PIN( SFD,SFD, NRK_PORTD ) 
     134 
     135//------------------------------- 
     136// Port E 
     137NRK_PIN( UART0_RXD,UART0_RXD, NRK_PORTE ) 
     138NRK_PIN( UART0_TXD,UART0_TXD, NRK_PORTE ) 
     139NRK_PIN( LED_0,LED_0, NRK_PORTE ) 
     140NRK_PIN( LED_1,LED_1, NRK_PORTE ) 
     141NRK_PIN( LED_2,LED_2, NRK_PORTE ) 
     142NRK_PIN( LED_3,LED_3, NRK_PORTE ) 
     143NRK_PIN( GPIO34,GPIO34, NRK_PORTE ) 
     144NRK_PIN( FIFOP, FIFOP, NRK_PORTE ) 
     145 
     146 
     147//------------------------------- 
     148// Port F 
     149NRK_PIN( ADC_INPUT_0, ADC_INPUT_0, NRK_PORTF ) 
     150NRK_PIN( ADC_INPUT_1, ADC_INPUT_1, NRK_PORTF ) 
     151NRK_PIN( ADC_INPUT_2, ADC_INPUT_2, NRK_PORTF ) 
     152NRK_PIN( ADC_INPUT_3, ADC_INPUT_3, NRK_PORTF ) 
     153NRK_PIN( ADC_INPUT_4, ADC_INPUT_4, NRK_PORTF ) 
     154NRK_PIN( ADC_INPUT_5, ADC_INPUT_5, NRK_PORTF ) 
     155NRK_PIN( ADC_INPUT_6, ADC_INPUT_6, NRK_PORTF ) 
     156NRK_PIN( ADC_INPUT_7, ADC_INPUT_7, NRK_PORTF ) 
     157 
     158//------------------------------- 
     159// GPIO handling functions 
     160 
     161int8_t nrk_gpio_set(uint8_t pin) 
     162{ 
     163        if (pin == NRK_INVALID_PIN_VAL) return -1; 
     164        switch (pin & 0x07) { 
     165                case NRK_PORTA: 
     166                        do { PORTA |= BM((pin & 0xF8) >> 3); } while(0); break;  
     167                case NRK_PORTB: 
     168                        do { PORTB |= BM((pin & 0xF8) >> 3); } while(0); break;  
     169                case NRK_PORTC: 
     170                        do { PORTC |= BM((pin & 0xF8) >> 3); } while(0); break;  
     171                case NRK_PORTD: 
     172                        do { PORTD |= BM((pin & 0xF8) >> 3); } while(0); break;  
     173                case NRK_PORTE: 
     174                        do { PORTE |= BM((pin & 0xF8) >> 3); } while(0); break;  
     175                case NRK_PORTF: 
     176                        do { PORTF |= BM((pin & 0xF8) >> 3); } while(0); break;  
     177                default: return -1; 
     178        } 
     179        return 1; 
     180} 
     181 
     182int8_t nrk_gpio_clr(uint8_t pin) 
     183{ 
     184        if (pin == NRK_INVALID_PIN_VAL) return -1; 
     185        switch (pin & 0x07) { 
     186                case NRK_PORTA: 
     187                        do { PORTA &= ~BM((pin & 0xF8) >> 3); } while(0); break; 
     188                case NRK_PORTB: 
     189                        do { PORTB &= ~BM((pin & 0xF8) >> 3); } while(0); break; 
     190                case NRK_PORTC: 
     191                        do { PORTC &= ~BM((pin & 0xF8) >> 3); } while(0); break;  
     192                case NRK_PORTD: 
     193                        do { PORTD &= ~BM((pin & 0xF8) >> 3); } while(0); break;  
     194                case NRK_PORTE: 
     195                        do { PORTE &= ~BM((pin & 0xF8) >> 3); } while(0); break;  
     196                case NRK_PORTF: 
     197                        do { PORTF &= ~BM((pin & 0xF8) >> 3); } while(0); break;  
     198                default: return -1; 
     199        } 
     200        return 1; 
     201} 
     202 
     203int8_t nrk_gpio_get(uint8_t pin) 
     204{ 
     205    if (pin == NRK_INVALID_PIN_VAL) return -1; 
     206        switch (pin & 0x07) { 
     207                case NRK_PORTA: 
     208                        return (PINA & BM((pin & 0xF8) >> 3)); 
     209                case NRK_PORTB: 
     210                        return (PINB & BM((pin & 0xF8) >> 3)); 
     211                case NRK_PORTC: 
     212                        return (PINC & BM((pin & 0xF8) >> 3)); 
     213                case NRK_PORTD: 
     214                        return (PIND & BM((pin & 0xF8) >> 3)); 
     215                case NRK_PORTE: 
     216                        return (PINE & BM((pin & 0xF8) >> 3)); 
     217                case NRK_PORTF: 
     218                        return (PINF & BM((pin & 0xF8) >> 3)); 
     219                default: return -1; 
     220        } 
     221        return 1; 
     222} 
     223 
     224int8_t nrk_gpio_toggle(uint8_t pin) 
     225{ 
     226    if (pin == NRK_INVALID_PIN_VAL) return -1; 
     227        switch (pin & 0x07) { 
     228                case NRK_PORTA: 
     229                        if ((PINA & BM((pin & 0xF8) >> 3)) == 0) { 
     230                                do { PORTA |= BM((pin & 0xF8) >> 3); } while(0); 
     231                        } else { 
     232                                do { PORTA &= ~BM((pin & 0xF8) >> 3); } while(0); 
     233                        } 
     234                        break; 
     235                case NRK_PORTB: 
     236                        if ((PINB & BM((pin & 0xF8) >> 3)) == 0) { 
     237                                do { PORTB |= BM((pin & 0xF8) >> 3); } while(0); 
     238                        } else { 
     239                                do { PORTB &= ~BM((pin & 0xF8) >> 3); } while(0); 
     240                        } 
     241                        break; 
     242                case NRK_PORTC: 
     243                        if ((PINC & BM((pin & 0xF8) >> 3)) == 0) { 
     244                                do { PORTC |= BM((pin & 0xF8) >> 3); } while(0); 
     245                        } else { 
     246                                do { PORTC &= ~BM((pin & 0xF8) >> 3); } while(0); 
     247                        } 
     248                        break; 
     249                case NRK_PORTD: 
     250                        if ((PIND & BM((pin & 0xF8) >> 3)) == 0) { 
     251                                do { PORTD |= BM((pin & 0xF8) >> 3); } while(0); 
     252                        } else { 
     253                                do { PORTD &= ~BM((pin & 0xF8) >> 3); } while(0); 
     254                        } 
     255                        break; 
     256                case NRK_PORTE: 
     257                        if ((PINE & BM((pin & 0xF8) >> 3)) == 0) { 
     258                                do { PORTE |= BM((pin & 0xF8) >> 3); } while(0); 
     259                        } else { 
     260                                do { PORTE &= ~BM((pin & 0xF8) >> 3); } while(0); 
     261                        } 
     262                        break; 
     263                case NRK_PORTF: 
     264                        if ((PINF & BM((pin & 0xF8) >> 3)) == 0) { 
     265                                do { PORTF |= BM((pin & 0xF8) >> 3); } while(0); 
     266                        } else { 
     267                                do { PORTF &= ~BM((pin & 0xF8) >> 3); } while(0); 
     268                        } 
     269                        break; 
     270                default: return -1; 
     271        } 
     272        return 1; 
     273} 
     274 
     275int8_t nrk_gpio_direction(uint8_t pin, uint8_t pin_direction) 
     276{ 
     277        if (pin == NRK_INVALID_PIN_VAL) return -1; 
     278        if (pin_direction == NRK_PIN_INPUT) { 
     279                switch (pin & 0x07) { 
     280                        case NRK_PORTA: 
     281                                DDRA &= ~BM((pin & 0xF8) >> 3);  
     282                                PORTA |= BM((pin & 0xF8) >> 3);  
     283                                break; 
     284                        case NRK_PORTB: 
     285                                DDRB &= ~BM((pin & 0xF8) >> 3);  
     286                                PORTB |= BM((pin & 0xF8) >> 3);  
     287                                break; 
     288                        case NRK_PORTC: 
     289                                DDRC &= ~BM((pin & 0xF8) >> 3);  
     290                                PORTB |= BM((pin & 0xF8) >> 3);  
     291                                break; 
     292                        case NRK_PORTD: 
     293                                DDRD &= ~BM((pin & 0xF8) >> 3);  
     294                                PORTB |= BM((pin & 0xF8) >> 3);  
     295                                break; 
     296                        case NRK_PORTE: 
     297                                DDRE &= ~BM((pin & 0xF8) >> 3);  
     298                                PORTB |= BM((pin & 0xF8) >> 3);  
     299                                break; 
     300                        case NRK_PORTF: 
     301                                DDRF &= ~BM((pin & 0xF8) >> 3); 
     302                                PORTB |= BM((pin & 0xF8) >> 3);  
     303                                break; 
     304                        default: return -1; 
     305                } 
     306        } else { 
     307                switch (pin & 0x07) { 
     308                        case NRK_PORTA: 
     309                                DDRA |= BM((pin & 0xF8) >> 3); break; 
     310                        case NRK_PORTB: 
     311                                DDRB |= BM((pin & 0xF8) >> 3); break; 
     312                        case NRK_PORTC: 
     313                                DDRC |= BM((pin & 0xF8) >> 3); break; 
     314                        case NRK_PORTD: 
     315                                DDRD |= BM((pin & 0xF8) >> 3); break; 
     316                        case NRK_PORTE: 
     317                                DDRE |= BM((pin & 0xF8) >> 3); break; 
     318                        case NRK_PORTF: 
     319                                DDRF |= BM((pin & 0xF8) >> 3); break; 
     320                        default: return -1; 
     321                } 
     322        } 
     323        return 1; 
     324} 
     325 
     326int8_t nrk_get_button(uint8_t b) 
     327{ 
     328if(b==0) { 
     329         return( !(PINA & BM(BUTTON)));  
     330        }  
     331return -1; 
     332} 
     333 
     334int8_t nrk_led_toggle( int led ) 
     335{ 
     336if(led==0) { nrk_gpio_toggle(NRK_LED_0); return 1; } 
     337if(led==1) { nrk_gpio_toggle(NRK_LED_1); return 1; } 
     338if(led==2) { nrk_gpio_toggle(NRK_LED_2); return 1; } 
     339if(led==3) { nrk_gpio_toggle(NRK_LED_3); return 1; } 
     340return -1; 
     341} 
     342 
     343int8_t nrk_led_clr( int led ) 
     344{ 
     345if(led==0) { nrk_gpio_set(NRK_LED_0); return 1; } 
     346if(led==1) { nrk_gpio_set(NRK_LED_1); return 1; } 
     347if(led==2) { nrk_gpio_set(NRK_LED_2); return 1; } 
     348if(led==3) { nrk_gpio_set(NRK_LED_3); return 1; } 
     349return -1; 
     350} 
     351 
     352int8_t nrk_led_set( int led ) 
     353{ 
     354if(led==0) { nrk_gpio_clr(NRK_LED_0); return 1; } 
     355if(led==1) { nrk_gpio_clr(NRK_LED_1); return 1; } 
     356if(led==2) { nrk_gpio_clr(NRK_LED_2); return 1; } 
     357if(led==3) { nrk_gpio_clr(NRK_LED_3); return 1; } 
     358return -1; 
    162359} 
    163360 
     
    200397} 
    201398 
     399void setup_uart1(uint16_t baudrate) 
     400{ 
     401//INIT_UART1( UART_BAUDRATE_115K2, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 
     402INIT_UART1( baudrate, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 
     403ENABLE_UART1(); 
     404} 
    202405 
    203406/** 
     
    219422  stdin = fdevopen( putc1, getc1); 
    220423#ifdef NRK_UART_BUF 
     424   uart_rx_signal=nrk_signal_create(); 
     425   if(uart_rx_signal==NRK_ERROR) nrk_error_add(NRK_SIGNAL_CREATE_ERROR); 
    221426   uart_rx_buf_start=0; 
    222427   uart_rx_buf_end=0; 
     
    226431} 
    227432 
    228 void setup_uart1(uint16_t baudrate) 
    229 { 
    230 //INIT_UART1( UART_BAUDRATE_115K2, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 
    231 INIT_UART1( baudrate, (UART_OPT_NO_PARITY|UART_OPT_8_BITS_PER_CHAR|UART_OPT_ONE_STOP_BIT)); 
    232 ENABLE_UART1(); 
    233 } 
    234433 
    235434 
Note: See TracChangeset for help on using the changeset viewer.