:-) :-) :-) :-)

This commit is contained in:
Christophe De Wagter
2011-11-24 13:10:19 +01:00
parent bec8374e66
commit 9f52491f31
4 changed files with 19 additions and 13 deletions
+1 -2
View File
@@ -5,10 +5,9 @@
<file name="i2c_abuse_test.h"/>
</header>
<init fun="init_i2c_abuse_test()"/>
<periodic fun="periodic_50Hz_i2c_abuse_test()" period="0.02" autorun="TRUE" />
<event fun="event_i2c_abuse_test()" />
<!-- <periodic fun="periodic_50Hz_i2c_abuse_test()" period="0.02" autorun="FALSE"/> -->
<makefile>
<!-- define name="i2c_abuse_test_MODULE_LED" value="2"/ -->
<file name="i2c_abuse_test.c"/>
</makefile>
</module>
@@ -1203,8 +1203,15 @@ void i2c_setbitrate(struct i2c_periph *periph, int bitrate)
{
if (periph == &i2c2)
{
// I2C_DeInit(I2C1);
// I2C_Cmd(I2C2, DISABLE);
I2C2_InitStruct.I2C_ClockSpeed = bitrate;
I2C_Init(I2C2, i2c2.init_struct);
// I2C_Cmd(I2C2, ENABLE);
// I2C_Init(I2C2, i2c2.init_struct);
// 1) Program peripheral input clock CR2: to get correct timings
// 2) Configure clock control registers
// 3) Configure rise time register
}
#ifdef I2C_DEBUG_LED
@@ -1341,6 +1348,10 @@ bool_t i2c_submit(struct i2c_periph* periph, struct i2c_transaction* t) {
#endif
#endif
{
#ifdef I2C_DEBUG_LED
LED2_ON();
LED2_OFF();
#endif
PPRZ_I2C_SEND_START(periph);
}
}
+1 -1
View File
@@ -25,7 +25,7 @@ void baro_init(void) {
void baro_periodic(void) {
#warning BARO_FILE_CODE_DISABLED
#warning BARO_BOARD_CODE_DISABLED
return;
switch (baro_board.status) {
@@ -169,6 +169,8 @@ static void i2c_abuse_send_transaction(uint8_t _init)
void event_i2c_abuse_test(void)
{
static uint8_t bit1 = 0;
static uint8_t bit2 = 0;
if (i2c_idle(&i2c2))
{
@@ -197,6 +199,7 @@ void event_i2c_abuse_test(void)
if ((i2c_test1.status == I2CTransFailed) || (i2c_test1.status == I2CTransSuccess))
{
RunOnceEvery(100,LED_TOGGLE(7));
if (i2c_abuse_test_counter < 16)
{
i2c_abuse_test_counter++;
@@ -208,32 +211,25 @@ void event_i2c_abuse_test(void)
{
i2c_abuse_test_counter = 1;
i2c_setbitrate(&i2c2, i2c_abuse_test_bitrate);
//i2c_setbitrate(&i2c2, i2c_abuse_test_bitrate);
i2c_abuse_test_bitrate += 17000;
if (i2c_abuse_test_bitrate > 500000)
{
static uint8_t bit = 0;
i2c_abuse_test_bitrate -= 500000;
bit = 1 - bit;
if (bit==0)
{ LED_ON(7);} else { LED_OFF(7); }
LED_OFF(6);
bit1 = 1 - bit1;
}
LED_TOGGLE(4);
}
}
if (i2c_abuse_test_counter < 16)
{
i2c_abuse_send_transaction( i2c_abuse_test_counter );
LED_TOGGLE(5);
}
}
}
void periodic_50Hz_i2c_abuse_test(void) {
// LED_TOGGLE(DEMO_MODULE_LED);
}