1111 * published by the Free Software Foundation.
1212 */
1313
14+ /* *************************************************************************************
15+ * INCLUDE
16+ **************************************************************************************/
17+
1418#include " SPI.h"
1519
20+ /* *************************************************************************************
21+ * NAMESPACE
22+ **************************************************************************************/
23+
1624using namespace arduino ;
1725
26+ /* *************************************************************************************
27+ * EXTERN GLOBAL CONSTANTS
28+ **************************************************************************************/
29+
1830extern const spi_extended_cfg_t g_spi0_ext_cfg;
1931extern const spi_extended_cfg_t g_spi1_ext_cfg;
2032extern const sci_spi_extended_cfg_t g_spi2_cfg_extend;
2133
34+ /* *************************************************************************************
35+ * STATIC MEMBER INITIALISATION
36+ **************************************************************************************/
37+
2238uint8_t ArduinoSPI::initialized = 0 ;
2339uint8_t ArduinoSPI::interruptMode = 0 ;
2440uint8_t ArduinoSPI::interruptMask = 0 ;
2541uint8_t ArduinoSPI::interruptSave = 0 ;
2642
43+ /* *************************************************************************************
44+ * GLOBAL MEMBER VARIABLES
45+ **************************************************************************************/
46+
2747static spi_event_t _spi_cb_event[13 ] = {SPI_EVENT_TRANSFER_ABORTED};
2848
49+ /* *************************************************************************************
50+ * CTOR/DTOR
51+ **************************************************************************************/
52+
2953ArduinoSPI::ArduinoSPI (spi_ctrl_t *g_spi_ctrl
3054 ,const spi_cfg_t *g_spi_cfg
3155 ,const spi_extended_cfg_t *g_spi_ext_cfg, int ch):
@@ -54,6 +78,10 @@ ArduinoSPI::ArduinoSPI(int ch, bool isSci):
5478{
5579}
5680
81+ /* *************************************************************************************
82+ * PUBLIC MEMBER FUNCTIONS
83+ **************************************************************************************/
84+
5785void ArduinoSPI::begin ()
5886{
5987 bool isSPIObject = false ;
@@ -244,6 +272,10 @@ void ArduinoSPI::detachInterrupt() {
244272
245273}
246274
275+ /* *************************************************************************************
276+ * PRIVATE MEMBER FUNCTIONS
277+ **************************************************************************************/
278+
247279void ArduinoSPI::config (arduino::SPISettings const & settings)
248280{
249281 if (_is_sci)
@@ -437,6 +469,10 @@ void ArduinoSPI::enableSciSpiIrqs() {
437469
438470}
439471
472+ /* *************************************************************************************
473+ * CALLBACKS FOR FSP FRAMEWORK
474+ **************************************************************************************/
475+
440476void spi_callback (spi_callback_args_t *p_args) {
441477 if (SPI_EVENT_TRANSFER_COMPLETE == p_args->event ) {
442478 _spi_cb_event[p_args->channel ] = SPI_EVENT_TRANSFER_COMPLETE;
@@ -458,10 +494,14 @@ void sci_spi_callback(spi_callback_args_t *p_args) {
458494 }
459495}
460496
497+ /* *************************************************************************************
498+ * OBJECT INSTANTIATION
499+ **************************************************************************************/
500+
461501#if SPI_HOWMANY > 0
462502ArduinoSPI SPI (SPI_CHANNEL, (bool )IS_SPI_SCI);
463503#endif
464504
465505#if SPI_HOWMANY > 1
466506ArduinoSPI SPI1 (SPI1_CHANNEL, (bool )IS_SPI1_SCI);
467- #endif
507+ #endif
0 commit comments