Arduino Data komt niet binnen
8 berichten
• Pagina 1 van 1
Arduino Data komt niet binnen
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
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
Re: Arduino Data komt niet binnen
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
shooter@home.nl
Re: Arduino Data komt niet binnen
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?
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
shooter@home.nl
Re: Arduino Data komt niet binnen
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
en hij komt goed door het compileren. ik heb de juist libs geinstalleerd
Re: Arduino Data komt niet binnen
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
shooter@home.nl
Re: Arduino Data komt niet binnen
de juiste library voor je bordje (UNO) te zoeken en die erin zetten
paul deelen
shooter@home.nl
shooter@home.nl
8 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 39 gasten