Implement handling reading more than one byte
This commit is contained in:
parent
9fd877aab5
commit
7e59368252
@ -130,7 +130,7 @@ void parse_command(uint8_t command[], uint8_t command_len) {
|
||||
return;
|
||||
}
|
||||
|
||||
uint8_t route_command() {
|
||||
uint8_t route_command(int pos) {
|
||||
switch (context.command) {
|
||||
WRITE_CONFIG:
|
||||
return WRITE_CONFIG;
|
||||
|
||||
@ -63,7 +63,8 @@ typedef struct {
|
||||
void parse_command(uint8_t *command, uint8_t command_len);
|
||||
|
||||
// Routes the provided command to the appropriate function to handle it
|
||||
uint8_t route_command();
|
||||
// If the command is a read command it then returns the current byte
|
||||
uint8_t route_command(int pos);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@ -59,16 +59,14 @@ void i2c_write_handler(uint8_t data) {
|
||||
|
||||
void i2c_read_handler() {
|
||||
last_action_write = false;
|
||||
TWI0.SDATA = route_command();
|
||||
TWI0.SDATA = route_command(i2c_recv_len);
|
||||
i2c_recv_len++; // Increment the counter of the current amount of requests
|
||||
}
|
||||
|
||||
void i2c_stop_handler() {
|
||||
if (last_action_write) {
|
||||
// Parse the received command data
|
||||
parse_command(i2c_recv, i2c_recv_len);
|
||||
} else {
|
||||
// route_command();
|
||||
;
|
||||
}
|
||||
// Reset the buffer for future transmissions
|
||||
i2c_reset_recv();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user