Let me tell you a bit about my set up first. I have the command line interface on the BBB and I open up a terminal on the vncserver VNC Viewer software on my development desktop.
…
I will reply once I rerun the program and get the error again. Please forgive me. The board is not on right now.
Seth
P.S. If working with pio core and the command line works w/ the BBB, okay. I will get the error messages soon. Thank you.
Okay those are platformio.ini files and a header file for Marlin, but no error message. I’m not 100% sure what you’re trying to do. Compile Marlin on the BBB and also for the BBB as the thing that’ll run the Marlin firmware, or use the BBB to compile the Marlin firmware, e.g. for an LPC1768 based board?
I am trying to install the Marlin firmware on the BBB with platformio.ini. Is that not how it works? I am new and looking for guidance. I will supply a photo of the error soon.
I do not know if I should use pio for setting up Marlin or not.
So just to 100% confirm, your BBB is directly connected to the motor axis (X,Y,Z) drivers, sensors (e.g. temperature, end-stop), LCD, heating bed MOSFETs, spindle feeder etc? You are building your own 3D printer with a BBB as the central controller?
Yes PIO is definitely the right tool as Marlin is primarily built with PlatformIO. (Also buildable with the Arduino IDE but with restrictions I think)
Yes…the BBB has all the item attached to it, i.e. actuators and sensors. No LCD, though. Yes, the BBB as a central controller for Marlin built by pio/PlantformIO is the task at hand.
I see. Yes you’re on the right track there with that [env:linux_native] environment and using platform = native. You may want to compile the simple example program as listed in the documentation first to sanity-check whether compiling works okay in general.
Judging by -IMarlin/src/HAL/LINUX/include and the stuff in Marlin/Marlin/src/HAL/LINUX at 2.0.x · MarlinFirmware/Marlin · GitHub, Marlin seems to have… some… support for Linux. But if I read the main() function, compiling natively on Linux is just being used for simulating or debugging some functions, not actually fully running Marlin.
I e.g. don’t see any code for calling into the SPI oder I2C APIs of the Linux kernel. The GPIO code is also just internally simulated and doesn’t actually write to hardware GPIOs.
Seems like noone has run the full Marlin software on an embedded Linux board yet? Then even more exciting, you can be the first one to achieve this is you want to port it :).
As linked above, you can still use the PIO build system for native programs; That comes in handy when porting Marlin which already runs on PIO.
Yeah there are projects which e.g. use a Raspberry Pi to do some work and connect it to another MCU, e.g. an STM32F103C8, to do real-time critical stuff, as that is hard to do on a full-blown Linux operating system (even with RT Linux / PREEMPT_RT). See e.g. how about 3D printer firmware marlin runs on raspberry pi directly - YouTube and the linked github page.
It adds functionality as I am sure you are aware of this fact. Things like motors or sensors…
I have a Motor Bridge Cape with the M_F030R8 on it from '15. It was made by Seeed Studio years ago, i.e. five years ago to be exact. Anyway, I still use it for Maker Faires and setting up specific motor uses.
It used to work. I have not been able to make it work recently.
Seth
P.S. I have to perform some cancellations and comment some uboot-overlays to figure out some of my error codes but I should be able to flash it again one day w/ this script.
Well you can try and compile Marlin for the STM32F030R8 of that cape, but I don’t see that exact chip being supported in Marlin’s platformio.ini. Also according to its datasheet the chip only has 64kB of flash and 8kB of RAM, which isn’t really much for a 32-bit microcontroller. I doubt that Marlin will fit on that chip (of course this also depends on the enabled features…). The only STM32F0 series chip in Marlin I’m seeing is a STM32F070RB with 128kB of flash and 16kB of SRAM. The usual lower bar is something like an STM32F103RB with 256kB of flash and 48kB of SRAM.