parent
e78178b587
commit
1388670ce7
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"appKeys": {
|
"appKeys": {
|
||||||
"background_color": 4,
|
"background_color": 4,
|
||||||
|
"backlight": 17,
|
||||||
"btvibe": 12,
|
"btvibe": 12,
|
||||||
"center": 11,
|
"center": 11,
|
||||||
"contrast": 13,
|
"contrast": 13,
|
||||||
|
|
|
@ -8,10 +8,11 @@ Pebble.addEventListener('showConfiguration', function() {
|
||||||
watch = Pebble.getActiveWatchInfo();
|
watch = Pebble.getActiveWatchInfo();
|
||||||
}
|
}
|
||||||
var url='http://pebble.lastfuture.de/config/squared46/';
|
var url='http://pebble.lastfuture.de/config/squared46/';
|
||||||
|
url += "?model="+watch.model;
|
||||||
if (watch.platform == "basalt") {
|
if (watch.platform == "basalt") {
|
||||||
url += "?rect=true";
|
url += "&rect=true";
|
||||||
} else if (watch.platform == "aplite") {
|
} else if (watch.platform == "aplite") {
|
||||||
url += "?rect=true&bw=true";
|
url += "&rect=true&bw=true";
|
||||||
}
|
}
|
||||||
console.log('Showing configuration page: '+url);
|
console.log('Showing configuration page: '+url);
|
||||||
Pebble.openURL(url);
|
Pebble.openURL(url);
|
||||||
|
@ -38,7 +39,8 @@ Pebble.addEventListener('webviewclosed', function(e) {
|
||||||
contrast: 0+(configData.contrast === 'true'),
|
contrast: 0+(configData.contrast === 'true'),
|
||||||
nightsaver: 0+(configData.nightsaver === 'true'),
|
nightsaver: 0+(configData.nightsaver === 'true'),
|
||||||
ns_start: parseInt(configData.ns_start),
|
ns_start: parseInt(configData.ns_start),
|
||||||
ns_stop: parseInt(configData.ns_stop)
|
ns_stop: parseInt(configData.ns_stop),
|
||||||
|
backlight: 0+(configData.backlight === 'true')
|
||||||
}, function() {
|
}, function() {
|
||||||
console.log('Send successful!');
|
console.log('Send successful!');
|
||||||
}, function() {
|
}, function() {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* Original source code by lastfuture
|
* Original source code by lastfuture
|
||||||
* SDK 2.0beta4 port by Jnm
|
* SDK 2.0beta4 port by Jnm
|
||||||
* SDK 3.0 port and colorizing by hexahedria
|
* SDK 3.0 port and colorizing by hexahedria
|
||||||
* adaptations for Chalk and Aplite by lastfuture
|
* adaptations for Chalk and Aplite as well as continued development by lastfuture
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <pebble.h>
|
#include <pebble.h>
|
||||||
|
@ -27,6 +27,7 @@ typedef struct {
|
||||||
bool nightsaver;
|
bool nightsaver;
|
||||||
int ns_start;
|
int ns_start;
|
||||||
int ns_stop;
|
int ns_stop;
|
||||||
|
bool backlight;
|
||||||
|
|
||||||
} Preferences;
|
} Preferences;
|
||||||
|
|
||||||
|
@ -50,6 +51,7 @@ enum {
|
||||||
KEY_NIGHTSAVER,
|
KEY_NIGHTSAVER,
|
||||||
KEY_NS_START,
|
KEY_NS_START,
|
||||||
KEY_NS_STOP,
|
KEY_NS_STOP,
|
||||||
|
KEY_BACKLIGHT,
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PREFERENCES_KEY 0
|
#define PREFERENCES_KEY 0
|
||||||
|
@ -58,6 +60,7 @@ enum {
|
||||||
#define CENTER_DATE (curPrefs.center)
|
#define CENTER_DATE (curPrefs.center)
|
||||||
#define DISCONNECT_VIBRATION (curPrefs.btvibe)
|
#define DISCONNECT_VIBRATION (curPrefs.btvibe)
|
||||||
#define CONTRAST_WHILE_CHARGING (curPrefs.contrast)
|
#define CONTRAST_WHILE_CHARGING (curPrefs.contrast)
|
||||||
|
#define LIGHT_WHILE_CHARGING (curPrefs.backlight)
|
||||||
#define DISABLE_ANIM (curPrefs.nightsaver)
|
#define DISABLE_ANIM (curPrefs.nightsaver)
|
||||||
#define DISABLE_ANIM_START_TIME (curPrefs.ns_start)
|
#define DISABLE_ANIM_START_TIME (curPrefs.ns_start)
|
||||||
#define DISABLE_ANIM_END_TIME (curPrefs.ns_stop)
|
#define DISABLE_ANIM_END_TIME (curPrefs.ns_stop)
|
||||||
|
@ -457,22 +460,16 @@ void handle_tick(struct tm *t, TimeUnits units_changed) {
|
||||||
animation_unschedule(anim);
|
animation_unschedule(anim);
|
||||||
animation_destroy(anim);
|
animation_destroy(anim);
|
||||||
}
|
}
|
||||||
|
ho = get_display_hour(t->tm_hour);
|
||||||
|
mi = t->tm_min;
|
||||||
|
da = t->tm_mday;
|
||||||
|
mo = t->tm_mon+1;
|
||||||
if (debug) {
|
if (debug) {
|
||||||
ho = 5;
|
ho = 9;
|
||||||
mi = 15;
|
|
||||||
da = 12;
|
|
||||||
mo = 3;
|
|
||||||
ho = get_display_hour(t->tm_hour);
|
|
||||||
mi = t->tm_min;
|
|
||||||
da = t->tm_mday;
|
|
||||||
mo = t->tm_mon+1;
|
|
||||||
} else {
|
|
||||||
ho = get_display_hour(t->tm_hour);
|
|
||||||
mi = t->tm_min;
|
|
||||||
da = t->tm_mday;
|
|
||||||
mo = t->tm_mon+1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
APP_LOG(APP_LOG_LEVEL_INFO, "It is now %d:%d %d.%d.", (int)ho, (int)mi, (int)da, (int)mo);
|
||||||
|
|
||||||
allow_animate = true;
|
allow_animate = true;
|
||||||
if (DISABLE_ANIM) {
|
if (DISABLE_ANIM) {
|
||||||
if (DISABLE_ANIM_START_TIME > DISABLE_ANIM_END_TIME) {
|
if (DISABLE_ANIM_START_TIME > DISABLE_ANIM_END_TIME) {
|
||||||
|
@ -536,7 +533,7 @@ void handle_tick(struct tm *t, TimeUnits units_changed) {
|
||||||
if (debug) {
|
if (debug) {
|
||||||
APP_LOG(APP_LOG_LEVEL_INFO, "Slot 0 was %d", (int) slot[0].prevDigit);
|
APP_LOG(APP_LOG_LEVEL_INFO, "Slot 0 was %d", (int) slot[0].prevDigit);
|
||||||
}
|
}
|
||||||
if (slot[0].curDigit == 0 || slot[0].prevDigit >= 10) {
|
if (ho < 10 && slot[0].prevDigit >= 10) {
|
||||||
if (NUMSLOTS > 8) {
|
if (NUMSLOTS > 8) {
|
||||||
if (debug) {
|
if (debug) {
|
||||||
APP_LOG(APP_LOG_LEVEL_INFO, "More than 8 slots");
|
APP_LOG(APP_LOG_LEVEL_INFO, "More than 8 slots");
|
||||||
|
@ -622,7 +619,11 @@ static void animateDigits(struct Animation *anim, const AnimationProgress normTi
|
||||||
int i;
|
int i;
|
||||||
for (i=0; i<NUMSLOTS; i++) {
|
for (i=0; i<NUMSLOTS; i++) {
|
||||||
if (slot[i].curDigit != slot[i].prevDigit) {
|
if (slot[i].curDigit != slot[i].prevDigit) {
|
||||||
if (allow_animate) { slot[i].normTime = normTime; }
|
if (allow_animate) {
|
||||||
|
slot[i].normTime = normTime;
|
||||||
|
} else {
|
||||||
|
slot[i].normTime = ANIMATION_NORMALIZED_MAX;
|
||||||
|
}
|
||||||
layer_mark_dirty(slot[i].layer);
|
layer_mark_dirty(slot[i].layer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -673,6 +674,13 @@ static void battery_handler(BatteryChargeState charge_state) {
|
||||||
setupUI();
|
setupUI();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (LIGHT_WHILE_CHARGING) {
|
||||||
|
if (charge_state.is_plugged) {
|
||||||
|
light_enable(true);
|
||||||
|
} else {
|
||||||
|
light_enable(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void in_received_handler(DictionaryIterator *iter, void *context) {
|
static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
|
@ -693,6 +701,7 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
Tuple *nightsaver_t = dict_find(iter, KEY_NIGHTSAVER);
|
Tuple *nightsaver_t = dict_find(iter, KEY_NIGHTSAVER);
|
||||||
Tuple *ns_start_t = dict_find(iter, KEY_NS_START);
|
Tuple *ns_start_t = dict_find(iter, KEY_NS_START);
|
||||||
Tuple *ns_stop_t = dict_find(iter, KEY_NS_STOP);
|
Tuple *ns_stop_t = dict_find(iter, KEY_NS_STOP);
|
||||||
|
Tuple *backlight_t = dict_find(iter, KEY_BACKLIGHT);
|
||||||
|
|
||||||
if (large_mode_t) {
|
if (large_mode_t) {
|
||||||
curPrefs.large_mode = large_mode_t->value->int8;
|
curPrefs.large_mode = large_mode_t->value->int8;
|
||||||
|
@ -745,6 +754,9 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
if (ns_stop_t) {
|
if (ns_stop_t) {
|
||||||
curPrefs.ns_stop = ns_stop_t->value->int8;
|
curPrefs.ns_stop = ns_stop_t->value->int8;
|
||||||
}
|
}
|
||||||
|
if (backlight_t) {
|
||||||
|
curPrefs.backlight = backlight_t->value->int8;
|
||||||
|
}
|
||||||
persist_write_data(PREFERENCES_KEY, &curPrefs, sizeof(curPrefs));
|
persist_write_data(PREFERENCES_KEY, &curPrefs, sizeof(curPrefs));
|
||||||
vibes_short_pulse();
|
vibes_short_pulse();
|
||||||
if (curPrefs.contrast == false) {
|
if (curPrefs.contrast == false) {
|
||||||
|
@ -757,6 +769,14 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
|
||||||
previous_contrastmode = true;
|
previous_contrastmode = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (curPrefs.backlight == false) {
|
||||||
|
light_enable(false);
|
||||||
|
} else {
|
||||||
|
BatteryChargeState charge_state = battery_state_service_peek();
|
||||||
|
if (charge_state.is_plugged) {
|
||||||
|
light_enable(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
if (debug) {
|
if (debug) {
|
||||||
APP_LOG(APP_LOG_LEVEL_INFO, "Tearing down");
|
APP_LOG(APP_LOG_LEVEL_INFO, "Tearing down");
|
||||||
}
|
}
|
||||||
|
@ -803,6 +823,7 @@ static void init() {
|
||||||
.nightsaver = false,
|
.nightsaver = false,
|
||||||
.ns_start = 0,
|
.ns_start = 0,
|
||||||
.ns_stop = 6,
|
.ns_stop = 6,
|
||||||
|
.backlight = false,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -811,10 +832,15 @@ static void init() {
|
||||||
BatteryChargeState charge_state = battery_state_service_peek();
|
BatteryChargeState charge_state = battery_state_service_peek();
|
||||||
|
|
||||||
if (charge_state.is_plugged) {
|
if (charge_state.is_plugged) {
|
||||||
previous_contrastmode = true;
|
if (CONTRAST_WHILE_CHARGING) {
|
||||||
contrastmode = true;
|
previous_contrastmode = true;
|
||||||
teardownUI();
|
contrastmode = true;
|
||||||
setupUI();
|
teardownUI();
|
||||||
|
setupUI();
|
||||||
|
}
|
||||||
|
if (LIGHT_WHILE_CHARGING) {
|
||||||
|
light_enable(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup app message
|
// Setup app message
|
||||||
|
@ -825,7 +851,7 @@ static void init() {
|
||||||
tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
|
tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
|
||||||
|
|
||||||
if (debug) {
|
if (debug) {
|
||||||
light_enable(true);
|
//light_enable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
handle_bluetooth(connection_service_peek_pebble_app_connection());
|
handle_bluetooth(connection_service_peek_pebble_app_connection());
|
||||||
|
|
Loading…
Reference in New Issue