RedGl0w / atomic

An improved version of https://github.com/M4xi1m3/nw-atom
Other
4 stars 12 forks source link

How do I compile and flash this? #14

Closed kk723 closed 2 years ago

kk723 commented 2 years ago

So far, I've done

$ brew install numworks/tap/arm-none-eabi-gcc
$ pip3 install lz4 pypng
$ git clone git@github.com:RedGl0w/atomic.git
$ cd atomic/
$ make clean && make run
make: *** No rule to make target `clean'.  Stop.

I looked at the Makefile and the error is correct, there's no run or clean.

So what is the best way to compile and then install it to the Numworks Calculator? I'm running Numworks Epsilon 17.

RedGl0w commented 2 years ago

You should take a look at https://github.com/RedGl0w/atomic#readme. It should answer your question. Don't hesitate to comment the issue if you still can't manage to compile it.

kk723 commented 2 years ago

@RedGl0w

Is this what you want your README to look like?

  1. Clone the epsilon firmware.

git clone git@github.com:numworks/epsilon.git

  1. Clone Atomic into your local epsilon repo

git clone https://github.com/RedGl0w/atomic.git epsilon/apps/atomic

  1. Open epsilon/apps/home/apps_layout.csv. This file representations the arrangement of the icon on the Home Screen. On the first row staring with Default, we recommend adding atomic after "regression" and before "settings"

  2. Open epsilon/build/config.mak and add the word atomic after "regression" and before "settings"

  3. Read https://www.numworks.com/resources/engineering/software/build/ a. Follow their Step 1) to intall toolchain on your laptop b. Skip their Step 2) since you've already retrieved the epsilon and incorporated the atomic code into the firmware c. Follow Step 3) to compile the code and load it into on the calculator.

You should be successful.

RedGl0w commented 2 years ago
  1. Clone the epsilon firmware.

git clone git@github.com:numworks/epsilon.git

Indeed you can clone the firmware you want. However, if you want to use epsilon, you should add at the end of the command : -b version-15 to download epsilon 15 (because it probably doesn't work epsilon 16, and it wouldn't be usable, because they restricted usage of third party firmwares).

It should work for the rest

kk723 commented 2 years ago

@RedGl0w

I understand the licensing changes, but I do think Numworks is encouraging writing 3rd party apps.

Here's their epsilon sample app that they recommend contributers use to get started in making an application for Numworks.

https://github.com/numworks/epsilon-sample-app-cpp

Interestingly, instead of compiling the sample app along with the firmware, all you have to do is compile the sample app and then they have a make script to flash it to Numworks without having to re-compile and re-install the entire Epsilon firmware

RedGl0w commented 2 years ago

I understand the licensing changes, but I do think Numworks is encouraging writing 3rd party apps.

I didn't say the opposite (indeed, I think they try to keep the "little" of freedom of calculator they had). However

Here's their epsilon sample app that they recommend contributers use to get started in making an application for Numworks.

Already talked a lot in this repo btw :p However, porting this app to this system will be a bit long (and it's clearly not at the top of my priority), because until a few days, there wasn't any "static" ram, and now, it's still pretty hard, because there isn't any dynamic linker, in which escher could be ported (however, it should be possible with dark magic).

Interestingly, instead of compiling the sample app along with the firmware, all you have to do is compile the sample app and then they have a make script to flash it to Numworks without having to re-compile and re-install the entire Epsilon firmware

We were already able to do the same with omega (linking them for a specific address, and flashing it) with zardam's external apps.

If a periodic table is ported to the new numworks' system, it will be @M4xi1m3 's one currently...