Skip to content

Instantly share code, notes, and snippets.

View ishotjr's full-sized avatar
:bowtie:
hacking on Pebble/Rebble stuff

Ish Ot Jr. ishotjr

:bowtie:
hacking on Pebble/Rebble stuff
View GitHub Profile

PebbleKit Android V2

Old PebbleKit Android depends on app and Pebble app sending broadcasts on every update. Not only is this extremely insecure (every other app on the phone can listen in on those), it is also not working anymore when targeting new SDK versions, so it cannot be used for the new apps (Cobble / Core Devices).

Here is my proposal on how can we create a modern, more convenient and more secure version. It is loosly based on the way WearOS communications work.

Note that "Pebble App" below refers to any Android app that communicates with the watch directly (such as Cobble).

I presume that most apps (both companion apps and the Pebble App) will be written in Kotlin, so following examples are in Kotlin. To support apps written in Java, we can either write the SDK for Java and provide Kotlin wrappers or write it for Kotlin and provide Java wrappers (since Java apps are in minority nowadays, I would go for the latter).

@NickCulbertson
NickCulbertson / MiniMIDIController.ino
Last active December 19, 2024 23:58
This is a Teensy/Arduino sketch for a tiny MIDI Controller with transpose.
#include <Control_Surface.h>
USBMIDI_Interface midi;
using namespace MIDI_Notes;
// Transposer that can transpose from one octave down to one octave up
Transposer<-12, +12> transposer;
// Selector to change the transposition
IncrementDecrementSelector<transposer.getNumberOfBanks()> selector {
@aallan
aallan / bmp280.py
Last active December 17, 2024 10:31
Vindriktning webserver for Raspberry Pi Pico W written in MicroPython
from micropython import const
from ustruct import unpack as unp
# Author David Stenwall (david at stenwall.io)
# See https://github.com/dafvid/micropython-bmp280
# SPDX-License-Identifier: MIT
# Power Modes
BMP280_POWER_SLEEP = const(0)
BMP280_POWER_FORCED = const(1)
@Th3Un1q3
Th3Un1q3 / FLIPPER_TRACK_API_RELEASING.md
Last active October 10, 2024 01:20
The Hitchhiker's Guide to the Flipper Releasing

The Hitchhiker's Guide to the Flipper Releasing 📕

The purpose of this document is to simplify development for Flipper Zero platform.

It's my cure from oh, great, now I have to rebuild my app. Again...

DON'T PANIC!

@dadecoza
dadecoza / STAR.BAS
Last active December 13, 2022 16:06
10 REM @DADECOZA
20 LET Y=5
30 REM TOP
40 FOR A=1 TO Y
50 FOR B=1 TO Y
60 PRINT " ";
70 NEXT B
80 FOR B=1 TO A
90 PRINT "*";
100 NEXT B
@bramus
bramus / bookmarklet.md
Last active September 20, 2024 07:01
Mastodon User Page Bookmarklet
@joeycastillo
joeycastillo / bluemarble.py
Created September 29, 2022 02:48
Python script to convert GOES-East imagery to 7-color e-paper bitmap
# Based on Waveshare's epd5in65f.py demo. Copyright notice at end.
import sys
import os
libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
if os.path.exists(libdir):
sys.path.append(libdir)
import logging
@joeycastillo
joeycastillo / Focus.cpp
Created June 20, 2022 22:37
A simple Focus-based app for tracking progress on projects
#include "Focus.h"
#include "Arduino.h"
#include <algorithm>
Task::Task() {
}
View::View(Rect rect) {
this->frame = rect;
this->window.reset();
@urish
urish / wokwi-custom-chips-c-api.md
Last active January 30, 2023 05:47
Wokwi Custom Chips C API