Skip to content

Conversation

@johanoskarsson
Copy link

I just backed the Sensor Watch Pro campagin, so I figured I'd check out the code a bit. This PR adds Chirp support to the databank to get the data back out of the watch again.

I closely followed the chirpy demo code. More comments inline.

However: one issue remains. Since the light and alarm buttons are already used in both short press and long press I'm not sure what I should be using to trigger the chirping. One idea was simultaneous presses of the light and alarm buttons? I notice there is no specific event for this. I could probably work around that but I figured I'd ask for advice.


typedef enum {
DATABANK_DISPLAY = 0,
DATABANK_CHIRPING,
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The chirping mode changes the ticks to speed up etc.

}

// Which byte are we currently processing?
static uint16_t curr_data_ix;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the chirpy demo code we also have data length and pointer to data here. But I'm instead using just whatever the currently displayed data is.


static uint8_t _databank_get_next_byte(uint8_t *next_byte) {
// We always send out the currently displayed dataset
int curr_pos = databank_state.databank_page * 2 + 1;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be honest I don't quite understand the pagination used into the pi_data array, but this seems to work.

break;
case EVENT_LIGHT_BUTTON_UP:
databank_state.current_word = (databank_state.current_word + max_words - 1) % max_words;
// TODO ideally change this to chirp if both buttons are pressed at the same time?
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what I mentioned in the PR description. This shouldn't be in this section, but I'm not sure what the best practices is to trigger the chirping since all button presses are used already.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant