
if((kHeld & KEY_X) && (kHeld & KEY_Y)) {
drawString(10, 110, "Sending IR signal...");
IRU_SendData(u8 *0, u32 0, u32 0);
} else {
drawString(10, 110, "Hold X & Y to send IR signal.");
}
if((kHeld & KEY_A) && (kHeld & KEY_B)) {
drawString(10, 120, "Receiving IR signal...");
IRU_RecvData(u8 *0, u32 0, u8 0, u32 *0, u32 0);
} else {
drawString(10, 120, "Hold A & B to send IR signal.");
}
For the life of me, I cannot even get it to build. I'm going to put up what I edited into the main.c file here in case anyone wants to check it, but keep in my I have next to zilch coding experience and I wouldn't be surprised if I was doing something colossally wrong.
Lines 155 - 167
const size_t bufferSize = 4096;
u8* buffer = malloc(bufferSize);
const u32 wait = 100;
if(buffer != NULL)
{
IRU_SendData(buffer, bufferSize, wait);
}
free(buffer);

Kinda nearly lost the plot there but I think I understand what you're saying. So the first three lines is the data you are going to send and you just call that into the IRU_SendData, right?
I assume you ask for the same data when receiving, or is it different?


That's where it begins to get a bit tricky. You'd probably have to start coming up with your own custom data "packets" of sorts. For example, you could add a checksum of some sort to the end of your buffer, and then on the 3DS that receives the data, calculate the checksum on the incoming data, and compare it to the checksum that was sent. If they match, you could send a signal back to the other 3DS to let it know that it was successfully sent.
There's a fair amount of thought that goes into sending data over IR/wifi.![]()
if((kHeld & KEY_X) && (kHeld & KEY_Y)) { //Paste this at line 155
drawString(10, 110, "Sending IR signal...");
const size_t bufferSize = 4096;
u8* buffer = malloc(bufferSize);
const u32 wait = 100;
IRU_SendData(buffer, bufferSize, wait);
free(buffer);
} else {
drawString(10, 110, "Hold X & Y to send IR signal.");
}
if((kHeld & KEY_A) && (kHeld & KEY_B)) {
drawString(10, 120, "Receiving IR signal...");
//You'll have to insert receiving coding in here.
} else {
drawString(10, 120, "Hold A & B to send IR signal.");
}
I'm not going to even pretend to know how to do that, however from what I've checked on that it seems checksums would be the slowest possible way to do that, unless I'm mistaken.

Infrared range in up to eight inches ion o3dsxl, no body will notice someone holding 3ds few inches from tv.
Which is like checksumsWell one quicker way to go about it is to try hash code comparison instead, checking if they are similar.
Well one quicker way to go about it is to try hash code comparison instead, checking if they are similar.


Error: e0210cca
Module: 67 (IR)
Level: 28 (Usage)
Summary: 1 (Nothing happened) --Thanks, me too!
Description: 202 (200-219 Not enough space) --Probably needs more space...
Error: c8a10ff0
Module: 67 (IR)
Level: 25 (Status)
Summary: 5 (Invalid state) --Oh no!
Description: 1008 (Busy) --Oh, makes sense. Guess I can't read and write at the same time...





