Skip to content

Shale/1.1.0/finer types 2 #52

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 21 commits into
base: shale/1.1.0/finer-types
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
f7ae632
Updated the phony target in the makefile.
shalecraig Mar 23, 2014
c9bc036
There is no file that has MIN and MAX, removed TODO
shalecraig Mar 23, 2014
47579b3
Renamed method to be internal, moved TODO around
shalecraig Mar 23, 2014
b4555c0
Removed build files
shalecraig Mar 23, 2014
f9374f4
Added arg to make the simple-acc.. project build.
shalecraig Mar 23, 2014
549943a
Updated arguments to be more strict
shalecraig Mar 23, 2014
c58f587
Merge pull request #50 from shalecraig/shale/1.1.0/make-simple-accele…
shalecraig Mar 23, 2014
2f3fb22
Merge pull request #49 from shalecraig/shale/1.1.0/TODO-cleanups
shalecraig Mar 23, 2014
9ec21d3
Started initial work on the moving_avg_ticker
shalecraig Mar 23, 2014
c83f5d5
Moved macro definition around
shalecraig Mar 23, 2014
b739935
Change the type of wbuf to uint32_t
shalecraig Mar 23, 2014
2340262
Change 2 params:allocate_moving_avg int->uint32_t
shalecraig Mar 23, 2014
92c069f
Moving average ticker now has more explicit typing
shalecraig Mar 24, 2014
ea24116
Made get_latest_frame faster, fewer ops in loop
shalecraig Mar 24, 2014
16f7bcf
Dimensions is now a unsigned integer
shalecraig Mar 24, 2014
c2dfd7b
Moved types to explicit sizes
shalecraig Mar 24, 2014
4a25ca1
Added documentation note to pebble_makeup header.
shalecraig Mar 24, 2014
a86a99a
Reordered imports for moving_avg_ticker
shalecraig Mar 24, 2014
f0032d6
Cleaned up some types in accel.c
shalecraig Mar 24, 2014
c245614
Added some makefile args.
shalecraig Mar 24, 2014
5798df5
More arguments that will hopefully break the build
shalecraig Mar 24, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Moving average ticker now has more explicit typing
  • Loading branch information
