Arduino Data komt niet binnen

Projecten die niet passen in bovenstaande onderwerpen
Berichten: 4
Geregistreerd: 26 Okt 2020, 11:11

Arduino Data komt niet binnen

Berichtdoor TolmRO » 26 Okt 2020, 11:18

Ik heb een code gevonden en ik weet dat hij werkt, alleen krijg ik geen data te zien, weet iemand hoe dat kan? het programma maakt wel een connectie. Ik heb de hele code Inc Subcodes toegevoegd. Ik gebruik een Arduino UNO met een USB host shield 2.0
cpp code
#include <usbhid.h> 
#include <hiduniversal.h>
#include <usbhub.h>

// Satisfy IDE, which only needs to see the include statment in the ino.
#ifdef dobogusinclude
#include <spi4teensy3.h>
#include <SPI.h>
#endif

#include "hidspacenavigatorrptparser.h"

USB Usb;
USBHub Hub(&Usb);
HIDUniversal Hid(&Usb);
SpaceNavigatorEvent SpaceNavigatorEvent;
SpaceNavigatorReportParser SpaceNavigator(&SpaceNavigatorEvent);

void setup() {
Serial.begin(115200);
#if !defined(__MIPSEL__)
while (!Serial);
Serial.println("Gekoppeld");
if (Usb.Init() == -1)
Serial.println("OSC did not start.");

delay(200);

if (!Hid.SetReportParser(0, &SpaceNavigator))
ErrorMessage<uint8_t > (PSTR("SetReportParser"), 1);
}

void loop() {
Usb.Task();
}



HIDSPACENAVIGATORRPTPARSER.CPP
#include "hidspacenavigatorrptparser.h"

SpaceNavigatorReportParser::SpaceNavigatorReportParser(SpaceNavigatorEvent *evt) :
spaceNavigatorEvent(evt)
{
}

void SpaceNavigatorReportParser::Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf) {

// Calling SpaceNavigator event handler
spaceNavigatorEvent->OnSpaceNavigatorChanged((const SpaceNavigatorEventData*)buf);
}

void SpaceNavigatorEvent::OnSpaceNavigatorChanged(const SpaceNavigatorEventData *evt) {
// Serial.print("report ID: ");
// PrintHex<uint8_t > (evt->rptid, 0x80);
// Serial.print("\txl: ");
// PrintHex<uint8_t > (evt->xl, 0x80);
// Serial.print("\txh: ");
// PrintHex<uint8_t > (evt->xh, 0x80);
// Serial.print("\tyl: ");
// PrintHex<uint8_t > (evt->yl, 0x80);
// Serial.print("\tyh: ");
// PrintHex<uint8_t > (evt->yh, 0x80);
// Serial.print("\tzl: ");
// PrintHex<uint8_t > (evt->zl, 0x80);
// Serial.print("\tzh: ");
// PrintHex<uint8_t > (evt->zh, 0x80);
// Serial.print("\txr: ");
// PrintHex<uint8_t > (evt->xr, 0x80);
// Serial.print("\txs: ");
// PrintHex<uint8_t > (evt->xs, 0x80);
// Serial.print("\tyr: ");
// PrintHex<uint8_t > (evt->yr, 0x80);
// Serial.print("\tys: ");
// PrintHex<uint8_t > (evt->ys, 0x80);
// Serial.print("\tzr: ");
// PrintHex<uint8_t > (evt->zr, 0x80);
// Serial.print("\tzs: ");
// PrintHex<uint8_t > (evt->zs, 0x80);

// Translation vector
if (evt->rptid == 1) {
Tx = evt->xl+(evt->xh<<8);
Ty = evt->yl+(evt->yh<<8);
Tz = evt->zl+(evt->zh<<8);
Rx = evt->xr+(evt->xs<<8);
Ry = evt->yr+(evt->ys<<8);
Rz = evt->zr+(evt->zs<<8);
}

// Rotation vector
else if (evt->rptid == 2) {
Rx = evt->xl+(evt->xh<<8);
Ry = evt->yl+(evt->yh<<8);
Rz = evt->zl+(evt->zh<<8);
}

// Buttons
else if (evt->rptid == 3) {
}

Serial.print("\tT:( ");
Serial.print(Tx);
Serial.print(" , ");
Serial.print(Ty);
Serial.print(" , ");
Serial.print(Tz);
Serial.print(" )");

Serial.print("\tR:( ");
Serial.print(Rx);
Serial.print(" , ");
Serial.print(Ry);
Serial.print(" , ");
Serial.print(Rz);
Serial.print(" )");

Serial.println("");
}

