Skip to content
Snippets Groups Projects
Select Git revision
0 results

I2C.cpp

Blame
    • Emilio Corigliano's avatar
      0c2b2559
      [I2C] Enhanced I2C driver by moving logic into the ISR · 0c2b2559
      Emilio Corigliano authored
      - The driver logic has been moved directly into the Interrupt Service Routine for events so that the delay for a read or a write is drastically reduced. Now the thread, after setting up peripheral, start condition generation and address sending, is waken up only if the operation completed or an error occurred. Avoiding to wake up at every event the thread executing I2C operations reduces context switches and delay in the completion of the operation.
      - Now errors are better handled. A user can request the last error(s) occurred.
      - The support for 10-bit addressing is removed to simplify the driver and to avoid having something not tested in the main branch.
      0c2b2559
      History
      [I2C] Enhanced I2C driver by moving logic into the ISR
      Emilio Corigliano authored
      - The driver logic has been moved directly into the Interrupt Service Routine for events so that the delay for a read or a write is drastically reduced. Now the thread, after setting up peripheral, start condition generation and address sending, is waken up only if the operation completed or an error occurred. Avoiding to wake up at every event the thread executing I2C operations reduces context switches and delay in the completion of the operation.
      - Now errors are better handled. A user can request the last error(s) occurred.
      - The support for 10-bit addressing is removed to simplify the driver and to avoid having something not tested in the main branch.