-->
Page 1 of 1

Unstable platform due to deep dependencies

PostPosted: Thu Mar 30, 2017 12:28 pm
by picstart
In May of 2016 my code worked without error
Today I get yet the code did not change
I suspect I allowed an update via the pesky automatic updates to libraries.
Perhaps some are willing to test every piece of code against reversion.
I have very very rarely had PIC code fail and it could be due to explicitly defining the electrical interface at the highest possible level. This pin electrical interface is defined deep and I'm uncertain as to why it once worked with the esp8266 and now today doesn't.

The original code defines the electrical interface

///////////////////////////Pin outs lolin esp12E //////////
// D0-GPI016 Wake
// D1-GPIO5-->T-IRQ ILI9341
// D2-GPIO4-->T-CS ILI9341
// D3-GPIO0 Flash
// D4-GPIO2-->D/C ILI9341
// 3.3v
// Gnd ReSet ILI9341
// D5-GPIO14 |-->SCK ILI9341
// |-->T-ClK ILI9341
//
// D6-GPIO12 |-->MISO ILI9341
// |-->T-DO ILI9341
//
// D7-GPIO13 |-->MOSI ILI9341
// |-->T-DIN ILI9341
//
// D8-GPIO15-->CS ILI9341
// D9-GPI03 RX
// D10-GP01 TX

/// SPI MOSI MISO CLK use hardware SPI
#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <SPI.h>
#include <SD.h>
#include <Ticker.h>
#include <Adafruit_ILI9341esp.h>
#include <Adafruit_GFX.h>
#include <XPT2046.h>



#define TFT_DC 2
#define TFT_CS 15

#define Touch_CS 4
#define Touch_IRQ 5
#define SD_CS 9
C:\Arduino\arduino-1.6.9\portable\sketchbook\libraries\SD\src/utility/Sd2PinMap.h:510:2: error: #error Architecture or board not supported.

I've see this before where AVR hardware is asserted when the board is esp8266.

Re: Unstable platform due to deep dependencies

PostPosted: Thu Mar 30, 2017 10:13 pm
by stanlaw
picstart wrote:C:\Arduino\arduino-1.6.9\portable\sketchbook\libraries\SD\src/utility/Sd2PinMap.h:510:2: error: #error Architecture or board not supported.

I've see this before where AVR hardware is asserted when the board is esp8266.


This seems to pick up your local copy of older SD library installed from sketchbook folder without ESP8266 support, overriding that from the Arduino installed device specific version of SD library with ESP8266 support. e.g.
Code: Select all $HOME/Library/Arduino15/packages/esp8266/hardware/esp8266/2.3.0/libraries/SD/src/utility
.

Re: Unstable platform due to deep dependencies

PostPosted: Sat Apr 01, 2017 8:09 am
by picstart
Thanks for the info

I'm unsure as to the stability of the Arduino libraries and the esp8266. I have been using software like SD support but it is vulnerable to commercial board vendor intervention via the unpleasant update feature from the web that suggests that updates be installed and nags if you choose not to.
The SD code library is a nice feature but it is vulnerable to an update that can render it to be restricted to only certain commercial boards leaving generic esp8266 excluded. It was a learning experience so now I have all the libraries I use locked down and backed up.
I sincerely hope I have stopped via preferences the updating from the web on startup of the IDE.
I'm unimpressed that the electrical interfaces are buried deep down in the software and take specifics from a board selection that is outside of the code. IMHO a more perfect system is to bring the electrical interface ( specific board) into the main code via an include specific to that board.
I can live with the IDE by putting a comment in code referencing the board and date the code was tested on plus the date stamp for all library includes. It doesn't cover includes that have nested includes if the nested includes get altered.