scsi_accel_rp2040.h 663 B

1234567891011121314151617
  1. // Accelerated SCSI subroutines using RP2040 hardware PIO peripheral.
  2. #pragma once
  3. #include <stdint.h>
  4. void scsi_accel_rp2040_init();
  5. void scsi_accel_rp2040_startWrite(const uint8_t* data, uint32_t count, volatile int *resetFlag);
  6. void scsi_accel_rp2040_stopWrite(volatile int *resetFlag);
  7. void scsi_accel_rp2040_finishWrite(volatile int *resetFlag);
  8. // Query whether the data at pointer has already been read, i.e. buffer can be reused.
  9. // If data is NULL, checks if all writes have completed.
  10. bool scsi_accel_rp2040_isWriteFinished(const uint8_t* data);
  11. void scsi_accel_rp2040_read(uint8_t *buf, uint32_t count, int *parityError, volatile int *resetFlag);