I got a 6-fet sensorless controller from em3ev, plus throttle, switches and program cable. There's no info about how to program it (and the diagrams you get aren't quite right, the connectors are different), but thanks to ES I found XPD. I installed it on a Raspberry Pi, install was easy, but it wasn't obvious, and the information I needed to do it was scattered all over the web:
Logged in as root:
apt-get install python-serial
apt-get install python-glade2
Then I downloaded xpd from http://xpd.berlios.de/ I got the Linux version), xpd-0.3.2.tar.bz2
unpacked it with "bunzip2 xpd-0.3.2.tar.bz2"
untarred it with "tar -xf xpd-0.3.2.tar"
went to the directory with "cd xpd-0.3.2" and did "make install"
The above will also probably work for Ubuntu and any other Debian-based linux (but it would probably be uasier to use xpd_0.3.2-1ubuntu1_all.deb, but I didn't try that) ; for Fedora, you would download xpd-0.3.2-1.fc17.zap.noarch.rpm
and do "rpm -i xpd-0.3.2-1.fc17.zap.noarch.rpm"
And, from a terminal, I typed "xpd" and it ran.
OK, so far so good. Now to program a controller. So, I logged in as a user.
The first question in my mind, was whether the controller should be powered up or not. That's not obvious - why would I try to talk to a device that isn't powered on? After some thought, I decided power-off (which turned out to be correct), and connected it up to the programming cable. I ran xpd, set the paramaters (the program is really very easy to use) and then clicked on "Apply".
But the USB port didn't have permission for the user to use it, so I logged in on another window as root, and did "chmod 666 /dev/ttyUSB0". Your USB serial might have a different name. That gave me access as an ordinary user.
You need to have the parameter-set that you want uploaded highlighted, and "apply" means "Install those parameters" because if you have anything else highlighted when you click "Apply" it will apply those instead of the ones that you had in mind - I did that blunder once. The install screen came up, and I clicked the little switch on the cable, but nothing happened.
I tried it a few times, still nothing. I tried it with power on the controller, nothing. Then I read my way through this thread:
https://endless-sphere.com/forums/viewto ... =2&t=27927
It's a long thread (414 posts), but full of excellent information. But long. But worth reading. From it, I discovered that I'd been right in the first place to have no power on the controller, but my BIG mistake was to have the throttle and switches connected. I disconnected them, and tried again.
So I thought I'd post this for other people trying to program an Infineon for the first time, so that you don't have to spend quite so long finding out the stuff that everyone else here has known for years and which might be obvious, but wasn't obvious to me.
And thank you to anpaza for writing this very nice software.