From 1d0d6f316707cbaac23b3b0b77b5d554f6e7954d Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Tue, 25 Nov 2014 16:33:49 +0100 Subject: gyro/accel: Disable pull-ups Not sure they are needed. --- accel.c | 11 +++++------ gyro.c | 7 +++---- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/accel.c b/accel.c index 6d6d9d2..ce44c42 100644 --- a/accel.c +++ b/accel.c @@ -53,8 +53,8 @@ static bool reading = false; */ ISR(PCINT1_vect) { const bool interrupt = (PINC >> PINC1) & 0x1; - /* low-active */ - if (!interrupt) { + /* high-active */ + if (interrupt) { enableWakeup (WAKE_ACCEL); } else { disableWakeup (WAKE_ACCEL); @@ -62,9 +62,8 @@ ISR(PCINT1_vect) { } void accelInit () { - /* set interrupt lines to input with pull-up */ + /* set interrupt lines to input */ DDRC = DDRC & ~((1 << DDC0) | (1 << DDC1)); - PORTC = PORTC | (1 << PORTC0) | (1 << PORTC1); /* enable interrupt PCI1 for PCINT8/9 */ PCICR = PCICR | (1 << PCIE1); /* enable interrupts from port PC0/PC1 aka PCINT8/PCINT9 */ @@ -76,9 +75,9 @@ void accelStart () { /* configuration: * disable power-down-mode, enable z-axis * defaults - * low active, data ready interrupt on int2 + * push-pull, high-active, data ready interrupt on int2 */ - uint8_t data[] = {0b01000100, 0b0, 0b10100000}; + uint8_t data[] = {0b01000100, 0b0, 0b00100000}; if (!twRequest (TWM_WRITE, LIS302DL, LIS302DL_CTRLREG1, data, sizeof (data)/sizeof (*data))) { diff --git a/gyro.c b/gyro.c index f291d91..fe833eb 100644 --- a/gyro.c +++ b/gyro.c @@ -42,9 +42,8 @@ ISR(PCINT0_vect) { } void gyroInit () { - /* set PB1 to input, with pull-up */ + /* set PB1 to input */ DDRB = DDRB & ~((1 << DDB1)); - PORTB = PORTB | (1 << PORTB1); /* enable interrupt PCI0 */ PCICR = PCICR | (1 << PCIE0); /* enable interrupts on PB1/PCINT1 */ @@ -56,10 +55,10 @@ void gyroStart () { /* configuration: * disable power-down-mode, enable z * defaults - * low-active (does not work?), push-pull, drdy on int2 + * high-active, push-pull, drdy on int2 * select 2000dps */ - uint8_t data[] = {0b00001100, 0b0, 0b00101000, 0b00110000}; + uint8_t data[] = {0b00001100, 0b0, 0b00001000, 0b00110000}; if (!twRequest (TWM_WRITE, L3GD20, L3GD20_CTRLREG1, data, sizeof (data)/sizeof (*data))) { -- cgit v1.2.3