moxon-frame-generator
simple generator for 3D-printed frames for a moxon rectangle antenna
Visual Studio Code extension to more easily build Marlin Firmware
git clone https://github.com/MarlinFirmware/AutoBuildMarlin.gitMarlinFirmware/AutoBuildMarlin"Auto Build Marlin" provides a simplified interface to configure, build, and upload Marlin Firmware.
The Auto Build tool automatically detects the correct environments for your MOTHERBOARD and provides an interface to build them. No more editing platformio.ini or scanning a long list of environments in the PlatformIO IDE. Just press the Build button and go!
The Configuration Editor provides an enhanced interface for editing configurations. This includes a search filter to find the options you need and to discover new and useful features. To use, right-click a file in the VSCode file explorer and select Open With… > Config Editor. This is an alpha preview and will probably have some issues.
Custom Commands for formatting, building, and more.
When installing "Auto Build Marlin" you'll also be prompted to install the PlatformIO extension. PlatformIO handles all the details of the build and is required for "Auto Build Marlin" to function.
Start Visual Studio Code and open a project folder with Marlin Firmware version 2.0 or later. Be careful to open the folder containing platformio.ini and not the "Marlin" folder within it. (You may also use the Import Project… option from the "PlaformIO Home" page.)
The "File Explorer" should point to your Marlin Firmware folder like so:
Click the Auto Build Marlin icon
in the Activity Bar (on the far side of the Visual Studio Code window) to open the Auto Build Marlin sidebar.
Use the Show ABM Panel button (or click on any of the buttons in the toolbar) to open the Auto Build Marlin panel. If more than one target environment exists for your board you'll have to choose the specific environment to use before the build.
The Auto Build Marlin panel displays information about your selected motherboard and basic machine parameters. Each board comes with one or more build environments that are used to generate the final Marlin binary. Choose the environment that best matches your MCU, bootloader, etc.
The Config Editor provides a form divided up into sections with search filtering. In the future we may make the Config Editor the default, but in the meantime there are a few ways to open the Editor.
Configuration.h or Configuration_adv.h is open as text, right-click on its tab title and choose "Reopen Editor with…" > Config Editor to switch.Configuration.h or Configuration_adv.h and choose "Open with…" to select the Config Editor.alt/option and click on any title to hide/show all sections.@section markers, provide allowed values for options, or improve documentation. Please submit your improvements and suggestions to enhance the configuration experience for users worldwide!The Auto Build Marlin extension for VSCode contributes sidebar panels, a web view, a custom editor, custom formatters, and other commands. This extension is written entirely in Javascript (so we don't have to learn TypeScript).
When VSCode starts the extension it just loads extension.js. This file imports abm.js and prefs.js for utility functions, and format.js, docs.js, and editor.js for our feature providers. These files import js/marlin.js and js/schema.js to process Marlin files, and node fs for file functions. Any top level code in these files runs as soon as extension.js does. This is when modules init their classes and export their symbols.
With all that done, extension.js defines the code that will register ABM's commands and feature providers with VSCode upon activation.
ConfigSchema is the most important class, providing a configuration parser and utility methods for use throughout the extension. Since views scripts also need access this class, js/schema.js is made to be loaded either as a module with requires() or as a typical HEAD script.
The first time the extension needs to show a view that uses the schema it reads the configurations.
View providers and views don't share common memory, so data has to be sent between them with serialized messaging. Providers handle messages from the UI in handleMessageFromUI and their views receive messages in handleMessageToUI.
Any external file changes cause the whole schema to be refreshed. Changes made in the Custom Editor (i.e., editview.js) are applied to a local copy of the schema before being sent in a message to the provider. The provider uses the message to update the shared schema and alert other views to update.
more like this
simple generator for 3D-printed frames for a moxon rectangle antenna
GPX 轨迹转 3D 可打印地形模型 | Hiking trail to 3D printable terrain | Electron + Vue。 一款面向户外爱好者与 3D 打印玩家的 Web 工具。将 GPX 徒步/骑行轨迹一键转…
Install and monitor KlipperScreen on Android via DroidKlipp APK, USB ADB forwarding, and WiFi fallback
search projects, people, and tags