Example #1
0
static void
i2c_ack()
{
  MAKE_DATA_OUTPUT();
  CLEAR_DATA();
  pulse_clock();
}
Example #2
0
static void
i2c_nack()
{
  MAKE_DATA_OUTPUT();
  SET_DATA();
  pulse_clock();
}
Example #3
0
void
i2c_init()
{
  SET_CLOCK();
  SET_DATA();
  MAKE_CLOCK_OUTPUT();
  MAKE_DATA_OUTPUT();
}
Example #4
0
static void
i2c_end()
{
  MAKE_DATA_OUTPUT();
  CLEAR_DATA();
  i2c_delay_us(100);
  SET_CLOCK();
  i2c_delay_us(100);
  SET_DATA();
}
Example #5
0
char TOS_COMMAND(I2C_init)(){
	printf("i2c_init\n");
	SET_CLOCK();
	SET_DATA();
	MAKE_CLOCK_OUTPUT();
	MAKE_DATA_OUTPUT();
	VAR(state) = 0;
	VAR(data) = 0;
	return 1;
}
Example #6
0
static void
i2c_start()
{
  SET_DATA();
  SET_CLOCK();
  MAKE_DATA_OUTPUT();
  i2c_delay_us(100);
  CLEAR_DATA();
  i2c_delay_us(100);
  CLEAR_CLOCK();
}
Example #7
0
void i2c_end(){
	MAKE_DATA_OUTPUT();
	CLEAR_DATA();
	wait();
	wait();
	wait();
	wait();
	SET_CLOCK();
	wait();
	wait();
	wait();
	wait();
	SET_DATA();
	printf(" i2c_end\n");
}
Example #8
0
void i2c_start(){
	SET_DATA();
	SET_CLOCK();
	MAKE_DATA_OUTPUT();
	wait();
	wait();
	wait();
	wait();
	CLEAR_DATA();
	wait();
	wait();
	wait();
	wait();
	CLEAR_CLOCK();
	printf(" i2c_start\n");
}
Example #9
0
static unsigned char
i2c_write(unsigned char c)
{
  unsigned char i;
  MAKE_DATA_OUTPUT();
  for (i = 0; i < 8; i++) {
    if (c & 0x80) {
      SET_DATA();
    } else {
      CLEAR_DATA();
    }
    pulse_clock();
    c = c << 1;
  }
  i = read_bit();
  return i == 0;
}
Example #10
0
char i2c_write(char c){ 
	int i;
	MAKE_DATA_OUTPUT();
	for(i = 0; i < 8; i ++){
		if(c & 0x80){
			printf("1");
			SET_DATA();
		}else{
			printf("0");
			CLEAR_DATA();
		}
		pulse_clock();
		c = c << 1;
	}
 	i = read_bit();	
	printf("%x ", c & 0xff);
	return i == 0;
} 
Example #11
0
void i2c_nack(){
	MAKE_DATA_OUTPUT();
	SET_DATA();
	pulse_clock();
	printf(" i2c_nack\n");
}
Example #12
0
void i2c_ack(){
	MAKE_DATA_OUTPUT();
	CLEAR_DATA();
	pulse_clock();
	printf(" i2c_ack\n");
}