kopia lustrzana https://github.com/RobertGawron/IonizationChamber
Merge pull request #92 from RobertGawron/feature/basic_sw_components_implementation
fixes #86pull/94/head
commit
0b67153cea
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
void ApplicationBuilder_Init()
|
void ApplicationBuilder_Init()
|
||||||
{
|
{
|
||||||
// ClockConfigurator_Init();
|
ClockConfigurator_Init();
|
||||||
TimerConfigurator_Init();
|
TimerConfigurator_Init();
|
||||||
|
|
||||||
Logger_Init();
|
Logger_Init();
|
||||||
|
@ -42,7 +42,6 @@ void ApplicationBuilder_Run()
|
||||||
|
|
||||||
void ApplicationBuilder_Tick()
|
void ApplicationBuilder_Tick()
|
||||||
{
|
{
|
||||||
// Logger_Tick();
|
//Logger_Tick();
|
||||||
|
VoltageSensorActualValue_GeMeasurementData(0);
|
||||||
VoltageSensorActualValue_GeMeasurementData(0);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,13 +11,18 @@
|
||||||
#include "stm8s_i2c.h"
|
#include "stm8s_i2c.h"
|
||||||
#include "stm8s.h"
|
#include "stm8s.h"
|
||||||
|
|
||||||
#define I2C_ADDRESS 0x68 // MCP3425 I2C address is 0x68(104)
|
#define I2C_OWN_ADDRESS 0x10
|
||||||
|
#define I2C_SLAVE_ADDRESS 0x68 // MCP3425 I2C address is 0x68(104)
|
||||||
|
|
||||||
|
|
||||||
static void GPIO_setup(void);
|
static void GPIO_setup(void);
|
||||||
|
static void I2C_setup(void);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void VoltageSensorActualValue_Init()
|
void VoltageSensorActualValue_Init()
|
||||||
{
|
{
|
||||||
|
#if 0
|
||||||
CLK_DeInit();
|
CLK_DeInit();
|
||||||
|
|
||||||
CLK_HSECmd(DISABLE);
|
CLK_HSECmd(DISABLE);
|
||||||
|
@ -41,49 +46,54 @@ void VoltageSensorActualValue_Init()
|
||||||
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);
|
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);
|
||||||
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2, DISABLE);
|
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2, DISABLE);
|
||||||
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, DISABLE);
|
CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, DISABLE);
|
||||||
|
#endif
|
||||||
|
|
||||||
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_HIZ_FAST);
|
GPIO_setup();
|
||||||
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_FAST);
|
I2C_setup();
|
||||||
|
|
||||||
I2C_DeInit();
|
|
||||||
I2C_Init(100000,
|
|
||||||
I2C_ADDRESS,
|
|
||||||
I2C_DUTYCYCLE_2,
|
|
||||||
I2C_ACK_CURR,
|
|
||||||
I2C_ADDMODE_7BIT,
|
|
||||||
(CLK_GetClockFreq() / 1000000));
|
|
||||||
I2C_Cmd(ENABLE);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool VoltageSensorActualValue_GeMeasurementData(VoltageSensorActualValue_MeasurementData_t *measurementData)
|
bool VoltageSensorActualValue_GeMeasurementData(VoltageSensorActualValue_MeasurementData_t *measurementData)
|
||||||
{
|
{
|
||||||
// printf("a\r\n");
|
|
||||||
I2C_GenerateSTART(ENABLE);
|
I2C_GenerateSTART(ENABLE);
|
||||||
while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT));
|
while(!I2C_CheckEvent(I2C_EVENT_MASTER_MODE_SELECT));
|
||||||
|
|
||||||
UserInterface_ShowMessage(USER_INTERFACE_COLLECTING_DATA_MSG);
|
I2C_Send7bitAddress(I2C_SLAVE_ADDRESS, I2C_DIRECTION_TX);
|
||||||
|
//while(!I2C_CheckEvent(I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
|
||||||
|
|
||||||
I2C_Send7bitAddress(I2C_ADDRESS, I2C_DIRECTION_TX);
|
|
||||||
while(!I2C_CheckEvent(I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
|
|
||||||
|
|
||||||
I2C_SendData(1);
|
I2C_SendData(0xf);
|
||||||
while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
//while(!I2C_CheckEvent(I2C_EVENT_MASTER_BYTE_TRANSMITTED));
|
||||||
|
|
||||||
I2C_GenerateSTOP(ENABLE);
|
I2C_GenerateSTOP(ENABLE);
|
||||||
|
while(I2C_GetFlagStatus(I2C_FLAG_BUSBUSY));
|
||||||
// while(I2C_GetFlagStatus(I2C_FLAG_BUSBUSY));
|
|
||||||
//printf("b\r\n");
|
// for temporary debug only
|
||||||
|
UserInterface_ShowMessage(USER_INTERFACE_COLLECTING_DATA_MSG);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void GPIO_setup(void)
|
void GPIO_setup(void)
|
||||||
{
|
{
|
||||||
|
// TODO magic numbers
|
||||||
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_HIZ_FAST);
|
GPIO_Init(GPIOB, GPIO_PIN_4, GPIO_MODE_OUT_OD_HIZ_FAST);
|
||||||
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_FAST);
|
GPIO_Init(GPIOB, GPIO_PIN_5, GPIO_MODE_OUT_OD_HIZ_FAST);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void I2C_setup(void)
|
||||||
|
{
|
||||||
|
I2C_DeInit();
|
||||||
|
I2C_Init(100000,
|
||||||
|
I2C_OWN_ADDRESS,
|
||||||
|
I2C_DUTYCYCLE_2,
|
||||||
|
I2C_ACK_CURR,
|
||||||
|
I2C_ADDMODE_7BIT,
|
||||||
|
(CLK_GetClockFreq() / 1000000));
|
||||||
|
I2C_Cmd(ENABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue