energia / Energia

Fork of Arduino for the Texas Instruments LaunchPad's
http://energia.nu
Other
794 stars 672 forks source link

CC3200 and MSP432: Pervasive Display e-Paper BoosterPack #700

Open rei-vilo opened 9 years ago

rei-vilo commented 9 years ago

The Pervasive Display e-Paper BoosterPack is based on e-ink and only requires power during the update. Perfect for ultra-low cost solutions with the MSP432!

Latest version v.231 no longer requires a PWM input, contrary to previous release v.110.

The updated code is available at rei-vilo / gratis / CC3200 and MSP432.

It works fine on MSP430F5529, LM4F120, TM4C123 but fails on MSP432 and CC3200.

My update 2015-08-01 fixed pins numbers and solved conflict of variable names.

  • Added #include Energia.h
  • For Energia, changed pin names to pin numbers (pin names are deprecated)
  • Changed CS for EPD_FLASH_CS to avoid conflicts with Energia
  • Works on MSP430F5529, LM4F120, TM4C123
  • Fails on MSP432 and CC3200
  • Recognise the FPL material type by the rear labels
  • Use branch rei-vilo / gratis / CC3200 and MSP432

I've also opened a ticket at https://github.com/repaper/gratis/issues/26

rei-vilo commented 9 years ago

There seems to be a problem with GPIO when using SPI on the MSP432 that recents from using the EPD BoosterPack.

rei-vilo commented 8 years ago

Here are the last results with film v231 and Energia 17:

rei-vilo commented 8 years ago

CC3200 and CC3200 EMT

I managed to get it work on CC3200 EMT, after fixing

long S5813A_Class::readVoltage(void) {
    long vADC = analogRead(this->temperature_pin);

// Added for CC3200 EMT    
#if defined(ENERGIA_MT)
#if defined(__CC3200R1M1RGC__) || defined(__CC3200R1MXRGCR__)
    vADC *= 4;
#endif
#endif
// End
/*
    Serial.print("analogRead=");
    Serial.print(vADC);
    Serial.print("\treadVoltage=");
    Serial.println(REV_PD((vADC * ADC_MAXIMUM_mV) / ADC_COUNTS));
 */
    return REV_PD((vADC * ADC_MAXIMUM_mV) / ADC_COUNTS);
}
static void SPI_on(void) {

    // Energia EMT freezes on SPI.end() if no previous SPI.begin()
    // Dummy SPI.begin()
    SPI.begin();

    SPI.end();
    SPI.begin();
    SPI.setBitOrder(MSBFIRST);
...

MSP432 EMT

Still no luck on the MSP432.

Temperature = 19 Celsius dc_state = 0x0 EPD: DC failed

I'm going to test mode 3.

rei-vilo commented 8 years ago

SPI mode 3 is indeed activated in MSP432. Still no display.

Demo version: 5 Display size: EPD_2_7 Film: V231 COG: G2

Image 1: text_image_2_7.xbm Image 2: cat_2_7.xbm

unsupported EPD FLASH chip: MFG: 0x84 device: 0x80A6 Temperature = 18 Celsius EPD: DC failed

yeshymanoharan commented 7 years ago

are there any solutions for this? I have tried to get the display working with the MSP432 and it fails on the EPD_display_init function with the EPD_initialize_gpio line.