Right, I had an HTC artemis before my HTC Diamond, and I went out and baught one of
those nifty little W100 remotes. As you'll all know by now (or at least you should do) that
they only work for windows media player, and are not mappable. I want to change this!
Now, i've had a look around the file system, and in the registry, and I've found some things
that i'm curious about...
h2w_accessory.dll seems to be referenced as an active device/driver, and this seems to
be the only thing that could be remotely related to the remote. There has to be some kind
it "middle man" to open WMP and pass it the commands, and I want to gain access into it,
to break it open and generate button press events...
I have tried to access all of the serial ports by writing a small program, to see if the remote
communicated via a simple serial interface, but this yeilded no results. I have listened for
button events system wide, also via a simple program I made, but this also yeilded nothing
useful.
Does anyone know anything more about the inner workings of this remote control's drivers,
and would like to try and help make a solution, hopefully for ALL HTC devices.
I hope we can all finally get our heads down and crack open this remote for the good of
the community, and finally show HTC how to make a remote control useful for more of the
Windows Mobile population...
Hi everyone,
I have started looking into using a PS3 controller as an input device for my Diamond.
I want the adility to play games using a PS3 contoller over bluetooth, as the device doesnt have good controls for games. I have managed to get my ps3 controller to work over usb on my pc Next step is to get my controller over blueooth to my pc, I will keep updating this thread
I have found some useful web pages
how get input from PS3 controller over wired with source code: http://www.codeproject.com/KB/mcpp/wiredps3axis.aspx
How to get ps3 controller over bluetooth on linux with source code: http://fedoraforum.org/forum/showthread.php?t=199246
I dont really know what Im doing when it comes to wm6 and making a device work with wm6. I dont know much about the bluetooth stack either. I will probably need to write some sort of a driver at some point. To catch the input from the controller and convert it into a command on my diamond.
So any help of any kind would be great. Any problems you can see with my plan?
Sorry not sure if this is the right place to put this thread so move if you want.
Well, that didnt go to well.
The controller is appearing in my bluetooth manager on my pc, but i cant connect or query its services.
Now Im really stuck
if someone could help me get some trace data from the connection, or enlighten me to a way of getting some information out of the bluetooth stack.
Thx,
Chris McNamee
Assuming that the PS3 doesn't use a proprietary communication protocol that can't be reverse engineered, this should be possible.
However, I suggest looking here first to get source and discussion re use of the Wii mote on the PPC first.
Then re implement the PS3's control mechanisms.
http://www.codeplex.com/WiiMoB/Thread/View.aspx?ThreadId=10953
There's further discussions here:
http://forum.xda-developers.com/showthread.php?t=335973
and here:
http://forums.neurostechnology.com/index.php?topic=9759.0
to get you started. Interesting project though!
V
Thanks
Cheers vijay555,
I will have a look as soon as I get a bit of free time
Hmmmm
Thanks vijay555
There is some excellent information on some of those links, but will need to get a wiimote. I cant tell if the drivers have been loaded by the wm6
but i was wondering, how does wm6 know which device its talking to over bluetooth?
It must be via a device serial or something, but what is the term for it?
like i said im a bit of a novice
Yeah, now we're cooking
I found an alternative, the wii remote/classic controller it uses bluetooth and there is lots of source code and examples
http://sourceforge.net/projects/wiiuse/
it comes with a libaray for windows and an example of how to use
all the source code is there to downloading
Now all I need is a wii remote
and to get it going on my pc, then port to PPC.
Then I need to write a frontend to control what action on the mote do on my PPC. Should be easy
sounds like an interesting project, keep us updated!
It has begun
Yesterday I bought a wii controller and got it talking to my pc using the wiiuse.
Wiiuse is open source and it has code already to interpret the controls of the wiimote, including the ir sensing, accelerometer, wii nunchuck, and the classic controller. Which we be very useful, as I dont need to work it out myself.
Also I have got wiimob, kind of working. It uses a library called bluetools to controller the bluetooth (which is pay for, so will need to find/make an alternative at some point but works for now). I have got to the point the author got stuck at (comment in the code says he never got passed), so Im kind of on my own now. Wiimob can search for wiimotes, then search it services but fails when trying to get a stream to the service. Im pretty sure this is because the RemoteService class returned by the bluetools doesnt have the correct GUID, which cause the connection to be refused by the remote device as it doesnt exist.
It is all looking very promising at the min
next steps:
get the bluetools talking to a service on my pc and see if I get the right GUID to determine if its the bluetools code which is failing to get the GUID or the wiimote not giving its GUID for the service.
Will post back with any news
Interesting
It seems that the library doesnt want to connect to a human input device, it wont connect to the wiimote or my bluetooth keyboard. It does seem to work to other services like Obex file transfer.
Hmmm, what?
Guess I found try and find some samples of people using this library and human input device or find a new library. Im not really up for trying to create my own at the min, as it would take a while
O dear
Its really not going well, either my knowledge isnt up to the job or it cant be done.
I have tried hard, but windows mobile is missing the all important hid.dll driver to get a listing of pair bluetooth hid devices so i can open a handle to the device. So I then looked into opening a connection myself and bypassing the hid driver, but from what I can work out it needs two l2cap connections open to the device, 1 on channel 11 for writing and another on channel 13 for reading data. But windows mobile doesnt have an api to access the l2cap layer of the bluetooth stack, the layer down (hci) can be extended but this would take along time to implement as I would then have to implement the l2cap layer myself.
Its turning into a losing battle, I really now doubting that I can do this.
The only idea left is how does the windows mobile use a bluetooth keybaord, does it use a generic driver which it extends or is it complete in its self. If it does uses a generic driver, i need to find some doc.
If anyone has any advice about how to implement l2cap connection or any thing about connecting to a hid device in windows mobile I would be very greatful.
Thanks guys,
But I think this is dead, like many other projects to try and get windows mobile work with a wiimote.
Things have taken a turn
Yeah,
A very helpful guy pointed me down a new line of throught,
I now beleive that I maybe able to do this
well, i need the win ce 6 platform builder
i owuld like to help but not got a clue about these things! keep up the good work
Well, any suggestions
Hmm, the wiimote uses bluetooth hid profile to communicate which talks over a l2cap connection. HID profile uses the universal serial bus (USB) architecture but send data over bluetooth
http://www.bluetooth.com/Bluetooth/Technology/Works/HID.htm
I have two options from what i can see
1. Well, I have found source for a sample keybaord device which I could rip off but cant get it to compile
2. Gain access to the L2CAP layer of the bluetooth stack by extending the stack with some of my own code. Then create my own connections to the wiimote and start sending and receiving reports to the device.
Any suggestions on the best approach?
both will take alot of time either way.
Hmm,
The L2CAP sample code requires some of the core dll for wm. These include coredll.dll and the btd.dll
during the build linking fails as I dont have the lib files, to get the lib files I need to build the os, as these files can change depending on the options specified during the build. I dont really want to do this, as it will limit the software to only one os version of wm, the one i build against.
Next question is can I do a library call and get the function points at runtime?
Well I think I may have to ask on a new thread. I hope so, as it would over come alot of problems, and it wouldnt limit the code to certain versions of the wm
Opened my mouth too quick
I using the wince 6 sdk,
But windows mobile 6 is based on wince 5. Hopefull I will have more luck with the wince 5 sdk
Well, that went a bit better.
Ive got pasted all compiling errors with the sample code I found. I have all the needed include and library files.
When trying to link the compiled code I get a single error now.
1>Compiling...
1>l2capdev.cpp
1>Compiling resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
1>Copyright (C) Microsoft Corporation. All rights reserved.
1>Linking...
1>uafxcw.lib(dllmodul.obj) : error LNK2005: DllMain already defined in l2capdev.obj
1> Creating library Windows Mobile 6 Professional SDK (ARMV4I)\Release/l2capdev.lib and object Windows Mobile 6 Professional SDK (ARMV4I)\Release/l2capdev.exp
1>Windows Mobile 6 Professional SDK (ARMV4I)\Release/l2capdev.dll : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://d:\Documents and Settings\Chris\My Documents\Visual Studio 2008\Projects\Bak new l2capdev\l2capdev\Windows Mobile 6 Professional SDK (ARMV4I)\Release\BuildLog.htm"
1>l2capdev - 2 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
If anyone can help with this error it would be great.
Sorry guys, but Ive got alot of coursework on at the min.
So it might go a bit quite on here for a bit, but done worry.
Im still working on this when I get some spare time, but I dont have much at the min
Any progress on this mcnamee?
No luck
Well, I have given up on this for awhile.
I would like to start working on this project again when I have some more time.
But for now this is dead.
Chris McNamee
If you are interested in alternatives to the MSI or Chainpus BGP100 bluetooth gamepad, google search "modded by bacteria" go to the "work in progress" section of his forums, and search for the thread "Re-housed Bluetooth controller". The creator of the site, Bacteria, will be transplanting the innards of the BGP100 into an SNES controller. Previously, he has transplanted it into a PS1 controller. It seams feasible to DIY into almost any controller housing.
PS3 for EVO?
I'd love to use the bluetooth connectivity for my Evo and playing ROMs. any ideas?
Apologies if this has been mentioned...
Any word if and when Android will support MAP and other profiles?
Is there a possible workaround in the meantime?
Okay, what about utilizing iAnywhere Blue SDK? Anyone tried incorporating it?
This must be a taboo subject - there is literally no information anywhere on this. The only thing I could find is that Marvell has licensed the Android version of Blue SDK. Blue SDK for Andorid integrates MAP and a whole host of Bluetooth advanced profiles at a software level but I can't find anyone who has reported any experience with it.
Seriously, the iPhone and Blackberry all have built in support for advanced profiles. Android needs to get on board ASAP - the advanced profiles are crucial for automotive apps and next generation in-vehicle information/entertainment systems.
Does anyone have a contact with the Android developers they can PM me so I can try and find out if this is in the cards at all? This is terribly frustrating....
If you look the Droid 2/X it has support for MAP and some other protocols that the other android phones don't have. I'm currently looking at the Droid line to figure out where this support is and maybe see if I can port it to the Nexus.
Hello and good day, dear XDA Developers forum members!
I have been struggling with this problem for some time and have tried to resolve it myself, but have failed miserably. Anyway, I have installed Linux Deploy from Play Store, an excellent application which automates installation of many Linux distributions on your phone made by a guy called meefik. Everything worked fine. Of course, Linux image file size was automatically calculated by the application so it took quite a lot of free space on my internal SD card. It later proved to be actually reasonable as the desktop environment and everything I installed quite filled those two gigs Linux Deploy allocated. Not quite important for this issue, but... whatever. The real problem I have encountered is the problem of digitizer input. Controlling my phone using x2x through SSH is good enough to eventually resolve some smaller problems or play Dink Smallwood (or freedink, to be exact) just for fun, but it's not quite doable and useful outdoors with no desktop or laptop nearby, so I would like to make Debian somehow recognize digitizer input. Framebuffer output without Android (it is killed by ctl.stop, I guess) and VNC assistance works pretty fine (no HW acceleration, of course, but good enough), just if there is a way to make Debian capture digitizer input, at least in a touchpad-esque way, as I still haven't bought any Bluetooth gear. I tried setting evdev as the driver to recognize digitizer input and /dev/input/event0 as the input device's path in xorg.conf, but no luck. Chroot has access to main Android file system. When cat'ing /dev/input/event0 in terminal it gives output when I tap or swipe on the digitizer, so the actual problem lies in the fact that Linux actually doesn't know to interpret informations that digitizer is sending.
Any ideas? Suggestions? If anything else, do not hesitate to let me know if I made a mistake of some kind (grammar or terminology for example) in my post.
Hooray! Digitizer input finally recognized in Debian! After chatting with pabs* on irc.debian.org I found out that evdev requires ABS_X and ABS_Y coordinates in order to move the cursor successfully around the screen, but as i9000 has a multi-touch digitizer, it sends only ABS_MT_POSITION_X and ABS_MT_POSITION_Y positions** for each finger (as well as an ID for each of them and some other relevant details). Means that evdev isn't quite useful for this purpose. We have a multi-touch digitizer and thus we need a multi-touch driver that will properly interpret our digitizer's input. After browsing through packages in synaptic, I found two seemingly appropriate multi-touch drivers, mtrack and multitouch. As mtrack is a fork of multitouch that (supposedly) brings some improvements when compared to the forkee*** I've chosen to install and set it as the input driver in xorg.conf instead of multitouch. I didn't regret, everything works perfectly! Of course, it still isn't as finger-friendly as Maemo or Android are because it works in touchpad mode, but it's quite a good beginning!
Here's the xorg.conf file (XDA didn't allow me to upload a .conf file as it's an, erm, invalid file) if anyone wants to try this on his i9000!
Code:
Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
InputDevice "touchscreen" "CorePointer"
EndSection
Section "InputDevice"
Identifier "touchscreen"
Option "Device" "/dev/input/event0"
Driver "mtrack"
EndSection
Section "Device"
Identifier "Card0"
Driver "fbdev"
Option "fbdev" "/dev/graphics/fb0"
#Option "Rotate" "CW"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
* Who is also the author of this post, quite useful (post, not poster :laugh.
** In order to be properly recognized as a multi-touch input device by Android. ABS_X and ABS_Y are provided only if a single-touch digitizer is installed, see here
*** The one being forked, in this case multitouch. According to Google, it's a valid word, well, kind of.
P.S. I've attached a screenshot of current setup if anyone's wondering how it looks.
P.P.S. Cursor moves awkwardly when Xorg is in landscape mode (as if X and Y axes were swapped) so I commented out the Option "Rotate" "CW" line.
Progress: one step forward, two steps back
Help needed! As I might have mentioned in previous posts, cursor moves weirdly (moving finger to the left moves cursor up, moving to the right moves down, etc.) in landscape mode (i.e. with Option "Rotate" "CW" line under "Device" section uncommented), so I would like to know if there is there any way to swap X and Y axes? There have been some efforts to make X and Y finger coordinates swapped in this thread, but, unfortunately, with no actual result, because mtrack ignores the Rotate and SwapAxes options as if they were not valid for mtrack or just not implemented yet. Of course, I would prefer to have the option of absolute mouse movement (in the manner of what tslib provides) instead of having digitizer input recognized in a touchpad way, but it seems that there is something that should be modified in tslib's source code in order to make it work.
Also, I've tried to install Hildon by wget'ing Squeeze armel .deb packages and installing them through dpkg until all the dependencies were satisfied, but it still seems like there is some more missing packages that ought to be installed... so if you guys have tried installing Hildon on your Android device (not necessarily i9000) please reply here. All suggestions are welcome.
P.S. Feel free to let me know if this thread might be more appropriate in some other (sub)forum.
moorkai said:
P.S. Feel free to let me know if this thread might be more appropriate in some other (sub)forum.
Click to expand...
Click to collapse
yup, it would get better attention here and here
Check this out!You , YES! you are an " Android ". Not your phone but U.
You Must watch this documentary concerning your privacy Terms & Conditions we had agreed to, by using a PC or Smartphone
How to say Thank you? If you find any post helpful on XDA, please click on the Thanks button
If you are using XDA App or Tapatalk, long press on the post and select :good: Thanks Its easier to give "Feedback" in this manner than make an additional post.
Yeah, it could, but over here (at least I believe) I'm dealing with issues that occur only on i9000 and similar boards. After all, Android Software and Hacking General forum seems like it's more appropriate for finalized works done by people who absolutely (or at least mostly) know what they're doing, not that thingy I'm messing with, and on the other hand, Android General is flooded by various posts mostly related to flashing problems and doubts, interesting offers and similar stuff, so my thread doesn't actually fit in neither of these forums. That thing I'm messing with is an odd duck. I'm trying to address issues that are tightly related with i9000 as well as problems more related to Android-Debian communication through chroot (it's not my primary problem at the moment, but I should look into it someday too), and reincarnating Maemo through chrooted Debian through Hildon Desktop too, but I don't consider myself experienced enough to post in any of the above mentioned categories.
So, to summarize, I don't know. Feel free to convince me if you think I'm wrong.
P.S. It's my 60th post, hooray!
I am trying to figure out how I can light an LED with my NodeMCU V2 via the use of WiFi and a phone application I create via Android Studio but I don't know where to start nor can I find any information on how I can do it, I've seen tutorials where they make me use their 3rd party tools to achieve this and I've seen it done on a web server but I'd like it to be on a phone application. Is there any way this can be done? Bluetooth is not an option because I want it to be accessed from anywhere as I plan to port-forward the IP in the future.
This is a very interesting idea. I do not have a specific answer. I did some programming of 68HC11 about 20 years ago. The chip was mounted on a system board and connected to my desktop computer using a serial cable. I would develop the program on the desktop then download to the `11 over the serial cable. There was a small program in the `11 that would receive the program and load it into the `11 memory.
Structurally you need similar components: a software development system that run in your phone [a small Android Studio], an electronic communication link [Bluetooth, http, whatever], a system board, and software in the system board to receive commands and a data stream from the phone and load the stream of machine language into the 68HC11.
I still have the system board: CME11E9-EVBU AXM-0199 REV.C Axiom Manufacturing. For more info do a Google search for that ID, or just click here...
https://canada.newark.com/axiom/cme-11e9-evbu-ed/spi-sci-rs232-lcd-dev-board/dp/13C2791
I am not familiar with what is going on in that section of technology these days, but much of what you need should be available and findable. If such a system does not yet exist then it is a business opportunity waiting for someone like yourself.
All the best to you