Thursday, March 14, 2019

Turn off monitor - C++

monitor_off.png

My brother asked me how can he turn off the monitor. He showed me a PowerShell script

start powershell (Add-Type '[DllImport(\"user32.dll\")]^public static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);' -Name a -Pas)::SendMessage(-1,0x0112,0xF170,2); exit

My reaction was “what the heck, seriously you can do that with PowerShel, like, invoke a function in a DLL file just like that?!”.
[Read more…]

Sunday, March 3, 2019

Programmatically upload code - atmega32u4 - VC++

m32u4_prog_intro.jpg

I had a small project that need to deliver firmware for atmega32u4 for my customers. And of course, they aren’t tech-savvy like me. It was impossible to guide them to use arduino to flash directly using source code. More importantly, I don’t want to share my source code. There is only one option for me that build an avrdude wrapper that detect atmega32u4 and run avrdude automatically. This tutorial is about uploading firmware to atmega32u4 programmatically using AVR109 app note in Visual Studio.
[Read more…]