diff --git a/README.md b/README.md --- a/README.md +++ b/README.md @@ -1,147 +1,45 @@ -![Logo](testclient/AtCoreTest.png) AtCore - KDE Print Service for 3DPrinters ----- -#### Build Status -Linux [![Build Status](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20SUSEQt5.9/badge/icon)](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20SUSEQt5.9/) Windows [![Build Status](https://binary-factory.kde.org/job/atcore-master-win32/badge/icon)](https://binary-factory.kde.org/job/atcore-master-win32/) MacOs [![Build Status](https://binary-factory.kde.org/job/atcore-master-macos/badge/icon)](https://binary-factory.kde.org/job/atcore-master-macos/) FreeBSD [![Build Status](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20FreeBSDQt5.9/badge/icon)](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20FreeBSDQt5.9/) - +![Logo](testclient/atcore-gui.png) AtCore - KDE Print Service for 3DPrinters ---- +**Linux** [![Build Status](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20SUSEQt5.9/badge/icon)](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20SUSEQt5.9/) **Windows** [![Build Status](https://binary-factory.kde.org/job/atcore-master-win32/badge/icon)](https://binary-factory.kde.org/job/atcore-master-win32/) **MacOs** [![Build Status](https://binary-factory.kde.org/job/atcore-master-macos/badge/icon)](https://binary-factory.kde.org/job/atcore-master-macos/) **FreeBSD** [![Build Status](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20FreeBSDQt5.9/badge/icon)](https://build.kde.org/job/Extragear%20atcore%20kf5-qt5%20FreeBSDQt5.9/) AtCore is a API to manage the serial connection between the computer and 3D Printers.
-This project is under LGPL V2+, for more information read COPYING.TXT. - ----- -### AtCore is under development! Please have that in mind while testing! ----- -#### Supported Firmwares - - Repetier - - Marlin - - Teacup - - APrinter - - SPrinter - - Smoothie - - Grbl - --- -#### Getting AtCore - -Install a Premade package for ArchLinux: - - AUR [atcore-git](https://aur.archlinux.org/packages/atcore-git/) ---- -#### Building AtCore For Development -##### Minimal Qt Version: 5.7 - -Dependencies for AtCore: - - qt5-base - - qt5-serialport - - extra-cmake-modules - -Extra Dependencies for Test GUI - - qt5-widgets - - qt5-charts - -Optional Dependencies - - doxygen - - git - -Build Switches - - -DBUILD_GUI = ( ON | OFF ) Build the test client (Default is OFF) - - -DBUILD_DOCS = (ON | OFF ) Build the Documentation (Default is OFF) - - -DBUILD_TESTS = ( ON | OFF ) Build and Run Unittests (Default is OFF) +This project is under LGPL V2+, for more information read ![COPYING.TXT](COPYING.TXT). ---- -#### Building on Linux -```bash -$ git clone https://github.com/KDE/atcore.git -$ cmake -DCMAKE_INSTALL_PREFIX=$(qtpaths --install-prefix) -DCMAKE_INSTALL_LIBDIR=lib CMakeLists.txt -$ make -$ make install -``` ----- -#### Building on Windows - -For Windows build you need to set up [Craft](https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Windows) -It's tricky, but with all the last changes in half an hour you can have the setup done. -Remember, it's easier if you have Python3.6 or higher installed. -After you have the Craft environment setup do: -```powershell -craft atcore -``` -This will dowload all Qt and KDE libraries needed and compile Atcore. -For running, inside the prompt call: -```powershell -AtCoreTest -``` -For debugging run: -```powershell -craft vsd -vsd AtCoreTest -``` -This will give you feedback on the prompt to check what is happening. - -For packing: -```powershell -craft --package atcore -``` -At C:/KDE/craft/tmp you will find the installer. - -#### Building on Mac OS -Install: - - Git - - QtCreator - - XCode - - CMake - - Extra-Cmake-Modules via [Craft](https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source/Mac) -Open a terminal and run: -```bash -$ git clone https://github.com/KDE/atcore.git -``` -Now you open QtCreator and open AtCore like project selecting the CMakeLists.txt on the root of AtCore folder. -Setup your development environment: - - Set your CMAKE_C_COMPILER to /usr/bin/cc - - Set your ECM_DIR to your ECM install directory. - -Now you can build AtCore. -After build do: - - Copy the plugins files from /src/plugins/*.dylib to AtCoreTest.app/Contents/MacOS/plugins - - Run macdeployqt on the app - -### Docker -We have a docker container within this project. To use it on your Docker environment just pull it: -```bash -$ docker pull lays147/atcore -``` -To run it on Linux: -```bash -$ xhost: local:root -$ docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY --device DEVICE lays147/atcore:latest -``` - -You need to use the --device option to give the container access to your printer. It must point to the printers serial device. -Overriding DEVICE value to the port of your printer. -
-Example: ```--device /dev/ttyUSB0``` - -### Testing AtCore - -Testing is simple and will help us a lot. - - Build / Install the testclient - - Connect to your printer - - Test the controls in the testclient - - Test Print Command - - Save your log and send it with errors - ---- - > **Note:** - > For your test results to be helpful they must include the full log output. - ---- -#### Getting in Touch -You can reach us via:
-[IRC] - freenode #kde-atelier
-[Telegram] - KDE Atelier group
-[Web] - Our web page -#### Bugs -For any bug that you find it you can go on [KDE Bugs] system and report it. Please try to give all the information about the issue, and backtrace if you have one. +## Supported Firmwares +Currenty the following firmwares are supported. + + Firmware Name | Control SD + :------------:|:----------: + Repetier | YES + Marlin | YES + Teacup | NO + APrinter | NO + SPrinter | NO + Smoothie | NO + GRBL | NO + +## Building Deploying AtCore + See: [Building and Deploying] + +## Importing AtCore in your CMakeList +CMake should find AtCore using the following in your CMakeLists +```CMake +include (AtCore REQUIRED COMPONATES AtCore ) +``` + +## Getting Involved + - [IRC] - freenode \#kde-atelier + - [Telegram] - Atelier group + - [Web] - Our web page + - Report Bugs to our [Bug Tracker]. + - [Contribute] to AtCore. [IRC]: https://webchat.freenode.net/ [Telegram]: telegram.me/KDEAtelier -[KDE Bugs]: https://bugs.kde.org/enter_bug.cgi?product=Atelier -[Web]: https://atelier.kde.org +[Bug Tracker]: https://bugs.kde.org/enter_bug.cgi?product=Atelier&component=AtCore +[KDE]:https://www.kde.org +[Web]: https://ateler.kde.org +[LGPL-2.0]:https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html +[Building and Deploying]:doc/build.md +[Contribute]:doc/contrib.md diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -790,7 +790,7 @@ # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = mainpage.md ../src +INPUT = mainpage.md contrib.md build.md ../src # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/doc/build.md b/doc/build.md new file mode 100644 --- /dev/null +++ b/doc/build.md @@ -0,0 +1,94 @@ +# Building And Deploying %AtCore +Building %AtCore is broken up into to main steps Configuration and Building. Deploying %AtCore is also covered here. + +## Configuration +In order to configure your build you will need [cmake] and [extra-cmake-modules]. + +%AtCore Build Options Are: + - -DBUILD_GUI = ( ON | OFF ) Build the test client (Default is OFF) + - -DBUILD_DOCS = (ON | OFF ) Build the Documentation (Default is OFF) + - -DBUILD_TESTS = ( ON | OFF ) Build and Run Unittests (Default is OFF) + +Recommended CMake Command + +Linux +``` +cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL+LIBDIR=lib CMakeLists.txt +``` + +Mac OS/ Windows +``` +cmake CMakeLists.txt +``` +## Building +After Configuring you Should be able to run make to build all targets. + +``` +make +``` + +## Dependencies +In addition to a working development enviroment for your system you will need the following to build %AtCore + - qt5-base + - qt5-serialport + +Building atcore-gui adds the following dependencies: + - qt5-widgets + - qt5-charts + +Building The Documentation adds the following dependency: + - [doxygen] + +### Installing Dependencies on Windows and Mac OS + +#### Mac Os +Mac Os users could use [homebrew] to install both cmake and cmake-extra-modules using. +``` +brew update +brew install cmake +brew tap KDE-mac/kde; +brew install kf5-extra-cmake-modules +``` +Then can download and install [Qt] + +#### Windows +Windows users could install [chocolatey] and do something like +``` +choco install cmake +choco install ninja +git clone -q git://anongit.kde.org/extra-cmake-modules.git +cd extra-cmake-modules +cmake -G "Ninja" . -DCMAKE_INSTALL_PREFIX= +ninja install +``` +Then Download and install [Qt] + +## Deploying %AtCore +After you build you may wish to deploy atcore on your system for use +### Linux +From the build dir the command below to install atcore with its plugins to the system (assuming cmake used above) +``` +sudo make install +``` +### Windows/Mac OS +On these systems atcore will look in the path of the program using it for firmware plugins + +On Windows This is in a directory next to the program +``` +C:\atcore_test_GUI\atcore-gui.exe +C:\atcore_test_GUI\AtCore.dll +C:\atcore_test_GUI\plugins\repetier.dll +``` + +On Mac Os This is In the app Bundle +``` +atcore-gui.app/Contents/MacOS/atcore-gui +atcore-gui.app/Contents/MacOS/AtCore.dylib +atcore-gui.app/Contents/MacOS/plugins/repetier.dylib +``` +[Qt]:https://www.qt-project.org +[doxygen]:http://www.stack.nl/~dimitri/doxygen/ +[cmake]:https://cmake.org/ +[extra-cmake-modules]:https://cgit.kde.org/extra-cmake-modules.git/tree +[homebrew]:https://brew.sh/ +[chocolatey]:https://chocolatey.org/ diff --git a/doc/contrib.md b/doc/contrib.md new file mode 100644 --- /dev/null +++ b/doc/contrib.md @@ -0,0 +1,33 @@ + +## Contributing To AtCore +%AtCore is an open source project and all open source projects need contrubitors. Thank you for taking the time to read this document and Thank you for your contributions to the project. + +---- +### Prerequisites +In order to contrbute directly to %AtCore you will need to have a [KDE Identity](https://identity.kde.org/). You should also install [arcanist] on your system since it will make creating revisions for +code review much easier.You may wish to joining us on [IRC] or [Telegram] + + +#### General Coding Guidelines +The following guidelines apply to all submited code. + + - Follow the [KDE style guidelines] + - Use constant referances when possible + - Includes should be alphabetical + - Doxygen comments should be created/updated with code. + - Objects should have logical varible and function names + - Code should alway be readable. + +#### Commit Guidlines +Keeping a clean project history requires that we take care when choosing how we will commit our code.Consider the following when creating commits. + + - Follow the [KDE commit guidelines] + - Reviewers: rizzitello, patrickelectric, laysrodrigues, tcanabrava + - Revisions require a majority acceptance rate before landing + +[IRC]: https://webchat.freenode.net/ +[Telegram]: telegram.me/KDEAtelier +[KDE Identity]: https://identity.kde.org/ +[arcanist]:https://secure.phabricator.com/book/phabricator/article/arcanist/ +[KDE style guidelines]:https://community.kde.org/Policies/Kdelibs_Coding_Style +[KDE commit guidelines]:https://community.kde.org/Policies/Commit_Policy diff --git a/doc/mainpage.md b/doc/mainpage.md --- a/doc/mainpage.md +++ b/doc/mainpage.md @@ -1,36 +1,50 @@ -AtCore is a API to manage the serial connection between the computer and 3D Printers.
-This project is under LGPL V2+, for more information read COPYING.TXT. - -### Supported Firmwares - - Repetier - - Marlin - - Teacup - - APrinter - - SPrinter - - Smoothie - - Grbl - -### Importing with CMake -CMake should find AtCore using the following in your CMakeLists +# %AtCore + +%AtCore is a API to manage the serial connection between the computer and 3D Printers. + +This project is under [LGPL-2.0]+. + +%AtCore is written by [KDE] members, + + - Chris Rizzitello + - Patrick José Pereira + - Lays Rodrigues + - Tomaz Canabrava + +## Supported Firmwares +Currenty the following firmwares are supported. + + Firmware Name | Control SD + :------------:|:----------: + Repetier | YES + Marlin | YES + Teacup | NO + APrinter | NO + SPrinter | NO + Smoothie | NO + GRBL | NO + +## Building Deploying %AtCore + See: [Building and Deploying] + +## Importing %AtCore in your CMakeList +CMake should find %AtCore using the following in your CMakeLists ```CMake include (AtCore REQUIRED COMPONATES AtCore ) ``` - -### Authors -Chris Rizzitello
-Patrick José Pereira
-Lays Rodrigues
-Tomaz Canabrava
- -### Getting in Touch -You can reach us via:
-[IRC] - freenode \#kde-atelier
-[Telegram] - Atelier group
-[Web] - Our web page
-### Bugs -For any bug that you find it you can go on KDE [Bugs] system and report it. Please try to give all the information about the issue, and backtrace if you have one. - + +## Getting Involved + - [IRC] - freenode \#kde-atelier + - [Telegram] - Atelier group + - [Web] - Our web page + - Report Bugs to our [Bug Tracker]. + - [Contribute] to %AtCore. + [IRC]: https://webchat.freenode.net/ [Telegram]: telegram.me/KDEAtelier -[Bugs]: https://bugs.kde.org/enter_bug.cgi?product=Atelier +[Bug Tracker]: https://bugs.kde.org/enter_bug.cgi?product=Atelier&component=AtCore +[KDE]:https://www.kde.org [Web]: https://ateler.kde.org +[LGPL-2.0]:https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html +[Building and Deploying]:build.md +[Contribute]:contrib.md diff --git a/testclient/org.kde.atcore.appdata.xml b/testclient/org.kde.atcore.appdata.xml --- a/testclient/org.kde.atcore.appdata.xml +++ b/testclient/org.kde.atcore.appdata.xml @@ -34,7 +34,7 @@ CC0-1.0 LGPL-2.0+ https://atelier.kde.org - https://bugs.kde.org/enter_bug.cgi?format=guided&product=atcore + https://bugs.kde.org/enter_bug.cgi?product=Atelier&component=AtCore https://atelier.kde.org/documentation/atcore https://kde.org/donate/?app=atcore KDE