vlx lib

Committer:
vijaynvr
Date:
Sun Feb 08 14:26:51 2015 +0000
Revision:
0:bc9f26b5dadf
working

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vijaynvr 0:bc9f26b5dadf 1 /*******************************************************************************
vijaynvr 0:bc9f26b5dadf 2 ################################################################################
vijaynvr 0:bc9f26b5dadf 3 # (C) STMicroelectronics 2014
vijaynvr 0:bc9f26b5dadf 4 #
vijaynvr 0:bc9f26b5dadf 5 # This program is free software; you can redistribute it and/or modify it under
vijaynvr 0:bc9f26b5dadf 6 # the terms of the GNU General Public License version 2 and only version 2 as
vijaynvr 0:bc9f26b5dadf 7 # published by the Free Software Foundation.
vijaynvr 0:bc9f26b5dadf 8 #
vijaynvr 0:bc9f26b5dadf 9 # This program is distributed in the hope that it will be useful, but WITHOUT
vijaynvr 0:bc9f26b5dadf 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
vijaynvr 0:bc9f26b5dadf 11 # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
vijaynvr 0:bc9f26b5dadf 12 # details.
vijaynvr 0:bc9f26b5dadf 13 #
vijaynvr 0:bc9f26b5dadf 14 # You should have received a copy of the GNU General Public License along with
vijaynvr 0:bc9f26b5dadf 15 # this program; if not, write to the Free Software Foundation, Inc.,
vijaynvr 0:bc9f26b5dadf 16 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
vijaynvr 0:bc9f26b5dadf 17 #
vijaynvr 0:bc9f26b5dadf 18 #------------------------------------------------------------------------------
vijaynvr 0:bc9f26b5dadf 19 # Imaging Division
vijaynvr 0:bc9f26b5dadf 20 ################################################################################
vijaynvr 0:bc9f26b5dadf 21 ********************************************************************************/
vijaynvr 0:bc9f26b5dadf 22
vijaynvr 0:bc9f26b5dadf 23 #include "definitions.h"
vijaynvr 0:bc9f26b5dadf 24 #include "platform.h"
vijaynvr 0:bc9f26b5dadf 25 #include "debug.h"
vijaynvr 0:bc9f26b5dadf 26 #include "i2c_log.h"
vijaynvr 0:bc9f26b5dadf 27 #ifndef __KERNEL__
vijaynvr 0:bc9f26b5dadf 28 #include "i2c_stm32_mbed.h"
vijaynvr 0:bc9f26b5dadf 29 #include "timer_stm32_mbed.h"
vijaynvr 0:bc9f26b5dadf 30 #else
vijaynvr 0:bc9f26b5dadf 31 #include <linux/i2c.h>
vijaynvr 0:bc9f26b5dadf 32 #define I2C_M_WR 0x00
vijaynvr 0:bc9f26b5dadf 33 #endif
vijaynvr 0:bc9f26b5dadf 34 static char time_str[255];
vijaynvr 0:bc9f26b5dadf 35
vijaynvr 0:bc9f26b5dadf 36 void debug1_print(char* pBuffer)
vijaynvr 0:bc9f26b5dadf 37 {
vijaynvr 0:bc9f26b5dadf 38 //output to UART
vijaynvr 0:bc9f26b5dadf 39 serial_printf(pBuffer);
vijaynvr 0:bc9f26b5dadf 40 }
vijaynvr 0:bc9f26b5dadf 41
vijaynvr 0:bc9f26b5dadf 42 void debug2_print(char* pBuffer)
vijaynvr 0:bc9f26b5dadf 43 {
vijaynvr 0:bc9f26b5dadf 44 //output to UART
vijaynvr 0:bc9f26b5dadf 45 serial_printf(pBuffer);
vijaynvr 0:bc9f26b5dadf 46 }
vijaynvr 0:bc9f26b5dadf 47
vijaynvr 0:bc9f26b5dadf 48 void i2c_initialise(uint32_t addr)
vijaynvr 0:bc9f26b5dadf 49 {
vijaynvr 0:bc9f26b5dadf 50 stm32_i2c_initialise(addr);
vijaynvr 0:bc9f26b5dadf 51 }
vijaynvr 0:bc9f26b5dadf 52
vijaynvr 0:bc9f26b5dadf 53 void i2c_close()
vijaynvr 0:bc9f26b5dadf 54 {
vijaynvr 0:bc9f26b5dadf 55 stm32_i2c_close();
vijaynvr 0:bc9f26b5dadf 56 }
vijaynvr 0:bc9f26b5dadf 57
vijaynvr 0:bc9f26b5dadf 58 void i2c_write_byte(uint32_t reg, uint8_t data, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 59 {
vijaynvr 0:bc9f26b5dadf 60 stm32_i2c_write_byte(reg, data, baseAddr);
vijaynvr 0:bc9f26b5dadf 61 i2c_log_outputWriteByteMsg(data, reg);
vijaynvr 0:bc9f26b5dadf 62 }
vijaynvr 0:bc9f26b5dadf 63
vijaynvr 0:bc9f26b5dadf 64
vijaynvr 0:bc9f26b5dadf 65 void i2c_write_word(uint32_t reg, uint16_t data, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 66 {
vijaynvr 0:bc9f26b5dadf 67 stm32_i2c_write_word(reg, data, baseAddr);
vijaynvr 0:bc9f26b5dadf 68 i2c_log_outputWriteWordMsg(data, reg);
vijaynvr 0:bc9f26b5dadf 69 }
vijaynvr 0:bc9f26b5dadf 70
vijaynvr 0:bc9f26b5dadf 71 void i2c_write(uint32_t reg, uint8_t *data, int32_t size, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 72 {
vijaynvr 0:bc9f26b5dadf 73 stm32_i2c_write(reg, data, size, baseAddr);
vijaynvr 0:bc9f26b5dadf 74 i2c_log_outputWriteMsg(data, reg, size);
vijaynvr 0:bc9f26b5dadf 75 }
vijaynvr 0:bc9f26b5dadf 76
vijaynvr 0:bc9f26b5dadf 77 uint8_t i2c_read_byte(uint32_t reg, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 78 {
vijaynvr 0:bc9f26b5dadf 79 uint8_t data = stm32_i2c_read_byte(reg, baseAddr);
vijaynvr 0:bc9f26b5dadf 80 i2c_log_outputReadByteMsg(data, reg);
vijaynvr 0:bc9f26b5dadf 81 return data;
vijaynvr 0:bc9f26b5dadf 82 }
vijaynvr 0:bc9f26b5dadf 83
vijaynvr 0:bc9f26b5dadf 84 uint16_t i2c_read_word(uint32_t reg, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 85 {
vijaynvr 0:bc9f26b5dadf 86 uint16_t data = stm32_i2c_read_word(reg, baseAddr);
vijaynvr 0:bc9f26b5dadf 87 i2c_log_outputReadWordMsg(data, reg);
vijaynvr 0:bc9f26b5dadf 88 return data;
vijaynvr 0:bc9f26b5dadf 89 }
vijaynvr 0:bc9f26b5dadf 90
vijaynvr 0:bc9f26b5dadf 91 uint32_t i2c_read_uint32(uint32_t reg, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 92 {
vijaynvr 0:bc9f26b5dadf 93 uint32_t data = stm32_i2c_read_int(reg, baseAddr);
vijaynvr 0:bc9f26b5dadf 94 i2c_log_outputReadIntMsg(data, reg);
vijaynvr 0:bc9f26b5dadf 95 return data;
vijaynvr 0:bc9f26b5dadf 96 }
vijaynvr 0:bc9f26b5dadf 97
vijaynvr 0:bc9f26b5dadf 98 void i2c_read(uint32_t reg, uint8_t *dataOut, int32_t size, uint8_t baseAddr)
vijaynvr 0:bc9f26b5dadf 99 {
vijaynvr 0:bc9f26b5dadf 100 stm32_i2c_read(reg, dataOut, size, baseAddr);
vijaynvr 0:bc9f26b5dadf 101 i2c_log_outputReadMsg(dataOut, reg, size);
vijaynvr 0:bc9f26b5dadf 102 }
vijaynvr 0:bc9f26b5dadf 103
vijaynvr 0:bc9f26b5dadf 104 void timer_start()
vijaynvr 0:bc9f26b5dadf 105 {
vijaynvr 0:bc9f26b5dadf 106 stm32_timer_start();
vijaynvr 0:bc9f26b5dadf 107 }
vijaynvr 0:bc9f26b5dadf 108
vijaynvr 0:bc9f26b5dadf 109 double_t timer_elapsedTime()
vijaynvr 0:bc9f26b5dadf 110 {
vijaynvr 0:bc9f26b5dadf 111 return stm32_timer_elapsed_time();
vijaynvr 0:bc9f26b5dadf 112 }
vijaynvr 0:bc9f26b5dadf 113
vijaynvr 0:bc9f26b5dadf 114 void timer_stop()
vijaynvr 0:bc9f26b5dadf 115 {
vijaynvr 0:bc9f26b5dadf 116 stm32_timer_stop();
vijaynvr 0:bc9f26b5dadf 117 }
vijaynvr 0:bc9f26b5dadf 118
vijaynvr 0:bc9f26b5dadf 119 void timer_wait_ms(int32_t ms)
vijaynvr 0:bc9f26b5dadf 120 {
vijaynvr 0:bc9f26b5dadf 121 stm32_timer_wait_ms((int)ms);
vijaynvr 0:bc9f26b5dadf 122 }
vijaynvr 0:bc9f26b5dadf 123
vijaynvr 0:bc9f26b5dadf 124 void timer_wait_us(int32_t us)
vijaynvr 0:bc9f26b5dadf 125 {
vijaynvr 0:bc9f26b5dadf 126 stm32_timer_wait_us((int)us);
vijaynvr 0:bc9f26b5dadf 127 }
vijaynvr 0:bc9f26b5dadf 128
vijaynvr 0:bc9f26b5dadf 129 uint32_t timer_get_clock_time_usecs()
vijaynvr 0:bc9f26b5dadf 130 {
vijaynvr 0:bc9f26b5dadf 131 return stm32_timer_get_clock_time_usecs();
vijaynvr 0:bc9f26b5dadf 132 }
vijaynvr 0:bc9f26b5dadf 133
vijaynvr 0:bc9f26b5dadf 134 uint32_t timer_get_clock_time_msecs()
vijaynvr 0:bc9f26b5dadf 135 {
vijaynvr 0:bc9f26b5dadf 136 return stm32_timer_get_clock_time_msecs();
vijaynvr 0:bc9f26b5dadf 137 }
vijaynvr 0:bc9f26b5dadf 138
vijaynvr 0:bc9f26b5dadf 139 char* timer_get_clock_timestamp()
vijaynvr 0:bc9f26b5dadf 140 {
vijaynvr 0:bc9f26b5dadf 141 stm32_timer_get_clock_timestamp(time_str);
vijaynvr 0:bc9f26b5dadf 142 return time_str;
vijaynvr 0:bc9f26b5dadf 143 }
vijaynvr 0:bc9f26b5dadf 144