From 68b211ae5e02193b84545717bf29660e48f24e7e Mon Sep 17 00:00:00 2001 From: Neale Pickett Date: Sat, 26 Dec 2015 19:52:43 -0700 Subject: [PATCH] Works on all three platforms --- appinfo.json | 46 ++++++ resources/fonts/Helvetica-Bold.ttf | Bin 0 -> 112344 bytes resources/fonts/Helvetica-Regular.ttf | Bin 0 -> 71456 bytes resources/images/menu.png | Bin 0 -> 463 bytes src/main.c | 206 ++++++++++++++++++++++++++ src/twatch.h | 42 ++++++ wscript | 62 ++++++++ 7 files changed, 356 insertions(+) create mode 100644 appinfo.json create mode 100644 resources/fonts/Helvetica-Bold.ttf create mode 100644 resources/fonts/Helvetica-Regular.ttf create mode 100644 resources/images/menu.png create mode 100644 src/main.c create mode 100644 src/twatch.h create mode 100644 wscript diff --git a/appinfo.json b/appinfo.json new file mode 100644 index 0000000..ea240ad --- /dev/null +++ b/appinfo.json @@ -0,0 +1,46 @@ +{ + "appKeys": {}, + "capabilities": [ + "" + ], + "companyName": "dartcatcher@gmail.com", + "longName": "Twatch Rings", + "projectType": "native", + "resources": { + "media": [ + { + "characterRegex": "[0-9]", + "file": "fonts/Helvetica-Regular.ttf", + "name": "FONT_24", + "targetPlatforms": null, + "type": "font" + }, + { + "file": "images/menu.png", + "menuIcon": true, + "name": "MENU_IMAGE", + "targetPlatforms": null, + "type": "png" + }, + { + "characterRegex": "[0-9]", + "file": "fonts/Helvetica-Bold.ttf", + "name": "FONT_36", + "targetPlatforms": null, + "type": "font" + } + ] + }, + "sdkVersion": "3", + "shortName": "Twatch Rings", + "targetPlatforms": [ + "aplite", + "basalt", + "chalk" + ], + "uuid": "029c47c0-f364-4d8f-bf66-abd35a9008f8", + "versionLabel": "1.0", + "watchapp": { + "watchface": true + } +} diff --git a/resources/fonts/Helvetica-Bold.ttf b/resources/fonts/Helvetica-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..193b51e0c1df6f660ae6dee3ae5b7efad21b01ef GIT binary patch literal 112344 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�oE&gJ0*7hwKr{}VLRKXHKcbGM|9PQSs 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 FV1hfByIcSO literal 0 HcmV?d00001 diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..65f6861 --- /dev/null +++ b/src/main.c @@ -0,0 +1,206 @@ +#include + + +#define MINLEN 58 +#define HRCIRCLER 30 +#define NRINGS 12 +#define MINCIRCLER 20 + +#define fatness 14 +#define fat(x) (fatness * x) + +static Window *window; +static Layer *s_hr_layer, *s_min_layer, *s_sec_layer; + +GRect display_bounds; +GPoint center, mincenter; + +int32_t min_angle, sec_angle; +char hrstr[3], minstr[3]; +bool min_even; + +bool bt_connected; + +#define nringcolors 5 +GColor *rings[nringcolors] = { + &GColorVividCerulean, + &GColorChromeYellow, + &GColorCobaltBlue, + &GColorDarkGray, + &GColorWhite, +}; + +static void min_update_proc(Layer *layer, GContext *ctx) { + graphics_context_set_fill_color(ctx, *rings[0]); + graphics_fill_rect(ctx, layer_get_bounds(layer), 0, GCornerNone); + + for (int i = 0; i < NRINGS; i += 1) { + graphics_context_set_fill_color(ctx, *rings[(NRINGS - i) % nringcolors]); + graphics_fill_circle(ctx, mincenter, MINCIRCLER + (NRINGS - i) * fatness); + } + + // center dot + if (bt_connected) { + graphics_context_set_fill_color(ctx, GColorBlack); + graphics_context_set_text_color(ctx, GColorWhite); + } else { + graphics_context_set_fill_color(ctx, GColorYellow); + graphics_context_set_text_color(ctx, GColorBlack); + } + graphics_fill_circle(ctx, mincenter, MINCIRCLER); + + GRect textbox = { + .origin = { + .x = mincenter.x - 20, + .y = mincenter.y - 16, + }, + .size = { + .w = 40, + .h = 40, + } + }; + graphics_draw_text(ctx, minstr, + fonts_get_system_font(FONT_KEY_GOTHIC_24_BOLD), + textbox, + GTextOverflowModeWordWrap, + GTextAlignmentCenter, + NULL); +} + +static void hr_update_proc(Layer *layer, GContext *ctx) { + // Draw a black circle + graphics_context_set_fill_color(ctx, GColorBlack); + graphics_fill_circle(ctx, center, HRCIRCLER); + + // Write the current hour text in it + GRect textbox = { + .origin = { + .x = center.x - HRCIRCLER, + .y = center.y - HRCIRCLER + 4, + }, + .size = { + .w = HRCIRCLER * 2, + .h = HRCIRCLER, + } + }; + graphics_context_set_text_color(ctx, GColorWhite); + graphics_draw_text(ctx, (*hrstr=='0')?(hrstr+1):(hrstr), + fonts_get_system_font(FONT_KEY_BITHAM_42_BOLD), + textbox, + GTextOverflowModeWordWrap, + GTextAlignmentCenter, + NULL); +} + +static void sec_update_proc(Layer *layer, GContext *ctx) { + GRect secbox = { + .origin = { + .x = mincenter.x - (40+2)/2, + .y = mincenter.y - (40+2)/2, + }, + .size = { + .w = 40+2, + .h = 40+2, + } + }; + + graphics_context_set_fill_color(ctx, GColorVividCerulean); + if (min_even) { + graphics_fill_radial(ctx, secbox, GOvalScaleModeFitCircle, 2, 0, sec_angle); + } else { + graphics_fill_radial(ctx, secbox, GOvalScaleModeFitCircle, 2, sec_angle, DEG_TO_TRIGANGLE(360)); + } +} + + +static void handle_tick(struct tm *tick_time, TimeUnits units_changed) { + if (units_changed && HOUR_UNIT) { + if (clock_is_24h_style()) { + strftime(hrstr, sizeof(hrstr), "%H", tick_time); + } else { + strftime(hrstr, sizeof(hrstr), "%I", tick_time); + } + layer_mark_dirty(s_hr_layer); + } + + if (units_changed && MINUTE_UNIT) { + strftime(minstr, sizeof(minstr), "%M", tick_time); + min_angle = DEG_TO_TRIGANGLE(tick_time->tm_min * 6); + mincenter.x = (int16_t)(sin_lookup(min_angle) * MINLEN / TRIG_MAX_RATIO) + center.x; + mincenter.y = (int16_t)(-cos_lookup(min_angle) * MINLEN / TRIG_MAX_RATIO) + center.y; + + layer_mark_dirty(s_min_layer); + min_even = (tick_time->tm_min % 2 == 0); + } + + if (units_changed && SECOND_UNIT) { + sec_angle = DEG_TO_TRIGANGLE(tick_time->tm_sec * 6); + layer_mark_dirty(s_sec_layer); + } +} + +static void window_load(Window *window) { + Layer *window_layer = window_get_root_layer(window); + + display_bounds = layer_get_bounds(window_layer); + center = grect_center_point(&display_bounds); + + // Minutes + s_min_layer = layer_create(display_bounds); + layer_set_update_proc(s_min_layer, min_update_proc); + + // Seconds + s_sec_layer = layer_create(display_bounds); + layer_set_update_proc(s_sec_layer, sec_update_proc); + + // Hours + s_hr_layer = layer_create(display_bounds); // XXX: Perhaps this is too big. + layer_set_update_proc(s_hr_layer, hr_update_proc); + + layer_add_child(window_layer, s_min_layer); + layer_add_child(window_layer, s_hr_layer); + layer_add_child(window_layer, s_sec_layer); + + time_t now = time(NULL); + struct tm *tick_time = localtime(&now); + handle_tick(tick_time, HOUR_UNIT | MINUTE_UNIT | SECOND_UNIT); +} + +static void window_unload(Window *window) { + layer_destroy(s_hr_layer); + layer_destroy(s_min_layer); + layer_destroy(s_sec_layer); +} + +static void bt_handler(bool connected) { + bt_connected = connected; + if (! connected) { + vibes_double_pulse(); + } + layer_mark_dirty(s_min_layer); +} + +static void init() { + window = window_create(); + window_set_window_handlers(window, (WindowHandlers) { + .load = window_load, + .unload = window_unload, + }); + window_stack_push(window, true); + + tick_timer_service_subscribe(HOUR_UNIT | MINUTE_UNIT | SECOND_UNIT, handle_tick); + + bluetooth_connection_service_subscribe(bt_handler); + bt_connected = bluetooth_connection_service_peek(); +} + +static void deinit() { + tick_timer_service_unsubscribe(); + window_destroy(window); +} + +int main() { + init(); + app_event_loop(); + deinit(); +} diff --git a/src/twatch.h b/src/twatch.h new file mode 100644 index 0000000..691eb24 --- /dev/null +++ b/src/twatch.h @@ -0,0 +1,42 @@ +#include +#pragma once + +#define SECOND_LEN PBL_IF_ROUND_ELSE(77, 72) +#define SECOND_RADIUS 7 +static const GPathInfo SECOND_HAND_POINTS = { + 4, + (GPoint []) { + {2, -70}, + {2, PBL_IF_ROUND_ELSE(-90, -85)}, + {-2, PBL_IF_ROUND_ELSE(-90, -85)}, + {-2, -70} + } +}; + +#define MINUTE_LEN PBL_IF_ROUND_ELSE(-81, -78) +static const GPathInfo MINUTE_HAND_POINTS = { + 7, + (GPoint []) { + {4, 0}, + {4, MINUTE_LEN}, + {3, MINUTE_LEN - 2}, + {0, MINUTE_LEN - 3}, + {-3, MINUTE_LEN - 2}, + {-4, MINUTE_LEN}, + {-4, 0} + } +}; + +#define HOUR_LEN PBL_IF_ROUND_ELSE(-55, -53) +static const GPathInfo HOUR_HAND_POINTS = { + 7, + (GPoint []) { + {5, 0}, + {5, HOUR_LEN}, + {4, HOUR_LEN -2}, + {0, HOUR_LEN - 3}, + {-4, HOUR_LEN - 2}, + {-5, HOUR_LEN}, + {-5, 0} + } +}; diff --git a/wscript b/wscript new file mode 100644 index 0000000..b20f58f --- /dev/null +++ b/wscript @@ -0,0 +1,62 @@ + + # +# This file is the default set of rules to compile a Pebble project. +# +# Feel free to customize this to your needs. +# + +import os.path +try: + from sh import CommandNotFound, jshint, cat, ErrorReturnCode_2 + hint = jshint +except (ImportError, CommandNotFound): + hint = None + +top = '.' +out = 'build' + +def options(ctx): + ctx.load('pebble_sdk') + +def configure(ctx): + ctx.load('pebble_sdk') + +def build(ctx): + if False and hint is not None: + try: + hint([node.abspath() for node in ctx.path.ant_glob("src/**/*.js")], _tty_out=False) # no tty because there are none in the cloudpebble sandbox. + except ErrorReturnCode_2 as e: + ctx.fatal("\nJavaScript linting failed (you can disable this in Project Settings):\n" + e.stdout) + + # Concatenate all our JS files (but not recursively), and only if any JS exists in the first place. + ctx.path.make_node('src/js/').mkdir() + js_paths = ctx.path.ant_glob(['src/*.js', 'src/**/*.js']) + if js_paths: + ctx(rule='cat ${SRC} > ${TGT}', source=js_paths, target='pebble-js-app.js') + has_js = True + else: + has_js = False + + ctx.load('pebble_sdk') + + build_worker = os.path.exists('worker_src') + binaries = [] + + for p in ctx.env.TARGET_PLATFORMS: + ctx.set_env(ctx.all_envs[p]) + ctx.set_group(ctx.env.PLATFORM_NAME) + app_elf='{}/pebble-app.elf'.format(p) + ctx.pbl_program(source=ctx.path.ant_glob('src/**/*.c'), + target=app_elf) + + if build_worker: + worker_elf='{}/pebble-worker.elf'.format(p) + binaries.append({'platform': p, 'app_elf': app_elf, 'worker_elf': worker_elf}) + ctx.pbl_worker(source=ctx.path.ant_glob('worker_src/**/*.c'), + target=worker_elf) + else: + binaries.append({'platform': p, 'app_elf': app_elf}) + + ctx.set_group('bundle') + ctx.pbl_bundle(binaries=binaries, js='pebble-js-app.js' if has_js else []) + \ No newline at end of file