teensy code aanpassen voor mega2560

Software die niet past in bovenstaande onderwerpen
Berichten: 28
Geregistreerd: 30 Nov 2013, 23:49

teensy code aanpassen voor mega2560

Berichtdoor Luppie » 09 Mei 2019, 23:52

Ik heb een robotarm waarvoor ik een hele aardige code heb gevonden.
Deze code is gemaakt voor de teensy 31/35 maar ik hoop een beetje dat ik het kan laten draaien op de mega2560.

Ben al enkele avonden bezig maar eigenlijk zijn mijn programmeer skils niet goed genoeg en loop ik maar wat te prutsen met kopiëren van libraries en dingen maar uit zetten die niet werken.

het werkt via Visual Studio Code waar ik voor de eerste keer mee werk.
het is de MicroPede Robot Control Protocol. te vinden op https://github.com/glumb/mrcp

in de platformio.ini heb ik de mega toegevoegd en als default gezet maar de code wil natuurlijk niet compilen voor de mega. geprobeerd de fouten er uit te krijgen maar ik denk dat bepaalde libraries geheel niet (of niet geheel) geschikt zijn voor de mega.

Is dit onbegonnen werk en gaat dit niet lukken of kan ik met aanpassingen dit wel aan de praat krijgen? Anders schaf ik een teensy aan maar liever ga ik verder bouwen met de mega.

hier de orginele foutcode: (ik heb servo.h al wel toegevoegd met alleen maar meer errors)

