diff options
author | Damien George <damien.p.george@gmail.com> | 2014-02-16 21:41:57 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-02-16 21:41:57 +0000 |
commit | 2abbae341983b9f9a05082a6a5fd96397299b8a8 (patch) | |
tree | cdfa5e58097c9f1d67944724ac67be4b6bb3a348 | |
parent | 754a8dd82767485bdf983a3272d9a8d7a0d23ec8 (diff) | |
download | micropython-2abbae341983b9f9a05082a6a5fd96397299b8a8.tar.gz micropython-2abbae341983b9f9a05082a6a5fd96397299b8a8.zip |
stm: Rename mma -> accel.
-rw-r--r-- | stm/Makefile | 2 | ||||
-rw-r--r-- | stm/accel.c (renamed from stm/mma.c) | 128 | ||||
-rw-r--r-- | stm/accel.h | 11 | ||||
-rw-r--r-- | stm/main.c | 22 | ||||
-rw-r--r-- | stm/mma.h | 11 | ||||
-rw-r--r-- | stm/qstrdefsport.h | 4 |
6 files changed, 89 insertions, 89 deletions
diff --git a/stm/Makefile b/stm/Makefile index f677adfbcf..bf56fc9bc1 100644 --- a/stm/Makefile +++ b/stm/Makefile @@ -55,7 +55,7 @@ SRC_C = \ servo.c \ flash.c \ storage.c \ - mma.c \ + accel.c \ usart.c \ usb.c \ timer.c \ diff --git a/stm/mma.c b/stm/accel.c index 8418c5b419..ae9d588680 100644 --- a/stm/mma.c +++ b/stm/accel.c @@ -10,11 +10,11 @@ #include "systick.h" #include "obj.h" #include "runtime.h" -#include "mma.h" +#include "accel.h" -#define MMA_ADDR (0x4c) +#define ACCEL_ADDR (0x4c) -void mma_init(void) { +void accel_init(void) { RCC->APB1ENR |= RCC_APB1ENR_I2C1EN; // enable I2C1 //gpio_pin_init(GPIOB, 6 /* B6 is SCL */, 2 /* AF mode */, 1 /* open drain output */, 1 /* 25 MHz */, 0 /* no pull up or pull down */); @@ -25,7 +25,7 @@ void mma_init(void) { GPIO_InitTypeDef GPIO_InitStructure; - // PB5 is connected to AVDD; pull high to enable MMA device + // PB5 is connected to AVDD; pull high to enable MMA accel device GPIOB->BSRRH = GPIO_Pin_5; // PB5 low to start with GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; @@ -75,21 +75,21 @@ void mma_init(void) { // set START bit in CR1 to generate a start cond! // init the chip via I2C commands - mma_start(MMA_ADDR, 1); - mma_send_byte(0); - mma_stop(); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(0); + accel_stop(); /* // read and print all 11 registers - mma_start(MMA_ADDR, 1); - mma_send_byte(0); - mma_restart(MMA_ADDR, 0); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(0); + accel_restart(ACCEL_ADDR, 0); for (int i = 0; i <= 0xa; i++) { int data; if (i == 0xa) { - data = mma_read_nack(); + data = accel_read_nack(); } else { - data = mma_read_ack(); + data = accel_read_ack(); } printf(" %02x", data); } @@ -97,26 +97,26 @@ void mma_init(void) { */ // put into active mode - mma_start(MMA_ADDR, 1); - mma_send_byte(7); // mode - mma_send_byte(1); // active mode - mma_stop(); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(7); // mode + accel_send_byte(1); // active mode + accel_stop(); /* // infinite loop to read values for (;;) { sys_tick_delay_ms(500); - mma_start(MMA_ADDR, 1); - mma_send_byte(0); - mma_restart(MMA_ADDR, 0); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(0); + accel_restart(ACCEL_ADDR, 0); for (int i = 0; i <= 3; i++) { int data; if (i == 3) { - data = mma_read_nack(); + data = accel_read_nack(); printf(" %02x\n", data); } else { - data = mma_read_ack() & 0x3f; + data = accel_read_ack() & 0x3f; if (data & 0x20) { data |= ~0x1f; } @@ -134,7 +134,7 @@ static uint32_t i2c_get_sr(void) { return (sr2 << 16) | sr1; } -void mma_restart(uint8_t addr, int write) { +void accel_restart(uint8_t addr, int write) { // send start condition I2C1->CR1 |= I2C_CR1_START; @@ -142,7 +142,7 @@ void mma_restart(uint8_t addr, int write) { uint32_t timeout = 1000000; while ((i2c_get_sr() & 0x00030001) != 0x00030001) { if (--timeout == 0) { - printf("timeout in mma_restart\n"); + printf("timeout in accel_restart\n"); return; } } @@ -154,7 +154,7 @@ void mma_restart(uint8_t addr, int write) { timeout = 1000000; while ((i2c_get_sr() & 0x00070082) != 0x00070082) { if (--timeout == 0) { - printf("timeout in mma_restart write\n"); + printf("timeout in accel_restart write\n"); return; } } @@ -165,48 +165,48 @@ void mma_restart(uint8_t addr, int write) { timeout = 1000000; while ((i2c_get_sr() & 0x00030002) != 0x00030002) { if (--timeout == 0) { - printf("timeout in mma_restart read\n"); + printf("timeout in accel_restart read\n"); return; } } } } -void mma_start(uint8_t addr, int write) { +void accel_start(uint8_t addr, int write) { // wait until I2C is not busy uint32_t timeout = 1000000; while (I2C1->SR2 & I2C_SR2_BUSY) { if (--timeout == 0) { - printf("timeout in mma_start\n"); + printf("timeout in accel_start\n"); return; } } // do rest of start - mma_restart(addr, write); + accel_restart(addr, write); } -void mma_send_byte(uint8_t data) { +void accel_send_byte(uint8_t data) { // send byte I2C1->DR = data; // wait for TRA, BUSY, MSL, TXE and BTF (byte transmitted) uint32_t timeout = 1000000; while ((i2c_get_sr() & 0x00070084) != 0x00070084) { if (--timeout == 0) { - printf("timeout in mma_send_byte\n"); + printf("timeout in accel_send_byte\n"); return; } } } -uint8_t mma_read_ack(void) { +uint8_t accel_read_ack(void) { // enable ACK of received byte I2C1->CR1 |= I2C_CR1_ACK; // wait for BUSY, MSL and RXNE (byte received) uint32_t timeout = 1000000; while ((i2c_get_sr() & 0x00030040) != 0x00030040) { if (--timeout == 0) { - printf("timeout in mma_read_ack\n"); + printf("timeout in accel_read_ack\n"); break; } } @@ -215,7 +215,7 @@ uint8_t mma_read_ack(void) { return data; } -uint8_t mma_read_nack(void) { +uint8_t accel_read_nack(void) { // disable ACK of received byte (to indicate end of receiving) I2C1->CR1 &= (uint16_t)~((uint16_t)I2C_CR1_ACK); // last byte should apparently also generate a stop condition @@ -224,7 +224,7 @@ uint8_t mma_read_nack(void) { uint32_t timeout = 1000000; while ((i2c_get_sr() & 0x00030040) != 0x00030040) { if (--timeout == 0) { - printf("timeout in mma_read_nack\n"); + printf("timeout in accel_read_nack\n"); break; } } @@ -233,7 +233,7 @@ uint8_t mma_read_nack(void) { return data; } -void mma_stop(void) { +void accel_stop(void) { // send stop condition I2C1->CR1 |= I2C_CR1_STOP; } @@ -241,60 +241,60 @@ void mma_stop(void) { /******************************************************************************/ /* Micro Python bindings */ -int mma_buf[12]; +int accel_buf[12]; -mp_obj_t pyb_mma_read(void) { +mp_obj_t pyb_accel_read(void) { for (int i = 0; i <= 6; i += 3) { - mma_buf[0 + i] = mma_buf[0 + i + 3]; - mma_buf[1 + i] = mma_buf[1 + i + 3]; - mma_buf[2 + i] = mma_buf[2 + i + 3]; + accel_buf[0 + i] = accel_buf[0 + i + 3]; + accel_buf[1 + i] = accel_buf[1 + i + 3]; + accel_buf[2 + i] = accel_buf[2 + i + 3]; } - mma_start(MMA_ADDR, 1); - mma_send_byte(0); - mma_restart(MMA_ADDR, 0); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(0); + accel_restart(ACCEL_ADDR, 0); for (int i = 0; i <= 2; i++) { - int v = mma_read_ack() & 0x3f; + int v = accel_read_ack() & 0x3f; if (v & 0x20) { v |= ~0x1f; } - mma_buf[9 + i] = v; + accel_buf[9 + i] = v; } - int jolt_info = mma_read_nack(); + int jolt_info = accel_read_nack(); mp_obj_t data[4]; - data[0] = mp_obj_new_int(mma_buf[0] + mma_buf[3] + mma_buf[6] + mma_buf[9]); - data[1] = mp_obj_new_int(mma_buf[1] + mma_buf[4] + mma_buf[7] + mma_buf[10]); - data[2] = mp_obj_new_int(mma_buf[2] + mma_buf[5] + mma_buf[8] + mma_buf[11]); + data[0] = mp_obj_new_int(accel_buf[0] + accel_buf[3] + accel_buf[6] + accel_buf[9]); + data[1] = mp_obj_new_int(accel_buf[1] + accel_buf[4] + accel_buf[7] + accel_buf[10]); + data[2] = mp_obj_new_int(accel_buf[2] + accel_buf[5] + accel_buf[8] + accel_buf[11]); data[3] = mp_obj_new_int(jolt_info); return rt_build_tuple(4, data); } -MP_DEFINE_CONST_FUN_OBJ_0(pyb_mma_read_obj, pyb_mma_read); +MP_DEFINE_CONST_FUN_OBJ_0(pyb_accel_read_obj, pyb_accel_read); -mp_obj_t pyb_mma_read_all(void) { +mp_obj_t pyb_accel_read_all(void) { mp_obj_t data[11]; - mma_start(MMA_ADDR, 1); - mma_send_byte(0); - mma_restart(MMA_ADDR, 0); + accel_start(ACCEL_ADDR, 1); + accel_send_byte(0); + accel_restart(ACCEL_ADDR, 0); for (int i = 0; i <= 9; i++) { - data[i] = mp_obj_new_int(mma_read_ack()); + data[i] = mp_obj_new_int(accel_read_ack()); } - data[10] = mp_obj_new_int(mma_read_nack()); + data[10] = mp_obj_new_int(accel_read_nack()); return rt_build_tuple(11, data); } -MP_DEFINE_CONST_FUN_OBJ_0(pyb_mma_read_all_obj, pyb_mma_read_all); +MP_DEFINE_CONST_FUN_OBJ_0(pyb_accel_read_all_obj, pyb_accel_read_all); -mp_obj_t pyb_mma_write_mode(mp_obj_t o_int, mp_obj_t o_mode) { - mma_start(MMA_ADDR, 1); - mma_send_byte(6); // start at int - mma_send_byte(mp_obj_get_int(o_int)); - mma_send_byte(mp_obj_get_int(o_mode)); - mma_stop(); +mp_obj_t pyb_accel_write_mode(mp_obj_t o_int, mp_obj_t o_mode) { + accel_start(ACCEL_ADDR, 1); + accel_send_byte(6); // start at int + accel_send_byte(mp_obj_get_int(o_int)); + accel_send_byte(mp_obj_get_int(o_mode)); + accel_stop(); return mp_const_none; } -MP_DEFINE_CONST_FUN_OBJ_2(pyb_mma_write_mode_obj, pyb_mma_write_mode); +MP_DEFINE_CONST_FUN_OBJ_2(pyb_accel_write_mode_obj, pyb_accel_write_mode); diff --git a/stm/accel.h b/stm/accel.h new file mode 100644 index 0000000000..c2320f1a4e --- /dev/null +++ b/stm/accel.h @@ -0,0 +1,11 @@ +void accel_init(void); +void accel_restart(uint8_t addr, int write); +void accel_start(uint8_t addr, int write); +void accel_send_byte(uint8_t data); +uint8_t accel_read_ack(void); +uint8_t accel_read_nack(void); +void accel_stop(void); + +MP_DECLARE_CONST_FUN_OBJ(pyb_accel_read_obj); +MP_DECLARE_CONST_FUN_OBJ(pyb_accel_read_all_obj); +MP_DECLARE_CONST_FUN_OBJ(pyb_accel_write_mode_obj); diff --git a/stm/main.c b/stm/main.c index 528408b01f..dabbaf1b05 100644 --- a/stm/main.c +++ b/stm/main.c @@ -38,7 +38,7 @@ #include "lcd.h" #include "storage.h" #include "sdcard.h" -#include "mma.h" +#include "accel.h" #include "usart.h" #include "usb.h" #include "timer.h" @@ -463,9 +463,9 @@ soft_reset: #endif rt_store_attr(m, MP_QSTR_pwm, rt_make_function_n(2, pyb_pwm_set)); #if MICROPY_HW_HAS_MMA7660 - rt_store_attr(m, MP_QSTR_accel, (mp_obj_t)&pyb_mma_read_obj); - rt_store_attr(m, MP_QSTR_mma_read, (mp_obj_t)&pyb_mma_read_all_obj); - rt_store_attr(m, MP_QSTR_mma_mode, (mp_obj_t)&pyb_mma_write_mode_obj); + rt_store_attr(m, MP_QSTR_accel, (mp_obj_t)&pyb_accel_read_obj); + rt_store_attr(m, MP_QSTR_accel_read, (mp_obj_t)&pyb_accel_read_all_obj); + rt_store_attr(m, MP_QSTR_accel_mode, (mp_obj_t)&pyb_accel_write_mode_obj); #endif rt_store_attr(m, MP_QSTR_hid, rt_make_function_n(1, pyb_hid_send_report)); #if MICROPY_HW_ENABLE_RTC @@ -583,8 +583,8 @@ soft_reset: if (first_soft_reset) { #if MICROPY_HW_HAS_MMA7660 - // MMA: init and reset address to zero - mma_init(); + // MMA accel: init and reset address to zero + accel_init(); #endif } @@ -654,17 +654,17 @@ soft_reset: #else data[0] = 0x00; #endif - mma_start(0x4c /* MMA_ADDR */, 1); - mma_send_byte(0); - mma_restart(0x4c /* MMA_ADDR */, 0); + accel_start(0x4c /* ACCEL_ADDR */, 1); + accel_send_byte(0); + accel_restart(0x4c /* ACCEL_ADDR */, 0); for (int i = 0; i <= 1; i++) { - int v = mma_read_ack() & 0x3f; + int v = accel_read_ack() & 0x3f; if (v & 0x20) { v |= ~0x1f; } data[1 + i] = v; } - mma_read_nack(); + accel_read_nack(); usb_hid_send_report(data); sys_tick_delay_ms(15); } diff --git a/stm/mma.h b/stm/mma.h deleted file mode 100644 index 0bdf5d1009..0000000000 --- a/stm/mma.h +++ /dev/null @@ -1,11 +0,0 @@ -void mma_init(void); -void mma_restart(uint8_t addr, int write); -void mma_start(uint8_t addr, int write); -void mma_send_byte(uint8_t data); -uint8_t mma_read_ack(void); -uint8_t mma_read_nack(void); -void mma_stop(void); - -MP_DECLARE_CONST_FUN_OBJ(pyb_mma_read_obj); -MP_DECLARE_CONST_FUN_OBJ(pyb_mma_read_all_obj); -MP_DECLARE_CONST_FUN_OBJ(pyb_mma_write_mode_obj); diff --git a/stm/qstrdefsport.h b/stm/qstrdefsport.h index 162e659f36..cc2041f824 100644 --- a/stm/qstrdefsport.h +++ b/stm/qstrdefsport.h @@ -15,8 +15,8 @@ Q(switch) Q(servo) Q(pwm) Q(accel) -Q(mma_read) -Q(mma_mode) +Q(accel_read) +Q(accel_mode) Q(hid) Q(time) Q(rand) |