[GH-ISSUE #267] External API V3 #108

Open
opened 2026-05-06 13:15:28 +02:00 by BreizhHardware · 8 comments

Originally created by @Yaya-Cout on GitHub (Aug 17, 2022).
Original GitHub issue: https://github.com/UpsilonNumworks/Upsilon/issues/267

Originally assigned to: @Yaya-Cout on GitHub.

A new version of the External API that adds functions would be a great enhancement ! Here is a list of things to implement (just reply to this issue to request others features) :

  • Set and get brightness API calls
  • Get battery level, voltage, percentage and charging status
  • Get time
  • Random to get a True random number from Ion::random()
  • Reload title bar (actually, we have to enable/disable alpha lock to do that)
  • Get username
  • Get OS version and commit
  • Get free, used and total file system usage
  • Get settings (angle measure, result format, significant figures, complex format and font size)
  • Basic arguments support
  • External app's output
  • Dynamic arguments (use executeFileAtIndex())
  • os.system()
  • KhiCAS in calculation app ?
  • Compatibility with API V2 (if not too hard to maintain)
  • Rewrite of the build system (make something like Upsilon or Epsilon's external app's one)
  • Use namespaces
  • Others things (demand on this issue)
  • Test extapp_username() without username (should return a char of 16 \0)

Pulls requests :

Originally created by @Yaya-Cout on GitHub (Aug 17, 2022). Original GitHub issue: https://github.com/UpsilonNumworks/Upsilon/issues/267 Originally assigned to: @Yaya-Cout on GitHub. A new version of the External API that adds functions would be a great enhancement ! Here is a list of things to implement (just reply to this issue to request others features) : - [x] Set and get brightness API calls - [x] Get battery level, voltage, percentage and charging status - [x] Get time - [x] Random to get a True random number from `Ion::random()` - [x] Reload title bar (actually, we have to enable/disable alpha lock to do that) - [x] Get username - [x] Get OS version and commit - [x] Get free, used and total file system usage - [x] Get settings (angle measure, result format, significant figures, complex format and font size) - [x] Basic arguments support - [ ] External app's output - [ ] Dynamic arguments (use `executeFileAtIndex()`) - [ ] `os.system()` - [ ] KhiCAS in calculation app ? - [ ] Compatibility with API V2 (if not too hard to maintain) - [ ] Rewrite of the build system (make something like Upsilon or Epsilon's external app's one) - [ ] Use namespaces - [ ] Others things (demand on this issue) - [ ] Test `extapp_username()` without username (should return a char of 16 `\0`) Pulls requests : - UpsilonNumworks/Upsilon#269 - UpsilonNumworks/Upsilon-External#18
Author
Owner

@hugo-b-r commented on GitHub (Aug 17, 2022):

  • A way to come back to home menu whithout exiting app (like nofrendo does)
<!-- gh-comment-id:1217948906 --> @hugo-b-r commented on GitHub (Aug 17, 2022): - [ ] A way to come back to home menu whithout exiting app (like nofrendo does)
Author
Owner

@hugo-b-r commented on GitHub (Aug 17, 2022):

If using namespaces, c copatibility would be broken, no ?

<!-- gh-comment-id:1217950227 --> @hugo-b-r commented on GitHub (Aug 17, 2022): If using namespaces, c copatibility would be broken, no ?
Author
Owner

@Yaya-Cout commented on GitHub (Aug 17, 2022):

If we maintain both separately, it would be possible, with a extapp_api_cpp.h that call legacy API…

<!-- gh-comment-id:1217952960 --> @Yaya-Cout commented on GitHub (Aug 17, 2022): If we maintain both separately, it would be possible, with a `extapp_api_cpp.h` that call legacy API…
Author
Owner

@Yaya-Cout commented on GitHub (Aug 17, 2022):

A way to come back to home menu whithout exiting app (like nofrendo does)

What do you mean ?

<!-- gh-comment-id:1217953468 --> @Yaya-Cout commented on GitHub (Aug 17, 2022): > A way to come back to home menu whithout exiting app (like nofrendo does) What do you mean ?
Author
Owner

@hugo-b-r commented on GitHub (Aug 17, 2022):

A way to come back to home menu whithout exiting app (like nofrendo does)

What do you mean ?

In nofrendo, we can leave some games go in calculator app for example, go again in nofrendo and score will be saved. I didn't find any simple way to do this and it would be a cool feature.

<!-- gh-comment-id:1217959237 --> @hugo-b-r commented on GitHub (Aug 17, 2022): > > A way to come back to home menu whithout exiting app (like nofrendo does) > > What do you mean ? In nofrendo, we can leave some games go in calculator app for example, go again in nofrendo and score will be saved. I didn't find any simple way to do this and it would be a cool feature.
Author
Owner

@Yaya-Cout commented on GitHub (Aug 17, 2022):

In nofrendo, the internal state of the emulator is saved in a file, internal apps are also like it, because they use the same buffer to allocate them variables, so I don't think that it's possible…

<!-- gh-comment-id:1217962443 --> @Yaya-Cout commented on GitHub (Aug 17, 2022): In nofrendo, the internal state of the emulator is saved in a file, internal apps are also like it, because they use the same buffer to allocate them variables, so I don't think that it's possible…
Author
Owner

@BloomyInDev commented on GitHub (May 10, 2023):

Does that is still in dev or it is in pause ?

<!-- gh-comment-id:1541567093 --> @BloomyInDev commented on GitHub (May 10, 2023): Does that is still in dev or it is in pause ?
Author
Owner

@Yaya-Cout commented on GitHub (May 10, 2023):

The application output is quite hard to implement (we need to allocate a buffer from the caller, then the external app write into it without buffer overflow, so we need to tell the length of the buffer)

<!-- gh-comment-id:1541775625 --> @Yaya-Cout commented on GitHub (May 10, 2023): The application output is quite hard to implement (we need to allocate a buffer from the caller, then the external app write into it without buffer overflow, so we need to tell the length of the buffer)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Upsilon#108
No description provided.