Re: Compiling RepRapFirmware on Linux without Eclipse April 10, 2016 03:08PM |
Registered: 8 years ago Posts: 776 |
Quote
chrishamm
See my firmware fork at [github.com], it provides a typical Makefile and a build script for Windows. Just make sure you install my Arduino Duet board before you attempt to compile it (requires the latest Arduino version). I managed to get it to compile with dc42's fork as well, but I haven't tried that with his latest firmware version yet.
Re: Compiling RepRapFirmware on Linux without Eclipse April 10, 2016 05:16PM |
Registered: 10 years ago Posts: 14,672 |
Re: Compiling RepRapFirmware on Linux without Eclipse April 11, 2016 07:22AM |
Registered: 10 years ago Posts: 2,472 |
Quote
lkcl
appreciated, dave - i have a macbook pro running Debian, with a 250gb SSD, i'm a little reluctant to open it up. i used to build my own PCs [i've done around 50] - but laptops... i've seen the horror stories of people puncturing the laptop battery from apple macbooks.... i'm really reluctant to take the risk. nice thought, though.
Re: Compiling RepRapFirmware on Linux without Eclipse April 11, 2016 04:23PM |
Registered: 8 years ago Posts: 776 |
Quote
dc42
Great! Thanks for taking the trouble to support my fork. I'm still hoping that we can get back to a single RepRapFirmware sometime.
Re: Compiling RepRapFirmware on Linux without Eclipse May 22, 2016 03:23PM |
Registered: 8 years ago Posts: 10 |
Re: Compiling RepRapFirmware on Linux without Eclipse May 22, 2016 05:10PM |
Registered: 10 years ago Posts: 14,672 |
Re: Compiling RepRapFirmware on Linux without Eclipse May 22, 2016 05:56PM |
Registered: 8 years ago Posts: 10 |
Cannot run program "/usr/bin/arm-none-eabi-g++": Unknown reasonI know the reason: It's not there, because it is in a different path that I have specified:
PATH=[/usr/bin;/Users/Peter/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin]Unfortunately I cannot get Eclipse to look there. Maybe I should just create a bunch of symlinks.
22:25:26 **** Incremental Build of configuration Release for project RepRapFirmware **** Info: Internal Builder is used for build /usr/bin/arm-none-eabi-g++ -D__SAM3X8E__ -DF_CPU=84000000 -DUSBCON -DUSB_PID=0x003e -DUSB_VID=0x2341 -Dprintf=iprintf -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/cores/arduino -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/system/libsam -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/system/CMSIS/Device/ATMEL -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/system/CMSIS/CMSIS/Include -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/variants/duet -I/Users/Peter/cnc-firmware/ECLIPSE/CoreDuet/system/libsam/include -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/Lwip -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/EMAC -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/SamNonDuePin -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/SD_HSMCI -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/SD_HSMCI/utility -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/SPI -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/MAX31855 -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/MCP4461 -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/Flash -I/Users/Peter/cnc-firmware/ECLIPSE/RepRapFirmware/Libraries/Wire -O2 -Wall -c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500 -o src/OutputMemory.o ../src/OutputMemory.cpp Cannot run program "/usr/bin/arm-none-eabi-g++": Unknown reason Error: Program "/usr/bin/arm-none-eabi-g++" not found in PATH PATH=[/usr/bin;/Users/Peter/Library/Arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin] 22:25:26 Build Finished (took 14ms)
Re: Compiling RepRapFirmware on Linux without Eclipse May 22, 2016 06:23PM |
Registered: 10 years ago Posts: 14,672 |
Re: Compiling RepRapFirmware on Linux without Eclipse May 23, 2016 12:17PM |
Registered: 8 years ago Posts: 10 |
Re: Compiling RepRapFirmware on Linux without Eclipse May 23, 2016 12:53PM |
Registered: 10 years ago Posts: 14,672 |
Quote
peterl
Finally the binary compiles, I can sleep better and work on some changes for my "oversized" and very slightly concave print bed.
Re: Compiling RepRapFirmware on Linux without Eclipse May 23, 2016 02:05PM |
Registered: 8 years ago Posts: 10 |
Re: Compiling RepRapFirmware on Linux without Eclipse May 23, 2016 04:14PM |
Registered: 10 years ago Posts: 14,672 |
Quote
peterl
5 point bed levelling works ok if the bed is concave around the center. In my case I have a bed looks a bit like that:
between X0 Y0 and X450 Y0 it is flat (<100um)
between X0 Y0 and X0Y450 it is relatively flat (~100um)
between X450 and Y450 it is relatively flat (~100um)
between X450 Y450 and X0Y450 it is warped (~300um).
The center of the bed is still relatively level with the first 3 points. The maximum curvature is somewhere on Y450.
Re: Compiling RepRapFirmware on Linux without Eclipse June 09, 2016 03:26PM |
Registered: 8 years ago Posts: 10 |
float baryXBedProbePoints[5]; // The X coordinates of the triangle corner points float baryYBedProbePoints[5]; // The Y coordinates of the triangle corner points float baryZBedProbePoints[5]; // The Z coordinates of the triangle corner pointsto
float baryXBedProbePoints[9]; // The X coordinates of the triangle corner points float baryYBedProbePoints[9]; // The Y coordinates of the triangle corner points float baryZBedProbePoints[9]; // The Z coordinates of the triangle corner pointsand added
private: float Triangle9Z(float x, float y) const; // Interpolate onto a triangular grid using 9 point calibration
void Move::BedTransform(float xyzPoint[AXES]) const { switch(numBedCompensationPoints) { case 0: break; case 3: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] + aX*xyzPoint[X_AXIS] + aY*xyzPoint[Y_AXIS] + aC; break; case 4: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] + SecondDegreeTransformZ(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; case 5: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] + TriangleZ(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; case 9: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] + Triangle9Z(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; default: reprap.GetPlatform()->Message(GENERIC_MESSAGE, "BedTransform: wrong number of sample points."); } } // Invert the bed transform BEFORE the axis transform void Move::InverseBedTransform(float xyzPoint[AXES]) const { switch(numBedCompensationPoints) { case 0: break; case 3: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] - (aX*xyzPoint[X_AXIS] + aY*xyzPoint[Y_AXIS] + aC); break; case 4: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] - SecondDegreeTransformZ(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; case 5: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] - TriangleZ(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; case 9: xyzPoint[Z_AXIS] = xyzPoint[Z_AXIS] - Triangle9Z(xyzPoint[X_AXIS], xyzPoint[Y_AXIS]); break; default: reprap.GetPlatform()->Message(GENERIC_MESSAGE, "InverseBedTransform: wrong number of sample points."); } }
float Move::Triangle9Z(float x, float y) const { for (size_t i = 0; i < 8; i++) { size_t j = (i + 1) % 8; float l1, l2, l3; BarycentricCoordinates(i, j, 8, x, y, l1, l2, l3); if (l1 > TRIANGLE_ZERO && l2 > TRIANGLE_ZERO && l3 > TRIANGLE_ZERO) { return l1 * baryZBedProbePoints + l2 * baryZBedProbePoints[j] + l3 * baryZBedProbePoints[8]; } } reprap.GetPlatform()->Message(GENERIC_MESSAGE, "Triangle interpolation: point outside all triangles!\n"); return 0.0; }
Re: Compiling RepRapFirmware on Linux without Eclipse September 24, 2016 01:49PM |
Registered: 8 years ago Posts: 10 |
float Move::Triangle9Z(float x, float y) const { for (size_t i = 0; i < 8; i++) { size_t j = (i + 1) % 8; float l1, l2, l3; BarycentricCoordinates(i, j, 8, x, y, l1, l2, l3); if (l1 > TRIANGLE_ZERO && l2 > TRIANGLE_ZERO && l3 > TRIANGLE_ZERO) { return l1 * baryZBedProbePoints[ i ] + l2 * baryZBedProbePoints[j] + l3 * baryZBedProbePoints[8]; } } reprap.GetPlatform()->Message(GENERIC_MESSAGE, "Triangle interpolation: point outside all triangles!\n"); return 0.0; }
Re: Compiling RepRapFirmware on Linux without Eclipse September 24, 2016 02:02PM |
Registered: 10 years ago Posts: 14,672 |
Re: Compiling RepRapFirmware on Linux without Eclipse November 12, 2016 09:08AM |
Registered: 8 years ago Posts: 10 |
Re: Compiling RepRapFirmware on Linux without Eclipse November 12, 2016 01:38PM |
Registered: 8 years ago Posts: 10 |
Re: Compiling RepRapFirmware on Linux without Eclipse November 12, 2016 05:47PM |
Registered: 10 years ago Posts: 14,672 |
Quote
peterl
Can't wait to see your grid bed levelling routine. My changes to your code are a bit lame compared to what you have planned with the grid levelling. Do you think the grid levelling will be part of firmware v1.17?
- I came back here once again with the intention to increase the bed levelling points to 17, which is overkill and not very good with just one center point. I failed to come up with a cheap way to do the grid levelling. Anyway, I will keep my eyes peeled for your algorithm.