Code Monkey home page Code Monkey logo

paxos-8's Introduction

Logo of the paxo project

PaxOS 8 is the latest version of PaxOS, a lightweight operating system for PaxoPhones.

Build Instructions

The paxos offers a multi-platform emulator so that you can run it directly on your computer. In this section you will find instructions on how to build it for your operating system.

Linux

Before you start, make sure that git, cmake and make are correctly installed on your computer. If not, install them using the command sudo apt install build-essential (if you use apt as your package manager).

You can then start the build instructions :

  1. Clone the directory using git clone https://github.com/paxo-phone/paxos_8.git
  2. Move to the newly created folder using cd paxos_8/
  3. Load the sub-modules using git submodule init && git submodule update
  4. Compile the project using cmake . && make
  5. Run the executable using ./PaxOS

The emulator should then open in a window.

Windows

Before getting started, you need an IDE and know how to setup a CMake project with custom toolchain.

  1. Install CMake and MinGW
  2. Setup your favorite IDE 'CLion' with MinGW (recommended) 'Visual Studio Code' with MinGW (https://code.visualstudio.com/docs/cpp/config-mingw)
  3. Setup CMake using Ninja (recommended)
  4. You shouldn't have to install any library (everything is included)

MacOS

The instructions for building under macos are fairly similar to those under Linux.

Before you start, make sure that git, cmake and make are correctly installed on your computer. If not, you can use the brew package manager to install them using the following command brew install cmake make git.

You can then start the build instructions :

  1. Clone the directory using git clone https://github.com/paxo-phone/paxos_8.git
  2. Move to the newly created folder using cd paxos_8/
  3. Load the sub-modules using git submodule init && git submodule update
  4. Compile the project using cmake . && make
  5. Run the executable using ./PaxOS

The emulator should then open in a window. Press the 'Escape' key to emulate the 'Home' button.

Troubleshooting :

  • If you get the message ld: warning: ignoring file /opt/homebrew/Cellar/sdl2/2.28.2/lib/libSDL2-2.0.0.dylib': found architecture 'arm64', required architecture 'x86_64' followed by an error you can do:
    1. cp src/lib/SDL2-2.28.2/libSDL2-2.0.0-2.dylib /opt/homebrew/Cellar/sdl2/2.28.2/lib/libSDL2-2.0.0.dylib
    2. Disable the quarantine for the file: xattr -dr com.apple.quarantine /opt/homebrew/Cellar/sdl2/2.28.2/lib/libSDL2-2.0.0.dylib
  • If you get the message Could not find a package configuration file provided by "SDL2" with any of the following names::
    1. Add -DCMAKE_PREFIX_PATH=src/lib/SDL2-2.28.2/ to your cmake command.

License

This project is distributed under the CC0 1.0 Universal License. See LICENSE for more information.

Contact

You can contact us via our Website or our Discord server

See more

See more on paxo.fr

Contributors

paxos-8's People

Contributors

ahhj93 avatar archef2000 avatar b5i avatar charlito33 avatar darkbrines avatar devalnor avatar hmzlakh avatar kstzl avatar mendoc avatar paxo-project avatar paxo-rch avatar raphaelgoutmann avatar redalex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paxos-8's Issues

Séparation des environnements

Bonjour à tous. Déjà bravo pour le travail.
(Je vais rejoindre la communauté.)

Je pense que c'est mieux de séparer les environnements.
C'est bien d'avoir l’émulateur mais ce n'est pas pratique de gérer tout avec les #ifdef BUILD_PAXO partout.

On peut créer une branche emulateur qui ne contient que la version du code pour l’émulateur et laisser main pour le code destiné au microcontrôleur.

Missing Folders

Hi, I'm getting an error when trying to compile the code.
because the hardware files are not available. Can you share the hardware files?

modify paxos_8

hello everyone and congratulations for your excellent work. Is it possible to adapt your operating system for my project? I would like to make a gsm phone without using a touch-screen display. I prefer to use buttons and a small display. thanks for your attention.

Unable to compile project

Hello,

I just followed the README instructions for building the project but got a compile error:

[ 53%] Building CXX object CMakeFiles/PaxOS.dir/src/lua/lua.cpp.o
In file included from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1_init.hpp:25,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/LovyanGFX.hpp:31,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/screen.hpp:19,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/gui_class.hpp:16,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui.hpp:4,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/lua2.hpp:3,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/lua.hpp:4,
                 from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/lua.cpp:1:
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/LGFXBase.hpp: In instantiation of ‘void lgfx::v1::LGFXBase::setColor(T) [with T = long long int]’:
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/LGFXBase.hpp:109:123:   required from ‘void lgfx::v1::LGFXBase::fillRect(int32_t, int32_t, int32_t, int32_t, const T&) [with T = long long int; int32_t = int]’
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/lua.cpp:530:59:   required from here
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/LGFXBase.hpp:76:75: error: call of overloaded ‘convert(long long int&)’ is ambiguous
   76 |     LGFX_INLINE_T void setColor(T color) { setRawColor(_write_conv.convert(color)); }
      |                                                        ~~~~~~~~~~~~~~~~~~~^~~~~~~
In file included from /home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/LGFXBase.hpp:29:
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/misc/colortype.hpp:850:26: note: candidate: ‘uint32_t lgfx::v1::color_conv_t::convert(const lgfx::v1::rgb332_t&)’
  850 |     LGFX_INLINE uint32_t convert(const rgb332_t&   c) { return convert_rgb332(  c.get()); }
      |                          ^~~~~~~
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/misc/colortype.hpp:851:26: note: candidate: ‘uint32_t lgfx::v1::color_conv_t::convert(const lgfx::v1::rgb565_t&)’
  851 |     LGFX_INLINE uint32_t convert(const rgb565_t&   c) { return convert_rgb565(  c.get()); }
      |                          ^~~~~~~
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/misc/colortype.hpp:852:26: note: candidate: ‘uint32_t lgfx::v1::color_conv_t::convert(const lgfx::v1::rgb888_t&)’
  852 |     LGFX_INLINE uint32_t convert(const rgb888_t&   c) { return convert_rgb888(  c.get()); }
      |                          ^~~~~~~
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/misc/colortype.hpp:853:26: note: candidate: ‘uint32_t lgfx::v1::color_conv_t::convert(const lgfx::v1::argb8888_t&)’
  853 |     LGFX_INLINE uint32_t convert(const argb8888_t& c) { return convert_argb8888(c.get()); }
      |                          ^~~~~~~
/home/rgault/Documents/PersonnalProjects/PaxOS-8/src/lua/../widgets/gui/../../interface/LovyanGFX/lgfx/v1/misc/colortype.hpp:854:26: note: candidate: ‘uint32_t lgfx::v1::color_conv_t::convert(const lgfx::v1::bgr888_t&)’
  854 |     LGFX_INLINE uint32_t convert(const bgr888_t&   c) { return convert_bgr888(  c.get()); }
      |                          ^~~~~~~
make[2]: *** [CMakeFiles/PaxOS.dir/build.make:902: CMakeFiles/PaxOS.dir/src/lua/lua.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/PaxOS.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

Here is the output of cmake .:

-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
> Building for Linux
-- Found CURL: /usr/lib/libcurl.so (found version "8.5.0")  
-- Configuring done (0.7s)
-- Generating done (0.0s)

I am on 058d654 on a clean clone.

Am I the only one getting this error ? Or is there a way to work around it ?

Thanks

Micropython

Bonjour, je viens de découvrir ce projet l'article de 01.net, c'est super ce que vous avez réalisé!
J'ai vu que la plateforme de base c'est de l'ESP 32, j'ai un peu joué avec par le passé pour de la domotique.
Avez-vous pensé à faire tourner l'OS du tel sur Micropython? Je pense que cela pourrait ouvrir pas mal de perspectives intéressantes en termes de dev sur la plateforme.

Delete generated files and directories

build directory and a.out file can be removed, these are generated when building the firmware and should not be tracked in git.

A gitignore file would help with this.

Toolchain de compilation

Il est présent dans resources/SDL2.dll et dans windows/dynamic-libs/SDL2.dll

Puis, il y a pas une meilleure méthode que mettre des libs compilés directement dans le code source ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.