shalecraig committed Mar 24, 2014
commit 92c069f19a1dcc81e30aa7d1328a27a098dca986
14 changes: 6 additions & 8 deletions sample/simple-accelerometer/src/moving_avg_ticker.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ int precondition_valid_moving_avg_values(moving_avg_values *input) {
if (input->wbuf == NULL) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->wbuf_end < 0) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->wbuf_len <= 0) {
if (input->wbuf_len == 0) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->subtotal_size >= input->max_subtotal_size) {
Expand Down Expand Up @@ -77,7 +74,7 @@ int reset_moving_avg(moving_avg_values *reset) {
return MOVING_AVG_SUCCESS;
}

int append_to_moving_avg(moving_avg_values *value, int appended, bool *is_at_end) {
int append_to_moving_avg(moving_avg_values *value, int32_t appended, bool *is_at_end) {
int is_valid_return_value = precondition_valid_moving_avg_values(value);
if (is_valid_return_value != MOVING_AVG_SUCCESS) {
return is_valid_return_value;
Expand All @@ -101,19 +98,20 @@ int append_to_moving_avg(moving_avg_values *value, int appended, bool *is_at_end
return MOVING_AVG_SUCCESS;
}

int get_latest_frame_moving_avg(moving_avg_values *value, int *frame) {
int get_latest_frame_moving_avg(moving_avg_values *value, int32_t *frame) {
int is_valid_return_value = precondition_valid_moving_avg_values(value);
if (is_valid_return_value != MOVING_AVG_SUCCESS) {
return is_valid_return_value;
}

PRECONDITION_NOT_NULL(frame);

// TODO: this can be cleaned up.
float sum = 0;
for (int i = 0; i < value->wbuf_len; ++i) {
for (uint32_t i = 0; i < value->wbuf_len; ++i) {
sum += value->wbuf[i] * 1.0 / value->wbuf_len;
}
*frame = (int)sum;
*frame = (int32_t)sum;
return MOVING_AVG_SUCCESS;
}

Expand Down
10 changes: 5 additions & 5 deletions sample/simple-accelerometer/src/moving_avg_ticker.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ extern "C" {
typedef struct moving_avg_values {
// Circular buffer
uint32_t *wbuf;
int wbuf_end;
int wbuf_len;
uint32_t wbuf_end;
uint32_t wbuf_len;

int subtotal;
int32_t subtotal;
uint32_t subtotal_size;
uint32_t max_subtotal_size;
} moving_avg_values;
Expand All @@ -33,9 +33,9 @@ int allocate_moving_avg(uint32_t num_wbuf, uint32_t subtotal_sizes, moving_avg_v

int reset_moving_avg(moving_avg_values *reset);

int append_to_moving_avg(moving_avg_values *value, int appended, bool *isAtEnd);
int append_to_moving_avg(moving_avg_values *value, int32_t appended, bool *isAtEnd);

int get_latest_frame_moving_avg(moving_avg_values *value, int *frame);
int get_latest_frame_moving_avg(moving_avg_values *value, int32_t *frame);

int free_moving_avg(moving_avg_values **value);

Expand Down
14 changes: 6 additions & 8 deletions src/moving_avg_ticker.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@ int precondition_valid_moving_avg_values(moving_avg_values *input) {
if (input->wbuf == NULL) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->wbuf_end < 0) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->wbuf_len <= 0) {
if (input->wbuf_len == 0) {
return MOVING_AVG_INTERNAL_ERROR;
}
if (input->subtotal_size >= input->max_subtotal_size) {
Expand Down Expand Up @@ -77,7 +74,7 @@ int reset_moving_avg(moving_avg_values *reset) {
return MOVING_AVG_SUCCESS;
}

int append_to_moving_avg(moving_avg_values *value, int appended, bool *is_at_end) {
int append_to_moving_avg(moving_avg_values *value, int32_t appended, bool *is_at_end) {
int is_valid_return_value = precondition_valid_moving_avg_values(value);
if (is_valid_return_value != MOVING_AVG_SUCCESS) {
return is_valid_return_value;
Expand All @@ -101,19 +98,20 @@ int append_to_moving_avg(moving_avg_values *value, int appended, bool *is_at_end
return MOVING_AVG_SUCCESS;
}

int get_latest_frame_moving_avg(moving_avg_values *value, int *frame) {
int get_latest_frame_moving_avg(moving_avg_values *value, int32_t *frame) {
int is_valid_return_value = precondition_valid_moving_avg_values(value);
if (is_valid_return_value != MOVING_AVG_SUCCESS) {
return is_valid_return_value;
}

PRECONDITION_NOT_NULL(frame);

// TODO: this can be cleaned up.
float sum = 0;
for (int i = 0; i < value->wbuf_len; ++i) {
for (uint32_t i = 0; i < value->wbuf_len; ++i) {
sum += value->wbuf[i] * 1.0 / value->wbuf_len;
}
*frame = (int)sum;
*frame = (int32_t)sum;
return MOVING_AVG_SUCCESS;
}

Expand Down
10 changes: 5 additions & 5 deletions src/moving_avg_ticker.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ extern "C" {
typedef struct moving_avg_values {
// Circular buffer
uint32_t *wbuf;
int wbuf_end;
int wbuf_len;
uint32_t wbuf_end;
uint32_t wbuf_len;

int subtotal;
int32_t subtotal;
uint32_t subtotal_size;
uint32_t max_subtotal_size;
} moving_avg_values;
Expand All @@ -33,9 +33,9 @@ int allocate_moving_avg(uint32_t num_wbuf, uint32_t subtotal_sizes, moving_avg_v

int reset_moving_avg(moving_avg_values *reset);

int append_to_moving_avg(moving_avg_values *value, int appended, bool *isAtEnd);
int append_to_moving_avg(moving_avg_values *value, int32_t appended, bool *isAtEnd);

int get_latest_frame_moving_avg(moving_avg_values *value, int *frame);
int get_latest_frame_moving_avg(moving_avg_values *value, int32_t *frame);

int free_moving_avg(moving_avg_values **value);

Expand Down