1
1
Fork 0

fixed bug and bundled up for release

squarelines 4.6
Alina Marquardt 2016-01-16 23:01:19 +01:00
parent e78178b587
commit 1388670ce7
3 changed files with 53 additions and 24 deletions

View File

@ -1,6 +1,7 @@
{
"appKeys": {
"background_color": 4,
"backlight": 17,
"btvibe": 12,
"center": 11,
"contrast": 13,

View File

@ -8,10 +8,11 @@ Pebble.addEventListener('showConfiguration', function() {
watch = Pebble.getActiveWatchInfo();
}
var url='http://pebble.lastfuture.de/config/squared46/';
url += "?model="+watch.model;
if (watch.platform == "basalt") {
url += "?rect=true";
url += "&rect=true";
} else if (watch.platform == "aplite") {
url += "?rect=true&bw=true";
url += "&rect=true&bw=true";
}
console.log('Showing configuration page: '+url);
Pebble.openURL(url);
@ -38,7 +39,8 @@ Pebble.addEventListener('webviewclosed', function(e) {
contrast: 0+(configData.contrast === 'true'),
nightsaver: 0+(configData.nightsaver === 'true'),
ns_start: parseInt(configData.ns_start),
ns_stop: parseInt(configData.ns_stop)
ns_stop: parseInt(configData.ns_stop),
backlight: 0+(configData.backlight === 'true')
}, function() {
console.log('Send successful!');
}, function() {

View File

@ -2,7 +2,7 @@
* Original source code by lastfuture
* SDK 2.0beta4 port by Jnm
* 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>
@ -27,6 +27,7 @@ typedef struct {
bool nightsaver;
int ns_start;
int ns_stop;
bool backlight;
} Preferences;
@ -50,6 +51,7 @@ enum {
KEY_NIGHTSAVER,
KEY_NS_START,
KEY_NS_STOP,
KEY_BACKLIGHT,
};
#define PREFERENCES_KEY 0
@ -58,6 +60,7 @@ enum {
#define CENTER_DATE (curPrefs.center)
#define DISCONNECT_VIBRATION (curPrefs.btvibe)
#define CONTRAST_WHILE_CHARGING (curPrefs.contrast)
#define LIGHT_WHILE_CHARGING (curPrefs.backlight)
#define DISABLE_ANIM (curPrefs.nightsaver)
#define DISABLE_ANIM_START_TIME (curPrefs.ns_start)
#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_destroy(anim);
}
ho = get_display_hour(t->tm_hour);
mi = t->tm_min;
da = t->tm_mday;
mo = t->tm_mon+1;
if (debug) {
ho = 5;
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;
ho = 9;
}
APP_LOG(APP_LOG_LEVEL_INFO, "It is now %d:%d %d.%d.", (int)ho, (int)mi, (int)da, (int)mo);
allow_animate = true;
if (DISABLE_ANIM) {
if (DISABLE_ANIM_START_TIME > DISABLE_ANIM_END_TIME) {
@ -536,7 +533,7 @@ void handle_tick(struct tm *t, TimeUnits units_changed) {
if (debug) {
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 (debug) {
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;
for (i=0; i<NUMSLOTS; i++) {
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);
}
}
@ -673,6 +674,13 @@ static void battery_handler(BatteryChargeState charge_state) {
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) {
@ -693,6 +701,7 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
Tuple *nightsaver_t = dict_find(iter, KEY_NIGHTSAVER);
Tuple *ns_start_t = dict_find(iter, KEY_NS_START);
Tuple *ns_stop_t = dict_find(iter, KEY_NS_STOP);
Tuple *backlight_t = dict_find(iter, KEY_BACKLIGHT);
if (large_mode_t) {
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) {
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));
vibes_short_pulse();
if (curPrefs.contrast == false) {
@ -757,6 +769,14 @@ static void in_received_handler(DictionaryIterator *iter, void *context) {
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) {
APP_LOG(APP_LOG_LEVEL_INFO, "Tearing down");
}
@ -803,6 +823,7 @@ static void init() {
.nightsaver = false,
.ns_start = 0,
.ns_stop = 6,
.backlight = false,
};
}
@ -811,11 +832,16 @@ static void init() {
BatteryChargeState charge_state = battery_state_service_peek();
if (charge_state.is_plugged) {
if (CONTRAST_WHILE_CHARGING) {
previous_contrastmode = true;
contrastmode = true;
teardownUI();
setupUI();
}
if (LIGHT_WHILE_CHARGING) {
light_enable(true);
}
}
// Setup app message
app_message_register_inbox_received(in_received_handler);
@ -825,7 +851,7 @@ static void init() {
tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
if (debug) {
light_enable(true);
//light_enable(true);
}
handle_bluetooth(connection_service_peek_pebble_app_connection());