Exemplo n.º 1
0
static void load_text(int key, bool update_layer) {
    free_text(key);

    if (persist_exists(key)) {
        int size = persist_get_size(key);
        label_text[key] = malloc(size);
        persist_read_string(key, label_text[key], size);
    } else {
        label_text[key] = a2_strdup(label_default_text[key]);
    }

    if (update_layer) {
        text_layer_set_text(text_layers[key], label_text[key]);
    }
}
Exemplo n.º 2
0
void accel_init() {
   periodsStatic = 0;
   periodsLift = 0;
   periodsSki = 0;

   pendingDecel = false;
   if (persist_get_size	(THUPKEY) == E_DOES_NOT_EXIST) {	
       thresholdUp = MOVINGTHRESHOLD;
       thresholdDown = STATICTHRESHOLD;
   }
   else {
       thresholdUp = persist_read_int (THUPKEY);
       thresholdDown = persist_read_int (THDOWNKEY);
   }

   derivData = NULL;
   lastAccel.x = lastAccel.y = lastAccel.z = lastAccel.timestamp = 0;
   app_log(APP_LOG_LEVEL_INFO, __FILE__ , __LINE__, "Subscribe");
   accel_data_service_subscribe(NUMSAMPLES, (AccelDataHandler) &accel_data_handler);
   accel_service_set_sampling_rate(ACCEL_SAMPLING_25HZ);
}   
Exemplo n.º 3
0
static void barcode_layer_update_proc(struct Layer *layer, GContext *ctx) {
    if (!persist_exists(KEY_BARCODE)) return;

    int size = persist_get_size(KEY_BARCODE);
    APP_LOG((size <= 0 ? APP_LOG_LEVEL_ERROR : APP_LOG_LEVEL_DEBUG), "%s: persist_get_size -> %d", __PRETTY_FUNCTION__, size);
    if (size <= 0) return;

    uint8_t buffer[size];
    size = persist_read_data(KEY_BARCODE, &buffer, size);
    APP_LOG((size <= 0 ? APP_LOG_LEVEL_ERROR : APP_LOG_LEVEL_DEBUG), "%s: persist_read_data -> %d", __PRETTY_FUNCTION__, size);
    if (size <= 0) return;

    graphics_context_set_fill_color(ctx, GColorWhite);
    GRect draw_rect = GRect(
        BARCODE_MIN_X - 1,
        BARCODE_MIN_Y - 1,
        ((BARCODE_MAX_X + 1) - (BARCODE_MIN_X - 1)),
        ((BARCODE_MAX_Y + 1) - (BARCODE_MIN_Y - 1))
    );
    graphics_fill_rect(ctx, draw_rect, 0, GCornerNone);

    graphics_context_set_fill_color(ctx, GColorBlack);
    int16_t rect_y = 0;
    for (int16_t y = 0; y < size; y++) {
        uint8_t column = buffer[y];

        int16_t rect_h = (y == 0 || y == 14 || y == 28 || y == 43 || y == 57 || y == 71) ? 1 : 2;

        for (int16_t x = 0; x < 8; x++) {
            if (column & (1 << x)) {
                GRect rect = GRect(BARCODE_MIN_X + 8 * x, BARCODE_MIN_Y + rect_y, 8, rect_h);
                graphics_fill_rect(ctx, rect, 0, GCornerNone);
            }
        }

        rect_y += rect_h;
    }
}