kbembedded / Flipper-Zero-Game-Boy-Pokemon-Trading

Pokemon trade from Flipper Zero to Game Boy for Generation I & II games (Pokemon Red, Blue, Yellow, Gold, Silver, and Crystal)
MIT License
318 stars 18 forks source link

Implement flexible gblink api, add support for, and autodetect MALVEKE board #22

Closed kbembedded closed 9 months ago

kbembedded commented 9 months ago

This includes a copy of the current gblink release to provide some abstraction for the GPIO pins used.

A rudimentary detection of the MALVEKE board is implemented. As this has an ESP32 connected to the Flipper's UART, the trade tool now looks at the state of the RX pin with a weak pulldown added to determine if something is connected there.

If the MALVEKE board is plugged in to GPIO before the app is started, it will default to the MALVEKE pinout for the Game Boy Game Link Cable interface. If not, then the "Original" pinout is used.

The Original pinout is what is documented in the main repo and there are a number of off the shelf PCBs available that match this.

kbembedded commented 9 months ago

Sorry for all the noise, getting the fap_private_libs to work correctly was a real pain with a handful of undocumented footguns.

Will do some re-testing now and merge when all clear.

EstebanFuentealba commented 9 months ago

OSOM!

EstebanFuentealba commented 9 months ago

Does the use of different licenses have any impact?"

kbembedded commented 9 months ago

Does the use of different licenses have any impact?"

Nope. I just default personally to BSD-2 as that is what I've used for a while and is more common for the work I do. MIT and BSD-2 are compatible as they are both essentially "may be used for commercial, may be source or binary distributed." Both of which can also be sublicensed, e.g. they can both be included in a GPL project, but, MIT/BSD-2/similar cannot sublicense GPL code and make it follow MIT/BSD-2.