lightradar

Dependencies:   TextLCD mbed

Fork of Laster_Radar_test by Christopher H

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers I2C.h Source File

I2C.h

00001 #ifndef I2C_H
00002 #define I2C_H
00003 
00004 #include "stm32f4xx.h"
00005 #include "cdef.h"
00006 
00007 
00008 #define BMP180_register_CONTROLL 0xF4
00009 #define BMP180_register_ADC_ERG 0xF6
00010 #define BMP180_oss_high_resulution 2
00011 #define BMP180_adress_write 0xEE
00012 #define BMP180_adress_read 0xEF
00013 #define BMP180_register_AC1 0xAA
00014 #define BMP180_register_AC2 0xAC
00015 #define BMP180_register_AC3 0xAE
00016 #define BMP180_register_AC4 0xB0
00017 #define BMP180_register_AC5 0xB2
00018 #define BMP180_register_AC6 0xB4
00019 #define BMP180_register_B1 0xB6
00020 #define BMP180_register_B2 0xB8
00021 #define BMP180_register_MB 0xBA
00022 #define BMP180_register_MC 0xBC
00023 #define BMP180_register_MD 0xBE
00024 
00025 //=============================================================
00026 //===========Neue Definitionen für Laser Radar Sensor ==========
00027 
00028 #define LRadar_adress_write 0xC4
00029 #define LRadar_adress_read 0xC5
00030 #define LRadar_register_Controll 0x00
00031 #define LRadar_register_erg_2bread 0x8f
00032 #define LRadar_start_measurment 0x04
00033 
00034 
00035 
00036 
00037 
00038 
00039 typedef struct BMP180_CAL_DATA_TYPEDEF{
00040 short AC1;
00041 short AC2;
00042 short AC3;
00043 unsigned short AC4;
00044 unsigned short AC5;
00045 unsigned short AC6;
00046 short B1;
00047 short B2;
00048 short MB;
00049 short MC;
00050 short MD;
00051 }BMP180_CAL_DATA_TYPEDEF;
00052 
00053 typedef struct PRESSURE_DATA_TYPEDEF{
00054 byte b_TASK_STATEMASCHINE;
00055 long i_RAW_TEMPERATUR;
00056 long i_RAW_PRESSURE;
00057 long i_TEMPERATURE;
00058 long i_PRESSURE;
00059 }PRESSURE_DATA_TYPEDEF;
00060 
00061 extern PRESSURE_DATA_TYPEDEF PRESSURE_DATA;
00062 extern BMP180_CAL_DATA_TYPEDEF BMP180_CAL_DATA;
00063 
00064 /**Initalisate THE PRESSURE AND READ THE CALLIBRATION DATA */
00065 void PRESSURE_vInit(void);
00066 void PRESSURE_vget_CALDATA(void);
00067 void PRESSURE_vwrite_EEPROM_REGISTER(byte b_register, byte data);
00068 long PRESSURE_vread_EEPROM_REGISTER(byte b_register);
00069 void PRESSURE_vCALCULATE_TEMPANDPRESSURE(void);
00070 void PRESSURE_vTASK(unsigned long bID);
00071 
00072 
00073 byte I2C_write(byte bSlaveWriteAdress, byte bRegister, byte bValue);  // 1 hat geklabt ; 0 ERROR 
00074 byte I2C_read(byte bSlaveWriteAdress,byte bSlaveReadAdress, byte bRegister, byte bNumOfBytes, byte *abArray); // bNumOfByte absolute zahlen zwisch 
00075 // 2  = es wertden 2 bytes eingelesen 
00076 #endif