modified code for new pcb
This commit is contained in:
parent
c8e456f16e
commit
8903c52d22
|
@ -2,7 +2,6 @@
|
|||
#include "core/gpio/gpio.h"
|
||||
|
||||
void rbInit() {
|
||||
|
||||
// TODO FIXME special port disable ? LEDs BTNs ?
|
||||
|
||||
// prepare power
|
||||
|
@ -30,6 +29,9 @@ void rbInit() {
|
|||
|
||||
|
||||
// prepare LEDs
|
||||
IOCON_JTAG_TDI_PIO0_11 &= ~IOCON_JTAG_TDI_PIO0_11_FUNC_MASK;
|
||||
IOCON_JTAG_TDI_PIO0_11 |= IOCON_JTAG_TDI_PIO0_11_FUNC_GPIO;
|
||||
|
||||
gpioSetDir(RB_LED0, gpioDirection_Output);
|
||||
gpioSetValue (RB_LED0, 1);
|
||||
|
||||
|
@ -44,18 +46,23 @@ void rbInit() {
|
|||
|
||||
|
||||
// prepare IR
|
||||
gpioSetDir(RB_IROUT, gpioDirection_Output);
|
||||
gpioSetValue (RB_IROUT, 1);
|
||||
//gpioSetDir(RB_IROUT, gpioDirection_Output);
|
||||
//gpioSetValue (RB_IROUT, 1);
|
||||
|
||||
gpioSetDir(RB_IRIN, gpioDirection_Input);
|
||||
gpioSetPullup (&RB_IRIN_IO, gpioPullupMode_PullUp);
|
||||
//gpioSetDir(RB_IRIN, gpioDirection_Input);
|
||||
//gpioSetPullup (&RB_IRIN_IO, gpioPullupMode_PullUp);
|
||||
|
||||
|
||||
// prepare lcd
|
||||
// TODO FIXME more init needed ?
|
||||
gpioSetDir(RB_LCD_BL, gpioDirection_Output);
|
||||
gpioSetValue (RB_LCD_BL, 1);
|
||||
gpioSetValue (RB_LCD_BL, 0);
|
||||
|
||||
// Set P0.0 to GPIO
|
||||
RB_PWR_LCDBL_IO&= ~RB_PWR_LCDBL_IO_FUNC_MASK;
|
||||
RB_PWR_LCDBL_IO|= RB_PWR_LCDBL_IO_FUNC_GPIO;
|
||||
gpioSetDir(RB_PWR_LCDBL, gpioDirection_Input);
|
||||
gpioSetPullup(&RB_PWR_LCDBL_IO, gpioPullupMode_Inactive);
|
||||
|
||||
// prepare I2C
|
||||
#ifdef __I2C_h
|
||||
|
|
|
@ -15,10 +15,10 @@
|
|||
|
||||
|
||||
// Infrared
|
||||
#define RB_IROUT 1,5
|
||||
//#define RB_IROUT 1,5
|
||||
|
||||
#define RB_IRIN 1,8
|
||||
#define RB_IRIN_IO IOCON_PIO1_8
|
||||
//#define RB_IRIN 1,8
|
||||
//#define RB_IRIN_IO IOCON_PIO1_8
|
||||
|
||||
|
||||
// Buttons
|
||||
|
@ -34,14 +34,14 @@
|
|||
#define RB_BTN3 3,3
|
||||
#define RB_BTN3_IO IOCON_PIO3_3
|
||||
|
||||
#define RB_BTN4 1,4
|
||||
#define RB_BTN4_IO IOCON_PIO1_4
|
||||
#define RB_BTN4 2,7
|
||||
#define RB_BTN4_IO IOCON_PIO2_7
|
||||
|
||||
|
||||
// LCD
|
||||
#define RB_LCD_BL 1,10
|
||||
#define RB_LCD_BL 1,9
|
||||
|
||||
#define RB_LCD_A0 2,0
|
||||
//#define RB_LCD_A0 2,0
|
||||
|
||||
#define RB_LCD_CS 2,1
|
||||
|
||||
|
@ -59,7 +59,7 @@
|
|||
|
||||
#define RB_SPI_MOSI 0,9
|
||||
|
||||
#define RB_SPI_SCK 0,10
|
||||
#define RB_SPI_SCK 2,11
|
||||
|
||||
#define RB_SPI_SS0 2,5
|
||||
|
||||
|
@ -71,23 +71,27 @@
|
|||
|
||||
#define RB_SPI_SS4 3,1
|
||||
|
||||
#define RB_SPI_SS5 2,11
|
||||
#define RB_SPI_SS5 2,10
|
||||
|
||||
|
||||
// Power
|
||||
#define RB_PWR_VOLT 1,0
|
||||
|
||||
#define RB_PWR_GOOD 1,9
|
||||
#define RB_PWR_GOOD 1,8
|
||||
|
||||
#define RB_PWR_CHRG 2,3
|
||||
|
||||
#define RB_PWR_LCDBL 0,0
|
||||
#define RB_PWR_LCDBL_IO IOCON_nRESET_PIO0_0
|
||||
#define RB_PWR_LCDBL_IO_FUNC_MASK IOCON_nRESET_PIO0_0_FUNC_MASK
|
||||
#define RB_PWR_LCDBL_IO_FUNC_GPIO IOCON_nRESET_PIO0_0_FUNC_GPIO
|
||||
|
||||
// Hackerbus
|
||||
#define RB_HB0 1,3
|
||||
#define RB_HB0_IO IOCON_PIO1_3
|
||||
|
||||
#define RB_HB1 1,2
|
||||
#define RB_HB1_IO IOCON_PIO1_2
|
||||
#define RB_HB1 0,10
|
||||
#define RB_HB1_IO IOCON_PIO0_10
|
||||
|
||||
#define RB_HB2 1,1
|
||||
#define RB_HB2_IO IOCON_PIO1_1
|
||||
|
@ -95,11 +99,11 @@
|
|||
#define RB_HB3 0,2
|
||||
#define RB_HB3_IO IOCON_PIO0_2
|
||||
|
||||
#define RB_HB4 2,7
|
||||
#define RB_HB4_IO IOCON_PIO2_7
|
||||
#define RB_HB4 1,4
|
||||
#define RB_HB4_IO IOCON_PIO1_4
|
||||
|
||||
#define RB_HB5 0,6
|
||||
#define RB_HB5_IO IOCON_PIO0_6
|
||||
#define RB_HB5 1,2
|
||||
#define RB_HB5_IO IOCON_PIO1_2
|
||||
|
||||
|
||||
// Misc
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
*/
|
||||
#include "lpc134x.h"
|
||||
#include "sysdefs.h"
|
||||
#include "core/gpio/gpio.h"
|
||||
#include "basic/basic.h"
|
||||
|
||||
uint32_t brightness = 100;
|
||||
|
||||
|
@ -10,31 +12,42 @@ void backlightInit(void) {
|
|||
/* Enable the clock for CT16B1 */
|
||||
SCB_SYSAHBCLKCTRL |= (SCB_SYSAHBCLKCTRL_CT16B1);
|
||||
|
||||
/* Configure PIO1.10 as Timer1_16 MAT1 Output */
|
||||
IOCON_PIO1_10 &= ~IOCON_PIO1_10_FUNC_MASK;
|
||||
IOCON_PIO1_10 |= IOCON_PIO1_10_FUNC_CT16B1_MAT1;
|
||||
/* Configure PIO1.9 as Timer1_16 MAT0 Output */
|
||||
IOCON_PIO1_9 &= ~IOCON_PIO1_9_FUNC_MASK;
|
||||
IOCON_PIO1_9 |= IOCON_PIO1_9_FUNC_CT16B1_MAT0;
|
||||
|
||||
/* Set default duty cycle (MR1) */
|
||||
TMR_TMR16B1MR1 = (0xFFFF * (100 - brightness)) / 100;
|
||||
TMR_TMR16B1MR0 = (0xFFFF * (100 - brightness)) / 100;
|
||||
|
||||
/* External Match Register Settings for PWM */
|
||||
TMR_TMR16B1EMR = TMR_TMR16B1EMR_EMC1_TOGGLE | TMR_TMR16B1EMR_EM1;
|
||||
TMR_TMR16B1EMR = TMR_TMR16B1EMR_EMC0_TOGGLE | TMR_TMR16B1EMR_EM0;
|
||||
|
||||
/* enable Timer1 */
|
||||
TMR_TMR16B1TCR = TMR_TMR16B1TCR_COUNTERENABLE_ENABLED;
|
||||
|
||||
/* Enable PWM1 */
|
||||
TMR_TMR16B1PWMC = TMR_TMR16B1PWMC_PWM1_ENABLED;
|
||||
/* Enable PWM0 */
|
||||
TMR_TMR16B1PWMC = TMR_TMR16B1PWMC_PWM0_ENABLED;
|
||||
|
||||
// Enable Step-UP
|
||||
gpioSetDir(RB_PWR_LCDBL, gpioDirection_Output);
|
||||
gpioSetValue(RB_PWR_LCDBL, 0);
|
||||
}
|
||||
|
||||
int backlightSetBrightness(uint32_t percentage) {
|
||||
if ((percentage < 1) || (percentage > 100)) {
|
||||
if ((percentage < 0) || (percentage > 100)) {
|
||||
/* brightness must be a value between 1 and 100 */
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( percentage == 0 ){
|
||||
gpioSetDir(RB_PWR_LCDBL, gpioDirection_Input);
|
||||
}else{
|
||||
gpioSetDir(RB_PWR_LCDBL, gpioDirection_Output);
|
||||
gpioSetValue(RB_PWR_LCDBL, 0);
|
||||
}
|
||||
|
||||
/* Set Duty Cycle (MR1) */
|
||||
TMR_TMR16B1MR1 = (0xFFFF * (100 - (brightness = percentage))) / 100;
|
||||
TMR_TMR16B1MR0 = (0xFFFF * (100 - (brightness = percentage))) / 100;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -41,8 +41,10 @@ int inverted = 0;
|
|||
*/
|
||||
|
||||
#define CS 2,1
|
||||
#define SCK 0,10
|
||||
#define SCK 2,11
|
||||
//#define SCK 2,8
|
||||
#define SDA 0,9
|
||||
//#define SDA 2,8
|
||||
#define RST 2,2
|
||||
|
||||
void lcdWrite(uint8_t cd, uint8_t data)
|
||||
|
@ -116,8 +118,7 @@ void lcdRead(uint8_t data)
|
|||
|
||||
void lcdInit(void)
|
||||
{
|
||||
IOCON_SWCLK_PIO0_10 = 0x51;
|
||||
|
||||
//IOCON_SWCLK_PIO0_10 = 0x51;
|
||||
gpioSetValue(RST, 1);
|
||||
gpioSetValue(CS, 1);
|
||||
|
||||
|
|
1
main.c
1
main.c
|
@ -20,6 +20,7 @@ int main(void) {
|
|||
//enable clocks to adc and watchdog
|
||||
pmuInit();
|
||||
|
||||
|
||||
// initialise basic badge functions
|
||||
rbInit();
|
||||
|
||||
|
|
|
@ -69,13 +69,13 @@ void delayms(int);
|
|||
uint8_t getInput(void) {
|
||||
uint8_t result = BTN_NONE;
|
||||
|
||||
if (gpioGetValue(RB_BTN1)==0) {
|
||||
while(gpioGetValue(RB_BTN1)==0);
|
||||
if (gpioGetValue(RB_BTN3)==0) {
|
||||
while(gpioGetValue(RB_BTN3)==0);
|
||||
result += BTN_UP;
|
||||
}
|
||||
|
||||
if (gpioGetValue(RB_BTN0)==0) {
|
||||
while(gpioGetValue(RB_BTN0)==0);
|
||||
if (gpioGetValue(RB_BTN2)==0) {
|
||||
while(gpioGetValue(RB_BTN2)==0);
|
||||
result += BTN_DOWN;
|
||||
}
|
||||
|
||||
|
@ -84,13 +84,13 @@ uint8_t getInput(void) {
|
|||
result += BTN_ENTER;
|
||||
}
|
||||
|
||||
if (gpioGetValue(RB_BTN2)==0) {
|
||||
while(gpioGetValue(RB_BTN2)==0);
|
||||
if (gpioGetValue(RB_BTN0)==0) {
|
||||
while(gpioGetValue(RB_BTN0)==0);
|
||||
result += BTN_LEFT;
|
||||
}
|
||||
|
||||
if (gpioGetValue(RB_BTN3)==0) {
|
||||
while(gpioGetValue(RB_BTN3)==0);
|
||||
if (gpioGetValue(RB_BTN1)==0) {
|
||||
while(gpioGetValue(RB_BTN1)==0);
|
||||
result += BTN_RIGHT;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,8 @@ void module_sec(void) {
|
|||
gpioSetDir(RB_LED3, gpioDirection_Input);
|
||||
IOCON_PIO1_11 = 0x41;
|
||||
|
||||
backlightInit();
|
||||
|
||||
uint32_t j=0;
|
||||
|
||||
//disable the JTAG on PIO3_3
|
||||
|
|
|
@ -13,6 +13,7 @@ APP_SRC= \
|
|||
src/nRF_API.c \
|
||||
src/pin.c \
|
||||
src/pmu.c \
|
||||
src/display.c
|
||||
# src/storage.c
|
||||
|
||||
APP_SRC+=$(IMAGES_C)
|
||||
|
|
|
@ -42,6 +42,6 @@
|
|||
#define TASK_NRF_STACK_SIZE 256
|
||||
#define TASK_NRF_PRIORITY (tskIDLE_PRIORITY + 2)
|
||||
|
||||
#define UPDATE_INTERVAL_MS 50
|
||||
#define UPDATE_INTERVAL_MS 250
|
||||
|
||||
#endif/*__CONFIG_H__*/
|
||||
|
|
|
@ -33,13 +33,15 @@
|
|||
#include "nRF_API.h"
|
||||
#include "nRF_CMD.h"
|
||||
#include "openbeacon-proto.h"
|
||||
#include "display.h"
|
||||
|
||||
/* OpenBeacon packet */
|
||||
static TBeaconEnvelope g_Beacon;
|
||||
|
||||
/* Default TEA encryption key of the tag - MUST CHANGE ! */
|
||||
static const uint32_t xxtea_key[4] =
|
||||
{ 0x00112233, 0x44556677, 0x8899AABB, 0xCCDDEEFF };
|
||||
//{ 0x00112233, 0x44556677, 0x8899AABB, 0xCCDDEEFF };
|
||||
{ 0xb4595344, 0xd3e119b6, 0xa814d0ec, 0xeff5a24e };
|
||||
|
||||
/* set nRF24L01 broadcast mac */
|
||||
static const unsigned char broadcast_mac[NRF_MAX_MAC_SIZE] =
|
||||
|
@ -196,7 +198,7 @@ void nRF_Task(void *pvParameters)
|
|||
/* Initialize OpenBeacon nRF24L01 interface */
|
||||
if (!nRFAPI_Init(81, broadcast_mac, sizeof(broadcast_mac), 0))
|
||||
/* bail out if can't initialize */
|
||||
// for (;;)
|
||||
for (;;)
|
||||
{
|
||||
pin_led(GPIO_LED0 | GPIO_LED1);
|
||||
vTaskDelay(500 / portTICK_RATE_MS);
|
||||
|
@ -349,6 +351,9 @@ int main(void)
|
|||
/* wait on boot - debounce */
|
||||
for (i = 0; i < 2000000; i++)
|
||||
;
|
||||
|
||||
//pmu_off(0);
|
||||
lcdInit();
|
||||
/* initialize pins */
|
||||
pin_init();
|
||||
/* Init SPI */
|
||||
|
|
|
@ -29,9 +29,10 @@
|
|||
#include "nRF_CMD.h"
|
||||
#include "nRF_API.h"
|
||||
|
||||
#ifndef NRF_RFOPTIONS
|
||||
//#ifndef NRF_RFOPTIONS
|
||||
//#define NRF_RFOPTIONS 0x99
|
||||
#define NRF_RFOPTIONS 0x09
|
||||
#endif /*NRF_RFOPTIONS */
|
||||
//#endif /*NRF_RFOPTIONS */
|
||||
|
||||
// set broadcast MAC to 'BCAST'
|
||||
const uint8_t rfbroadcast_mac[NRF_MAX_MAC_SIZE] = { 'T', 'S', 'A', 'C', 'B' };
|
||||
|
@ -91,13 +92,21 @@ nRFAPI_Init (uint8_t channel,
|
|||
const uint8_t * mac, uint8_t mac_size, uint8_t features)
|
||||
{
|
||||
uint8_t i;
|
||||
|
||||
// init IO layer of nRF24L01
|
||||
nRFCMD_Init ();
|
||||
|
||||
/* wait for nRF to boot */
|
||||
vTaskDelay(10 / portTICK_RATE_MS);
|
||||
|
||||
//nRFCMD_RegWriteStatusRead (CONFIG | WRITE_REG, 0x2);
|
||||
// set selected channel
|
||||
//nRFAPI_SetChannel (channel);
|
||||
|
||||
// set Tx power
|
||||
//nRFAPI_SetTxPower (3);
|
||||
//nRFCMD_CE(1);
|
||||
//while(1);
|
||||
|
||||
// check validity
|
||||
if (mac_size < 3 || mac_size > 5 || !nRFAPI_DetectChip ())
|
||||
return 0;
|
||||
|
|
|
@ -26,10 +26,10 @@
|
|||
/* IO definitions */
|
||||
#define BUTTON0_PORT 2
|
||||
#define BUTTON0_BIT 7
|
||||
#define LED0_PORT 2
|
||||
#define LED0_BIT 5
|
||||
#define LED1_PORT 2
|
||||
#define LED1_BIT 4
|
||||
#define LED0_PORT 1
|
||||
#define LED0_BIT 11
|
||||
#define LED1_PORT 1
|
||||
#define LED1_BIT 7
|
||||
#define CPU_MODE_PMU_PORT 2
|
||||
#define CPU_MODE_PMU_BIT 8
|
||||
|
||||
|
|
Loading…
Reference in New Issue