- Port my existing C++ code to use Qt instead.
- Ditch native Android for Qt deployed on Android
- Discontinue the purely CNC related projects. Rationale: they take too much time and focus away from core project without actually solving any big problems. Focus on quickly getting one CNC up and running and sell off the rest.
- Continue and complete the work with the ECU.
- Continue the prototyping of one leg.
- Make a portable "vision unit" that can be dragged around to "learn" and test, for example in my car.
This is the official blog about the development of OctoMY™, the robot platform for you!
2015-03-04
Devol plan for 2015
Plan for Devol robot project in 2015 is the following:
2014-12-18
Simple IK
I came over this link while looking for a simple IK to drive a simple 3DOF robot arm I am making for work.
There is also this youtube video.
I have shamelessly copied his code here, and I intend to improve upon it for my own project and maybe post an update.
There is also this youtube video.
I have shamelessly copied his code here, and I intend to improve upon it for my own project and maybe post an update.
const float cx=2; //coxa
const float fm=6.2; //femur
const float tb=8.3; // tibia
float L, L1;
float alpha, alpha1,alpha2,beta,gama;
void setup()
{
Serial.begin(9600);
}
void loop()
{
trigono_xyz(2, 4, 6); //contoh x,y,z
Serial.print("gama= ");
Serial.print(gama);
Serial.print(", alpha= ");
Serial.print(alpha);
Serial.print(", beta= ");
Serial.print(beta);
Serial.println();
}
void trigono_xyz(float x, float y, float z)
{
L1=sqrt(sq(x)+sq(y));
gama=atan(x/y)/PI*180;
L=sqrt(sq(L1-cx)+sq(z));
beta=acos((sq(tb)+sq(fm)-sq(L))/(2*tb*fm))/PI*180;
alpha1=acos(z/L)/PI*180;
alpha2=acos((sq(fm)+sq(L)-sq(tb))/(2*fm*L))/PI*180;
alpha=alpha1+alpha2;
}
2014-08-20
Reading Emcotronic M1 roms
I have sucessfully read the roms from the M1 mainboard using the TOP853 rom programmer.
The process was surprisingly smooth. I was prepared for all sorts of problems along the way, but it just worked. Uncanny...
I ran the TOP853 software from virtualbox to read the roms into .bin files and then i used bokken from the ubuntu repos to parse and look at the files. This is how I did it:
The plan ahead now is to buy a few replacement roms (modern variants with identical pin-out) and copy the images over and see if they work. Once they work I can start modifying the code slightly.
Figuring out what to change in the code and where might seem harder than it is. I thought about ho to do it and I came up with the idea that the strings tell me something about what the code does, so all I have to do is to follow the strings and see which code pushes the strings around. Next I just identify which strings relate to which functions (such as loading/saving MSD data) and hijack those routines by jumping to an unused location where I have some space for my own code.
Well in theory at least.
The process was surprisingly smooth. I was prepared for all sorts of problems along the way, but it just worked. Uncanny...
I ran the TOP853 software from virtualbox to read the roms into .bin files and then i used bokken from the ubuntu repos to parse and look at the files. This is how I did it:
![]() |
| Open the chip select dialog in TOP853. |
![]() |
| Type in 27256 and select EPROM. |
![]() |
| Select a long delay for reliable reading. |
![]() |
| Start reading the chip into the buffer. |
![]() |
| Save the buffer to .bin file. |
![]() |
| Open bokken and select the .bin file. |
![]() |
| You can browse the dis-assembled code. |
![]() |
| You can view the strings table. |
Figuring out what to change in the code and where might seem harder than it is. I thought about ho to do it and I came up with the idea that the strings tell me something about what the code does, so all I have to do is to follow the strings and see which code pushes the strings around. Next I just identify which strings relate to which functions (such as loading/saving MSD data) and hijack those routines by jumping to an unused location where I have some space for my own code.
Well in theory at least.
TOP853 rom writer under Ubuntu
The TOP853 rom programmer arrived a few days ago and I just had the chance to check it out.
Since I run Ubuntu as my primary desktop OS, I thought it would be nice to see if I could get it working there somehow. Unfortunately the programmer is married to a proprietary windows-only software, and installing that under wine was a futile endeavour.
I ended up installing a small XP 32bit image under virtualbox. I had to install guest additions, add my user to vboxuser group and reboot to have USB working. I identified the USB device by detaching it and reattaching it and seeing which entry in the list of devices changed in the vbox USB filter settings.
Mor on this soon.
Since I run Ubuntu as my primary desktop OS, I thought it would be nice to see if I could get it working there somehow. Unfortunately the programmer is married to a proprietary windows-only software, and installing that under wine was a futile endeavour.
I ended up installing a small XP 32bit image under virtualbox. I had to install guest additions, add my user to vboxuser group and reboot to have USB working. I identified the USB device by detaching it and reattaching it and seeing which entry in the list of devices changed in the vbox USB filter settings.
![]() |
| TOP853 running in XP 32bit in virtualbox under Ubuntu. |
Mor on this soon.
2014-08-03
Emcotronic M1 EPROM + Static RAM + CPU
Small update on the EMCO.
After posting a few inquisitions on practicalmachinist.com and cnczone.com (major cnc related forums), without a single response at all I felt a bit discouraged. But to quote someone special; "When I get sad, I stop being sad and be awesome instead".
So now I have dragged out all the cards from the M1 computer and started probing them for intel (pun intended). It looks as though the card with the reset button at the back, called "R3D415000", or "Datacontroller" is the culprit.
It features among other things the following IC chips:
I have also ordered a cheap eprom programmer that supposedly handles the 27256 chips on this card. The plan is to read them in and look at the code (should be in x86 machine code, which there are lots of tools for). If I want to fiddle with it, I can probably write the possibly updated changes to more modern eeprom chips of the same spec that go into the sockets on the card. If I get anywhere with this, I will try to patch the code so that I can run my own subroutines attached to button clicks on one of the inert buttons in the display (there are at least two buttons with no symbol on them, that I guess are just legacy/future-proofing).
After posting a few inquisitions on practicalmachinist.com and cnczone.com (major cnc related forums), without a single response at all I felt a bit discouraged. But to quote someone special; "When I get sad, I stop being sad and be awesome instead".
So now I have dragged out all the cards from the M1 computer and started probing them for intel (pun intended). It looks as though the card with the reset button at the back, called "R3D415000", or "Datacontroller" is the culprit.
| Unfortunately none of my cameras are operational at the moment, so only a stolen picture. |
It features among other things the following IC chips:
- 1 x Intel P8088 L6100335 <-- CPU
- 1 x Intel D8259A L4057497 <-- PIC for 8080 architecture
- 4 x Hitachi HM6264LP-15 <-- 64Kbit Static RAM (battery backed)
- 4 x Intel D27256 <-- 256Kbit UV Erasible NMOS EPROM
- 1 x YUASA Sealed Ni-Cd battery 3-51FT-C 3-5V 50mAh
I have also ordered a cheap eprom programmer that supposedly handles the 27256 chips on this card. The plan is to read them in and look at the code (should be in x86 machine code, which there are lots of tools for). If I want to fiddle with it, I can probably write the possibly updated changes to more modern eeprom chips of the same spec that go into the sockets on the card. If I get anywhere with this, I will try to patch the code so that I can run my own subroutines attached to button clicks on one of the inert buttons in the display (there are at least two buttons with no symbol on them, that I guess are just legacy/future-proofing).
Subscribe to:
Posts (Atom)







