Flashed bootloader successfully but device doesn't show up in device manager - bootloader

I've successfully compiled and flashed the arduino samd bootloader onto a custom atsamd21 board. I am using an external crystal oscillator (32khz) so I am not using the -DCRYSTALLESS option.
Now that I plug it in I don't hear or see anything pop up. Even in the arduino ide it doesn't show up.
What could be the cause(s)?

Related

TTGO LoRa32 without OLED display

I purchased TTGO Lora Module without OLED display. There is a line of pads in the PCB. When I upload I2C scanner sketch from Arduino IDE, it does not detect any I2C devices.
So, if I want to use a display of my own, e.g. OLED with any kind of I2C controller (SSD1306, SH1106 etc.) it should not collide with any existing controller on-board, is that right?
What about uploading Meshtastic firmware, should it work when I connect i2c display with SSD1306?

PS2 Keyboard interface runs smoothly in Active-HDL simulator, but not working on Nexys2 Board

I have to make a PS2 Keyboard Controller project at the university and i encountered a few problems when trying to test the system on the FPGA board.
It had worked perfectly in the simulator of Active-HDL, but i am not sure what it might be that stops it from working on the board, because when i try to program the board, the .bit file gets uploaded, but it does not react when i plug the PS/2 Keyboard in it and try to press a key.
I thought that probably a problem might be related to the PS/2 Keyboard protocol or the way it is synthesized for the board, but i really do not know.
The source code is here https://wetransfer.com/downloads/1d000a9feb241ff84693fca2084b0e9a20180513165005/8f7ca4 and the top level is called "ps2_top_src".
I am sorry for the way of uploading the code, but i couldn`t make it upload anywhere else.

Mac OS X video capture device hot plug driver support

I'm developing driver for USB video capture device. First of all, I've started with CoreMediaIO sample:
https://developer.apple.com/library/content/samplecode/CoreMediaIO/Introduction/Intro.html
The kernel extension is based on IOVideoSample. It gets data from the USB device and sends to the assistant. Kext has IOKitPersonalities based on the USB device. So the device is real and should support HotPlug. Kext main class loads when the device is plugged in and unloads when the device is plugged out.
SampleAssistant was changed only to detect my kext class. PlugIn has NoCMIOHardwarePluginLazyLoadingInfo property.
When all video capture apps are closed - hotplug works well. Terminate function is being called from kext and kext object is being unloaded without any problem.
Even if you start video capture app with the stream from the device, then close it and plug out device - hotplug also works.
It works well with QuickTime player. It can find a stream and show an image, but there is one problem.
When QuickTime (or any other video capture app) works and show stream from the device - hotplug doesn't work. If you try to plug out the device it will remain in the system and USB port won't work until you reboot Mac. According to logs - terminate function wasn't called at all. Seems that something retains a link to the device.
I've started digging into the problem.
First of all, I figured out that SampleAssistant doesn't support hotplug by default. It has notification only for device arriving (DeviceArrived). I've added "interest" notification and handle only "kIOMessageSeviceIsTerminated" message - executing DeviceRemoved function and force deleting device object, but it didn't help.
There is also a file CMIO_DPA_Sample_Server_Stream.cpp. If you go to Stream::Start function and delete "mIOSAStream.Open;" and "mIOSAStream.Start();" lines - hotplug works.
Can you please advise what can be done to solve this problem?

C++ detect Apple headphone buttons on Windows

BACKGROUND INFORMATION:
I've been trying to detect a button click from Apple headphone. The headphone is connected to MacBook Pro that is running Windows. Its not virtual machine. It is running windows normally with a complete windows driver from Apple through Boot Camp.
The headphone is a standard Apple headphone consisted of three buttons: a volume up, volume down, middle buttons and a Mic.
When I am using Mac Os, If the volume up button is presses on the ear phone, Mac Os would increase its volume by one. It also decreases its volume when the voulume down button is pressed on the ear phone.
Standard ear/headphone uses three conductive pins to receive(L/R speakers only) signals while the apple version is using four conductive pins to receive(L/R speakers) and send(buttons) signals. This headphone was made for iPhone but I was surprised when it worked on Mac Os.
This made me believe that the MacBook Pro hardware is built to support this four conductive pins earphone. It works on Mac Os but NOT on Windows. My goal is to develop a tiny software that will allow the apple headphone to function on Windows running on Apple hardware.
I know how to increase Windows volume using C++ and Win32 API but I am stuck on the part where I actually have to detect the button click from the headphone.
QUESTION:
1) what ways can I detect the Input(button clicks) from the headphone?
It looks like this person here was able to read it. He only did it while running on Mac Os
Detect hardware headphone presses in mac
2) If I compile the code this person got working on Mac OS as a DLL file and then call the function while running Windows, will it work?
3) Do I need to make my own driver to get this to work?
4) The code below is from the link I posted above. What windows API function, class is equivelent to the follwoing Mac Os code below?
id array = [[DDHidDevice allDevices] filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:#"productName == \"Apple Mikey HID Driver\""]];
DDHidDevice *mic = [array count] ? [array objectAtIndex:0] : nil;
// it isn't a keyboard
NSLog(#"%#", mic.primaryUsage);
assert(mic.usage==1 && mic.usagePage==12);
THINGS I'VE TRIED:
1) I tried using GetLastInputInfo() with LASTINPUTINFO from Windows API to sniff any hardware input but failed miserably. It worked on keyboard and mouse but nothing else.
2) I also tried to use RAWINPUTDEVICE to read a low level input from hardware but it only worked on keyboards, mouse and joystick input. It didn't detect the headphone button press.
I am running out of ideas. Anyone got any solution?
NOTE: This is not a duplicate question as I am asking how to do this on Windows not Mac.

How can I get windows to remember my device after installing it so I don't get the new device message upon every connection?

I have a piece of hardware that we created that connects to my PC via USB. We also wrote the drivers for it. EVERY time I plug this device in, the new device message comes up, even though the drivers are installed. I can cancel the dialog and it works fine, but it looks like crap and I'll be selling this product and want it to function like other USB products and only throw this dialog up once.
How do I make this happen?
Do you have all of the USB device descriptor fields populated in your device? Specifically, I am asking about the serial number field.
http://blogs.msdn.com/oldnewthing/archive/2004/11/10/255047.aspx

Resources