Create a project for TT_Mxx.

Committer:
ThunderSoft
Date:
Thu Mar 21 09:03:32 2019 +0000
Revision:
0:369a1b265ddb
Add code for FRDM_FXS_MULTI_B

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ThunderSoft 0:369a1b265ddb 1 #include "common_define.h"
ThunderSoft 0:369a1b265ddb 2
ThunderSoft 0:369a1b265ddb 3
ThunderSoft 0:369a1b265ddb 4
ThunderSoft 0:369a1b265ddb 5
ThunderSoft 0:369a1b265ddb 6 void i2cWrite(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumByteToWrite)
ThunderSoft 0:369a1b265ddb 7 {
ThunderSoft 0:369a1b265ddb 8 uint8_t temp_buffer[NumByteToWrite + 1];
ThunderSoft 0:369a1b265ddb 9 temp_buffer[0] = RegisterAddr;
ThunderSoft 0:369a1b265ddb 10 memcpy(temp_buffer + 1,pBuffer,NumByteToWrite);
ThunderSoft 0:369a1b265ddb 11 dev_i2c->write((int)address,(const char *)temp_buffer,NumByteToWrite + 1);
ThunderSoft 0:369a1b265ddb 12 }
ThunderSoft 0:369a1b265ddb 13
ThunderSoft 0:369a1b265ddb 14
ThunderSoft 0:369a1b265ddb 15 void i2cRead(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint8_t RegisterAddr, uint16_t NumByteToRead)
ThunderSoft 0:369a1b265ddb 16 {
ThunderSoft 0:369a1b265ddb 17 dev_i2c->write((int)address,(const char *)&RegisterAddr,1);
ThunderSoft 0:369a1b265ddb 18 dev_i2c->read((int)address,(char *)pBuffer,NumByteToRead);
ThunderSoft 0:369a1b265ddb 19 }
ThunderSoft 0:369a1b265ddb 20
ThunderSoft 0:369a1b265ddb 21 void i2cWriteForVL6180X(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint16_t RegisterAddr, uint16_t NumByteToWrite)
ThunderSoft 0:369a1b265ddb 22 {
ThunderSoft 0:369a1b265ddb 23 uint8_t temp_buffer[NumByteToWrite + 2];
ThunderSoft 0:369a1b265ddb 24 temp_buffer[0] = (RegisterAddr >> 8) & 0xff;
ThunderSoft 0:369a1b265ddb 25 temp_buffer[1] = (RegisterAddr) & 0xff;
ThunderSoft 0:369a1b265ddb 26 memcpy(temp_buffer + 2,pBuffer,NumByteToWrite);
ThunderSoft 0:369a1b265ddb 27 dev_i2c->write((int)address,(const char *)temp_buffer,NumByteToWrite + 2);
ThunderSoft 0:369a1b265ddb 28 }
ThunderSoft 0:369a1b265ddb 29
ThunderSoft 0:369a1b265ddb 30 void i2cReadForVL6180X(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint16_t RegisterAddr, uint16_t NumByteToRead)
ThunderSoft 0:369a1b265ddb 31 {
ThunderSoft 0:369a1b265ddb 32 uint8_t temp_buffer[2];
ThunderSoft 0:369a1b265ddb 33 temp_buffer[0] = (RegisterAddr >> 8) & 0xff;
ThunderSoft 0:369a1b265ddb 34 temp_buffer[1] = (RegisterAddr) & 0xff;
ThunderSoft 0:369a1b265ddb 35 dev_i2c->write((int)address,(const char *)temp_buffer,2);
ThunderSoft 0:369a1b265ddb 36 dev_i2c->read((int)address,(char *)pBuffer,NumByteToRead);
ThunderSoft 0:369a1b265ddb 37 }
ThunderSoft 0:369a1b265ddb 38
ThunderSoft 0:369a1b265ddb 39 void i2cReadForFXS_MUTIL(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint16_t RegisterAddr, uint16_t NumByteToRead)
ThunderSoft 0:369a1b265ddb 40 {
ThunderSoft 0:369a1b265ddb 41 dev_i2c->write((int)address,(const char *)&RegisterAddr,1,true);
ThunderSoft 0:369a1b265ddb 42 dev_i2c->read((int)address,(char *)pBuffer,NumByteToRead);
ThunderSoft 0:369a1b265ddb 43 }
ThunderSoft 0:369a1b265ddb 44
ThunderSoft 0:369a1b265ddb 45 void i2cWriteForFXS_MUTIL(I2C * dev_i2c,uint8_t address,uint8_t* pBuffer, uint16_t RegisterAddr, uint16_t NumByteToWrite)
ThunderSoft 0:369a1b265ddb 46 {
ThunderSoft 0:369a1b265ddb 47 uint8_t temp_buffer[NumByteToWrite + 1];
ThunderSoft 0:369a1b265ddb 48 temp_buffer[0] = RegisterAddr;
ThunderSoft 0:369a1b265ddb 49 memcpy(temp_buffer + 1,pBuffer,NumByteToWrite);
ThunderSoft 0:369a1b265ddb 50 dev_i2c->write((int)address,(const char *)temp_buffer,NumByteToWrite + 1);
ThunderSoft 0:369a1b265ddb 51 }