Code: Alles selecteren
Processing megaatmega2560 (platform: atmelavr; board: megaatmega2560; framework: arduino)
Verbose mode can be enabled via -v, --verbose option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelavr/megaatmega2560.html
PLATFORM: Atmel AVR > Arduino Mega or Mega 2560 ATmega2560 (Mega 2560)
HARDWARE: ATMEGA2560 16MHz 8KB RAM (248KB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 92 compatible libraries
Scanning dependencies...
Dependency Graph
|-- 1.3.6
| |--
| |-- 1.0
|-- 1.2.9
| |--
| |-- 1.3.6
| | |--
| | |-- 1.0
| |-- 1.0
|--
|--
|--
|-- 1.0
Compiling .pioenvs\megaatmega2560\src\EEPromStorage.cpp.o
Compiling .pioenvs\megaatmega2560\src\IOLogic.cpp.o
Compiling .pioenvs\megaatmega2560\src\Kinematic.cpp.o
Compiling .pioenvs\megaatmega2560\src\Logger.cpp.o
Compiling .pioenvs\megaatmega2560\src\MRCPParser.cpp.o
Compiling .pioenvs\megaatmega2560\src\MRILParser.cpp.o
Compiling .pioenvs\megaatmega2560\src\RingBuffer.cpp.o
Compiling .pioenvs\megaatmega2560\src\RobotController.cpp.o
Compiling .pioenvs\megaatmega2560\src\VarSpeedServo.cpp.o
Compiling .pioenvs\megaatmega2560\src\main.cpp.o
Compiling .pioenvs\megaatmega2560\src\main_test.cpp.o
Compiling .pioenvs\megaatmega2560\lib606\GRBL-Arduino-Library-master\coolant_control.cpp.o
In file included from src\RobotController.h:21:0,
from src\MRILParser.h:6,
from src\MRILParser.cpp:1:
src\VarSpeedServo.h:9:19: fatal error: Servo.h: No such file or directory

Looking for Servo.h dependency? Check our library registry!
CLI > platformio lib search "header:Servo.h"
Web > https://platformio.org/lib/search?query=header:Servo.h
compilation terminated.
In file included from src\RobotController.h:21:0,
from src\MRILParser.h:6,
from src\MRCPParser.h:6,
from src\MRCPParser.cpp:1:
src\VarSpeedServo.h:9:19: fatal error: Servo.h: No such file or directory

Looking for Servo.h dependency? Check our library registry!
CLI > platformio lib search "header:Servo.h"
Web > https://platformio.org/lib/search?query=header:Servo.h
compilation terminated.
src\EEPromStorage.cpp: In member function 'void EEPromStorage::appendMessage(char*, char)':
src\EEPromStorage.cpp:14:12: error: 'EEPROM' was not declared in this scope
while (EEPROM.read(pointer) != 0) {
^
src\EEPromStorage.cpp:23:5: error: 'EEPROM' was not declared in this scope
EEPROM.write(pointer, length);
^
src\EEPromStorage.cpp:27:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (size_t i = 0; i < length; i++) {
^
src\EEPromStorage.cpp:34:19: warning: array subscript has type 'char' [-Wchar-subscripts]
message[length] = 0;
^
src\EEPromStorage.cpp: In member function 'char EEPromStorage::getMessage(unsigned int, char*)':
src\EEPromStorage.cpp:42:13: error: 'EEPROM' was not declared in this scope
if (EEPROM.read(pointer) == 0) { // last message
^
src\EEPromStorage.cpp:45:20: error: 'EEPROM' was not declared in this scope
pointer += EEPROM.read(pointer) + 1;
^
src\EEPromStorage.cpp:48:26: error: 'EEPROM' was not declared in this scope
char messageLength = EEPROM.read(pointer);
^
src\EEPromStorage.cpp:54:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (size_t i = 0; i < messageLength; i++) {
^
src\EEPromStorage.cpp: In member function 'char EEPromStorage::getByte(int)':
src\EEPromStorage.cpp:66:12: error: 'EEPROM' was not declared in this scope
return EEPROM.read(address);
^
src\EEPromStorage.cpp: In member function 'int EEPromStorage::getNumberOfMessages()':
src\EEPromStorage.cpp:73:12: error: 'EEPROM' was not declared in this scope
while (EEPROM.read(pointer) != 0) {
^
src\EEPromStorage.cpp: In member function 'void EEPromStorage::clear()':
src\EEPromStorage.cpp:93:5: error: 'EEPROM' was not declared in this scope
EEPROM.write(0, 0);
^
src\IOLogic.cpp: In member function 'void IOLogic::addCondition(unsigned int, unsigned int)':
src\IOLogic.cpp:17:22: error: 'INPUT_PULLDOWN' was not declared in this scope
pinMode(pin, INPUT_PULLDOWN);
^
src\IOLogic.cpp: In member function 'void IOLogic::setOutput(unsigned int, unsigned int)':
src\IOLogic.cpp:32:20: warning: invalid conversion from 'unsigned int' to 'const char*' [-fpermissive]
logger.info(pin);
^
In file included from src\IOLogic.cpp:4:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char text,
^
src\IOLogic.cpp:34:22: warning: invalid conversion from 'unsigned int' to 'const char' [-fpermissive]
logger.info(state);
^
In file included from src\IOLogic.cpp:4:0:
src\Logger.h:30:10: note: initializing argument 1 of 'void Logger::info(const char*, bool)'
void info(const char *text,
^
*** [.pioenvs\megaatmega2560\src\IOLogic.cpp.o] Error 1
*** [.pioenvs\megaatmega2560\src\EEPromStorage.cpp.o] Error 1
*** [.pioenvs\megaatmega2560\src\MRILParser.cpp.o] Error 1
In file included from src\RobotController.h:21:0,
from src\RobotController.cpp:2:
src\VarSpeedServo.h:9:19: fatal error: Servo.h: No such file or directory

Looking for Servo.h dependency? Check our library registry!
CLI > platformio lib search "header:Servo.h"
Web > https://platformio.org/lib/search?query=header:Servo.h
compilation terminated.
*** [.pioenvs\megaatmega2560\src\RobotController.cpp.o] Error 1
*** [.pioenvs\megaatmega2560\src\MRCPParser.cpp.o] Error 1
In file included from src\VarSpeedServo.cpp:1:0:
src\VarSpeedServo.h:9:19: fatal error: Servo.h: No such file or directory

Looking for Servo.h dependency? Check our library registry!
CLI > platformio lib search "header:Servo.h"
Web > https://platformio.org/lib/search?query=header:Servo.h
compilation terminated.
*** [.pioenvs\megaatmega2560\src\VarSpeedServo.cpp.o] Error 1
In file included from src\main.cpp:12:0:
src\VarSpeedServo.h:9:19: fatal error: Servo.h: No such file or directory

Looking for Servo.h dependency? Check our library registry!
CLI > platformio lib search "header:Servo.h"
Web > https://platformio.org/lib/search?query=header:Servo.h
compilation terminated.
*** [.pioenvs\megaatmega2560\src\main.cpp.o] Error 1
=============================================================================================== [ERROR] Took 7.85 seconds ===============================================================================================

======================================================================================================= [SUMMARY] =======================================================================================================
Environment megaatmega2560 [ERROR]
Environment teensy31 [SKIP]
Environment teensy35 [SKIP]`

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: teensy code aanpassen voor mega2560

Berichtdoor Koepel » 10 Mei 2019, 00:19

Ik heb een paar mooie veters gevonden voor sneakers.
Nu ben ik al enkele avonden bezig om die veters in mijn klompen te rijgen.
De gaatjes maak ik met een boormachine, maar ik gebruik die boormachine voor het eerst. Misschien is de 25.60 mm steenboor niet echt geschikt voor de houten klompen.
Nu hebben mijn klompen veel foute gaten en het water loopt naar binnen.

Ik heb geprobeerd om de foute gaten uit mijn klompen te krijgen.
Is dit onbegonnen werk ?

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: teensy code aanpassen voor mega2560

Berichtdoor shooter » 10 Mei 2019, 23:18

Ik begrijp eigenlijk best wat je wil, echter het programma wat je wil hebben is alleen maar een communicatie tussen een robot en een PC bijvoorbeeld.
begin eens wat simpeler, met de standaard comms naar je robot.
en ik snap bijvoorbeeld grbl in jouw lijst niet.
paul deelen
shooter@home.nl

Berichten: 28
Geregistreerd: 30 Nov 2013, 23:49

Re: teensy code aanpassen voor mega2560

Berichtdoor Luppie » 12 Mei 2019, 00:05

De arm werkt verder prima met een standaard code via arduino ide met standaard servo aansturing bijvoorbeeld. Met matlab was ik ook al wel een eindje om via bluetooth de arm te bedienen totdat met trial af liep.

Ik heb een arduino inverse kinematics code gevonden die ongeveer wel werkt maar toch niet helemaal. Ik ben er nog niet achter waar het mis gaat maar ik denk dat er een as (meerdere) omgekeerd zijn.

De .pioenvs map word gemaakt wanneer je de code gaat compilen met nog twee mappen (.piolibdeps en .vscode). In deze map (.pioenvs) staan een paar bestanden en een map megaatmega2560 waar weer 10 mappen en twee .a bestanden in staan. een hele reeks libxxx mappen met .ccp.o bestanden. Dus de map lib606 is er 1 van 7 die libxxx heten en daarin GRBL-Arduino-Library-master waarin weer 15 .ccp.o bestanden.

lang verhaal kort... ook geen idee wat GRBL is.

elkgeval lijkt het er in mijn ogen op dat het allemaal maar vast loopt op een paar dingen die niet geschikt zijn voor de mega2560 en wel voor de teensy maar verder komt het wel ver.
Vandaar dat ik denk dat met wat aanpassingen deze code ook moet werken voor de mega.

Mogelijkheid om g-code naar de robot te sturen samen met een hopelijk werkende inverse kinematics bied veel mogelijkheden.



https://onedrive.live.com/embed?cid=93F ... 2u6fftJMEY

Terug naar Overige Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten