Skip to content

Conversation

@lindi2
Copy link
Contributor

@lindi2 lindi2 commented Jul 31, 2021

This makes the library importable on Debian 10 with arduino 2:1.0.5+dfsg2-4.1

I have not really studied any arduino library writing guidelines but if I look at all the existing libraries I have none of them have sources in a "src" subdirectory:

$ find /usr/share/arduino/libraries -name "*.h"
/usr/share/arduino/libraries/GSM/GSM3MobileNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileCellManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1CellManagement.h
/usr/share/arduino/libraries/GSM/GSM3CircularBuffer.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1AccessProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemVerification.h
/usr/share/arduino/libraries/GSM/GSM3SMSService.h
/usr/share/arduino/libraries/GSM/GSM3VoiceCallService.h
/usr/share/arduino/libraries/GSM/GSM3MobileNetworkRegistry.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileServerService.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1BaseProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1VoiceProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1MultiServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileSMSProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileAccessProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ModemCore.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1DataNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1SMSProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileClientService.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1BandManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1MultiClientProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileDataNetworkProvider.h
/usr/share/arduino/libraries/GSM/GSM3MobileVoiceProvider.h
/usr/share/arduino/libraries/GSM/GSM.h
/usr/share/arduino/libraries/GSM/GSM3MobileMockupProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1PinManagement.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1DirectModemProvider.h
/usr/share/arduino/libraries/GSM/GSM3SoftSerial.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ServerProvider.h
/usr/share/arduino/libraries/GSM/GSM3ShieldV1ScanNetworks.h
/usr/share/arduino/libraries/Robot_Motor/ArduinoRobotMotorBoard.h
/usr/share/arduino/libraries/Robot_Motor/LineFollow.h
/usr/share/arduino/libraries/Robot_Motor/Multiplexer.h
/usr/share/arduino/libraries/Robot_Motor/EasyTransfer2.h
/usr/share/arduino/libraries/EEPROM/EEPROM.h
/usr/share/arduino/libraries/Stepper/Stepper.h
/usr/share/arduino/libraries/Esplora/Esplora.h
/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h
/usr/share/arduino/libraries/Robot_Control/Fat16util.h
/usr/share/arduino/libraries/Robot_Control/Arduino_LCD.h
/usr/share/arduino/libraries/Robot_Control/Wire.h
/usr/share/arduino/libraries/Robot_Control/Multiplexer.h
/usr/share/arduino/libraries/Robot_Control/utility/VirtualKeyboard.h
/usr/share/arduino/libraries/Robot_Control/utility/RobotTextManager.h
/usr/share/arduino/libraries/Robot_Control/utility/twi.h
/usr/share/arduino/libraries/Robot_Control/utility/scripts_Hello_User.h
/usr/share/arduino/libraries/Robot_Control/Squawk.h
/usr/share/arduino/libraries/Robot_Control/Compass.h
/usr/share/arduino/libraries/Robot_Control/EasyTransfer2.h
/usr/share/arduino/libraries/Robot_Control/Fat16.h
/usr/share/arduino/libraries/Robot_Control/SdCard.h
/usr/share/arduino/libraries/Robot_Control/FatStructs.h
/usr/share/arduino/libraries/Robot_Control/EEPROM_I2C.h
/usr/share/arduino/libraries/Robot_Control/SquawkSD.h
/usr/share/arduino/libraries/Robot_Control/Fat16mainpage.h
/usr/share/arduino/libraries/Robot_Control/Fat16Config.h
/usr/share/arduino/libraries/Robot_Control/Adafruit_GFX.h
/usr/share/arduino/libraries/Robot_Control/SdInfo.h
/usr/share/arduino/libraries/Robot_Control/SPI.h
/usr/share/arduino/libraries/Robot_Control/ArduinoRobot.h
/usr/share/arduino/libraries/Ethernet/EthernetUdp.h
/usr/share/arduino/libraries/Ethernet/Dhcp.h
/usr/share/arduino/libraries/Ethernet/utility/socket.h
/usr/share/arduino/libraries/Ethernet/utility/w5100.h
/usr/share/arduino/libraries/Ethernet/EthernetClient.h
/usr/share/arduino/libraries/Ethernet/EthernetServer.h
/usr/share/arduino/libraries/Ethernet/util.h
/usr/share/arduino/libraries/Ethernet/Dns.h
/usr/share/arduino/libraries/Ethernet/Ethernet.h
/usr/share/arduino/libraries/SD/SD.h
/usr/share/arduino/libraries/SD/utility/SdFat.h
/usr/share/arduino/libraries/SD/utility/SdFatmainpage.h
/usr/share/arduino/libraries/SD/utility/SdFatUtil.h
/usr/share/arduino/libraries/SD/utility/Sd2PinMap.h
/usr/share/arduino/libraries/SD/utility/FatStructs.h
/usr/share/arduino/libraries/SD/utility/Sd2Card.h
/usr/share/arduino/libraries/SD/utility/SdInfo.h
/usr/share/arduino/libraries/Firmata/Firmata.h
/usr/share/arduino/libraries/Firmata/Boards.h
/usr/share/arduino/libraries/Servo/Servo.h
/usr/share/arduino/libraries/SoftwareSerial/SoftwareSerial.h
/usr/share/arduino/libraries/SPI/SPI.h
/usr/share/arduino/libraries/TFT/utility/Adafruit_ST7735.h
/usr/share/arduino/libraries/TFT/utility/Adafruit_GFX.h
/usr/share/arduino/libraries/TFT/utility/PImage.h
/usr/share/arduino/libraries/TFT/TFT.h
/usr/share/arduino/libraries/WiFi/WiFiClient.h
/usr/share/arduino/libraries/WiFi/utility/wifi_spi.h
/usr/share/arduino/libraries/WiFi/utility/wl_definitions.h
/usr/share/arduino/libraries/WiFi/utility/wifi_drv.h
/usr/share/arduino/libraries/WiFi/utility/debug.h
/usr/share/arduino/libraries/WiFi/utility/wl_types.h
/usr/share/arduino/libraries/WiFi/utility/socket.h
/usr/share/arduino/libraries/WiFi/utility/server_drv.h
/usr/share/arduino/libraries/WiFi/utility/spi_drv.h
/usr/share/arduino/libraries/WiFi/WiFiServer.h
/usr/share/arduino/libraries/WiFi/WiFiUdp.h
/usr/share/arduino/libraries/WiFi/WiFi.h
/usr/share/arduino/libraries/Wire/Wire.h
/usr/share/arduino/libraries/Wire/utility/twi.h

This makes the library importable on Debian 10 with arduino
2:1.0.5+dfsg2-4.1
lindi2 added a commit to lindi2/baremetal that referenced this pull request Jul 31, 2021
This includes also Harvie/ps2dev#19 that moves
source files to toplevel directory
@Harvie
Copy link
Owner

Harvie commented Aug 2, 2021

At the first sight, i am not a huge fan of this.
Never had any issues. That version you use seems rather old to me. Have you tried upgrading?
Also i beleive arduino had changed library guidelines few years ago.
I will have to do some research.

Also in the long run i tend to make my libraries compatible both with Arduino IDE and Mongoose OS, so perhaps this might be an issue as well.

@lindi2
Copy link
Contributor Author

lindi2 commented Aug 2, 2021

I'll test with Debian 11 and report back.

@lindi2
Copy link
Contributor Author

lindi2 commented Aug 2, 2021

The issue does not seem to occur with Debian 11 that comes with arduino 2:1.8.13+dfsg1-2. I tried both using the library manager and importing ps2dev from a folder.

Is there perhaps some way for the library to declare the minimum supported arduino version?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants