2 Replies Latest reply on Dec 30, 2015 10:15 AM by teafela

    Adafruit Sharp Memory Display w/ Edison Arduino Breakout

    teafela

      Hello!

       

      I am trying to get the Sharp Memory Display (https://www.adafruit.com/products/1393) working with the Edison Arduino breakout.

       

      While trying to get an Arduino sketch compiled for the Edison using the supplied libraries: Adafruit_SHARP_Memory_Display / Adafruit-GFX-Library I am getting the following errors

      In file included from /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/variants/edison_fab_c/variant.h:27:0,
                       from /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/Arduino.h:33,
                       from /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.h:20,
                       from /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp:19:
      /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp: In constructor 'Adafruit_SharpMem::Adafruit_SharpMem(uint8_t, uint8_t, uint8_t)':
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:131:53: error: 'PinDescription' has no member named 'pPort'
       #define digitalPinToPort(P)  ( g_APinDescription[P].pPort )
                                                           ^
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:134:38: note: in definition of macro 'portOutputRegister'
       #define portOutputRegister(port) ( &(port->PIO_ODSR) )
                                            ^
      /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp:63:36: note: in expansion of macro 'digitalPinToPort'
         clkport     = portOutputRegister(digitalPinToPort(_clk));
                                          ^
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:132:56: error: 'PinDescription' has no member named 'ulPin'
       #define digitalPinToBitMask(P)  ( g_APinDescription[P].ulPin )
                                                              ^
      /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp:64:17: note: in expansion of macro 'digitalPinToBitMask'
         clkpinmask  = digitalPinToBitMask(_clk);
                       ^
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:131:53: error: 'PinDescription' has no member named 'pPort'
       #define digitalPinToPort(P)  ( g_APinDescription[P].pPort )
                                                           ^
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:134:38: note: in definition of macro 'portOutputRegister'
       #define portOutputRegister(port) ( &(port->PIO_ODSR) )
                                            ^
      /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp:65:36: note: in expansion of macro 'digitalPinToPort'
         dataport    = portOutputRegister(digitalPinToPort(_mosi));
                                          ^
      /Users/ronaldsardarian/Library/Arduino15/packages/Intel/hardware/i686/1.6.2+1.0/cores/arduino/wiring_digital.h:132:56: error: 'PinDescription' has no member named 'ulPin'
       #define digitalPinToBitMask(P)  ( g_APinDescription[P].ulPin )
                                                              ^
      /Users/ronaldsardarian/Documents/Arduino/libraries/Adafruit_SHARP_Memory_Display/Adafruit_SharpMem.cpp:66:17: note: in expansion of macro 'digitalPinToBitMask'
         datapinmask = digitalPinToBitMask(_mosi);
                       ^
      

       

      It seems that the Edison board drivers do not support some of the functionality required by the library. I am new to the world of hardware programming so I don't entirely understand what these "PinToPort" "PinToBitMask" symbols are even trying to accomplish.


      Any ideas on how to resolve this or should I simply be looking elsewhere (hardware wise) to control this display?