keyboardio / Kaleidoscope

Firmware for Keyboardio keyboards and other keyboards with AVR or ARM MCUs.
http://keyboard.io
GNU General Public License v3.0
758 stars 258 forks source link

Implement device for the Empros Systems Operation Keyboard (the Tardis Keyboard) #700

Open rljacobson opened 4 years ago

rljacobson commented 4 years ago

Assign to @rljacobson. This issue tracks the device implementation for the Empros Systems Operation Keyboard (the Tardis Keyboard).

Background

The Empros Systems Operation Keyboard, a.k.a the Tardis Keyboard, is actually a self-contained computer designed to control utility power systems for the National Grid Power Company in the UK, but since the computer part of the device cannot connect to a monitor or desktop computer, a custom controller is required to use the keyboard with a modern computer. The controller hardware has already been assembled.

Foreground

As discussed in keyboardio/Kaleidoscope-Bundle-Keyboardio#22, I will begin implementing this device based on @algernon's branch for #695. When I have the implementation mostly complete, I will check back in with @algernon for more assistance.

Tasks

rljacobson commented 4 years ago

@algernon Take a look at the code in this repo and let me know what you think. That repo is just a temporary home until I understand the best way to build the project. I have left some ToDo's in the code, and in some of them I have tagged you with a question about how to implement something or other.

Since I am hung up on the build system—more like I haven't even attempted anything—I wonder if I should try to build the project with Platformio, which is a cross platform build system for embedded development. If you guys like how it works, maybe I could port the existing build system to Platformio as well.

As I think about this, a successful move to Platformio would open the door to factoring out the Arduino dependencies themselves, making Kaleidoscope framework independent as well. Framework independence might not be a goal this project is interested in pursuing at the moment, but it's an interesting idea at least.

obra commented 4 years ago

Hi Robert,

I'll let @algernon talk about the code itself, but I figured I should chime in on platformio. It's something we've investigated in the past and found to be not quite the right fit. They're really focused on a single IDE and everything running in their ecosystem. In terms of becoming more portable, there's been some work on a cmake build system, which I suspect is more likely to be our path forward. ᐧ

On Fri, Nov 8, 2019 at 3:19 PM Robert Jacobson notifications@github.com wrote:

@algernon https://github.com/algernon Take a look at the code in this repo https://github.com/rljacobson/tardis and let me know what you think. That repo is just a temporary home until I understand the best way to build the project. I have left some ToDo's in the code, and in some of them I have tagged you with a question about how to implement something or other.

Since I am hung up on the build system—more like I haven't even attempted anything—I wonder if I should try to build the project with Platformio, which is a cross platform build system for embedded development. If you guys like how it works, maybe I could port the existing build system to Platformio as well.

As I think about this, a successful move to Platformio would open the door to factoring out the Arduino dependencies themselves, making Kaleidoscope framework independent as well. Framework independence might not be a goal this project is interested in pursuing at the moment, but it's an interesting idea at least.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/keyboardio/Kaleidoscope/issues/700?email_source=notifications&email_token=AAALC2G7B4DV4UZ53AKPMD3QSXXY7A5CNFSM4JCWYNT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDTUS7I#issuecomment-552028541, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2HIZM4K6WX26PGGN23QSXXY7ANCNFSM4JCWYNTQ .

rljacobson commented 4 years ago

@obra Yes, I discovered a lot of previous discussion after I posted. You guys have already done the analysis on this question for sure.

They're really focused on a single IDE and everything running in their ecosystem.

I'm not familiar with the history of the project, but they definitely have good support for a variety of IDEs: https://platformio.org/install/integration. (And of course the command line.) Everything running in their ecosystem is how they tame the cross-platform beast, so that's a deal-breaker.

But again, it looks like you guys have looked at this from every angle already.

obra commented 4 years ago

After a bit of recent feedback, it sounds like we may want to revisit the "absolutely not" feeling on PlatformIO. It sounds like a lot has changed on their side, and a lot has changed on our side, too. ᐧ

On Wed, Jan 1, 2020 at 8:50 PM Robert Jacobson notifications@github.com wrote:

@obra https://github.com/obra Yes, I discovered a lot of previous discussion after I posted. You guys have already done the analysis on this question for sure.

They're really focused on a single IDE and everything running in their ecosystem.

I'm not familiar with the history of the project, but they definitely have good support for a variety of IDEs: https://platformio.org/install/integration. (And of course the command line.) Everything running in their ecosystem is how they tame the cross-platform beast, so that's a deal-breaker.

But again, it looks like you guys have looked at this from every angle already.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/keyboardio/Kaleidoscope/issues/700?email_source=notifications&email_token=AAALC2GS5B4N3CJ73BLJH3TQ3VXAXA5CNFSM4JCWYNT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEH5U5KY#issuecomment-570117803, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAALC2BUO34HHROS3IX45NLQ3VXAXANCNFSM4JCWYNTQ .