void SpaceNavigatorEvent::OnButton(uint8_t but_id) {
Serial.print("Button: ");
Serial.println(but_id, DEC);
}



HIDSPACENAVIGATORRPTPARSER.H
#if !defined(__HIDSPACENAVIGATORRPTPARSER_H__)
#define __HIDSPACENAVIGATORRPTPARSER_H__

#include <usbhid.h>

struct SpaceNavigatorEventData {
uint8_t rptid, xl, xh, yl, yh, zl, zh, xr, xs, yr, ys, zr, zs;
};

class SpaceNavigatorEvent {
public:
SpaceNavigatorEvent() { Tx=Ty=Tz=Rx=Ry=Rz=0; };
virtual void OnSpaceNavigatorChanged(const SpaceNavigatorEventData *evt);
virtual void OnButton(uint8_t but_id);

int16_t Tx, Ty, Tz, Rx, Ry, Rz;
};

class SpaceNavigatorReportParser : public HIDReportParser {
SpaceNavigatorEvent *spaceNavigatorEvent;

public:
SpaceNavigatorReportParser(SpaceNavigatorEvent *evt);

virtual void Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf);
};

#endif // __HIDSPACENAVIGATORRPTPARSER_H__

Advertisement

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

Re: Arduino Data komt niet binnen

Berichtdoor shooter » 27 Okt 2020, 11:37

dat is ongeveer hetzelfde als ik heb de stekker van de tv in het stopcontact gedaan maar ik zie niks (duh dan zet moet je de tv ook nog aanzetten)
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 26 Okt 2020, 11:11

Re: Arduino Data komt niet binnen

Berichtdoor TolmRO » 02 Nov 2020, 14:53

ik ben niet heel bekend ermee, Hoe zet ik dat aan dan?

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

Re: Arduino Data komt niet binnen

Berichtdoor shooter » 02 Nov 2020, 15:40

zet als eerste maar eens de commentaren aan tijdens compileren, als hij daar foutloos doorheenkomt is dat al een stap,
verder gebruik je een aantal libs, controleer of je de juiste versies hebt.
en een UNO heeft een USB port op pin 0 en pin1 standaard dus waarom staat het er zo in?
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 26 Okt 2020, 11:11

Re: Arduino Data komt niet binnen

Berichtdoor TolmRO » 03 Nov 2020, 12:57

Wat bedoel je met "de UNO heeft een USB port op pin 0 en pin1 standaard dus waarom staat het er zo in?" dit is de eerste keer dat ik zoiets doe.
en hij komt goed door het compileren. ik heb de juist libs geinstalleerd

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

Re: Arduino Data komt niet binnen

Berichtdoor shooter » 03 Nov 2020, 13:53

ik zie bijv staan spi4teensy en dat zal echt niet goed gaan. De compiler kan heel veel processoren aan, dus dat zal wel goed gaan, maar dan ook nog het goede bordje selecteren en precies de goede libs gebruiken.
paul deelen
shooter@home.nl

Berichten: 4
Geregistreerd: 26 Okt 2020, 11:11

Re: Arduino Data komt niet binnen

Berichtdoor TolmRO » 03 Nov 2020, 15:49

wat raad je dan aan om aan te passen?

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

Re: Arduino Data komt niet binnen

Berichtdoor shooter » 04 Nov 2020, 18:34

de juiste library voor je bordje (UNO) te zoeken en die erin zetten
paul deelen
shooter@home.nl

Terug naar Overige projecten

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten