diff options
author | Ahmed BOUDJELIDA <aboudjelida@nanoxplore.com> | 2023-10-16 11:05:59 +0200 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2023-11-18 11:24:40 +0000 |
commit | bb2767721945fa3496f777aa95eaab0137795137 (patch) | |
tree | 184a437e0b897dfec9f608bfdf7c7cae87649dc6 /contrib | |
parent | a69a4e23f4630fb21daea6f8264881c0546e340b (diff) | |
download | riscv-openocd-bb2767721945fa3496f777aa95eaab0137795137.zip riscv-openocd-bb2767721945fa3496f777aa95eaab0137795137.tar.gz riscv-openocd-bb2767721945fa3496f777aa95eaab0137795137.tar.bz2 |
contrib/firmware: add 'send not acknowledged' function to the i2c bit-banging implementation
Change-Id: I60597ebc126da4acb00654513b96f52261253e12
Signed-off-by: Ahmed BOUDJELIDA <aboudjelida@nanoxplore.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7811
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/firmware/angie/c/include/i2c.h | 1 | ||||
-rw-r--r-- | contrib/firmware/angie/c/src/i2c.c | 10 | ||||
-rw-r--r-- | contrib/firmware/angie/c/src/usb.c | 3 |
3 files changed, 14 insertions, 0 deletions
diff --git a/contrib/firmware/angie/c/include/i2c.h b/contrib/firmware/angie/c/include/i2c.h index 06185ef..d040492 100644 --- a/contrib/firmware/angie/c/include/i2c.h +++ b/contrib/firmware/angie/c/include/i2c.h @@ -19,6 +19,7 @@ void repeated_start(void); void stop_cd(void); void clock_cd(void); void send_ack(void); +void send_nack(void); bool get_ack(void); uint8_t get_address(uint8_t adr, uint8_t rdwr); diff --git a/contrib/firmware/angie/c/src/i2c.c b/contrib/firmware/angie/c/src/i2c.c index a7004bf..5384010 100644 --- a/contrib/firmware/angie/c/src/i2c.c +++ b/contrib/firmware/angie/c/src/i2c.c @@ -60,6 +60,16 @@ void send_ack(void) delay_us(1); } +void send_nack(void) +{ + PIN_SDA = 1; + delay_us(1); + PIN_SCL = 1; + delay_us(1); + PIN_SCL = 0; + delay_us(1); +} + bool get_ack(void) { PIN_SDA_DIR = 1; diff --git a/contrib/firmware/angie/c/src/usb.c b/contrib/firmware/angie/c/src/usb.c index 0a43ff9..1b7aa47 100644 --- a/contrib/firmware/angie/c/src/usb.c +++ b/contrib/firmware/angie/c/src/usb.c @@ -798,6 +798,9 @@ void i2c_recieve(void) EP8FIFOBUF[count - 1] = receive_byte(); + /* send Nack: */ + send_nack(); + /* stop */ stop_cd(); |