Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: main.cpp
- Revision:
- 8:09efa61ef52c
- Parent:
- 6:baece3338bfe
- Child:
- 9:2f23704d4a47
--- a/main.cpp Fri May 01 06:46:08 2015 +0000
+++ b/main.cpp Mon May 11 19:08:56 2015 +0000
@@ -174,9 +174,10 @@
void animate(){
- if(display_mode == 1)
+ if(display_mode == 0)
{
set_hfunc(&wave_height);
+ freq = 4;
for(int i = 3; i < WIDTH; i++){
draw_circle(i, 4);
@@ -187,7 +188,7 @@
freq_disp = 0.0;
}
}
- else if(display_mode == 2)
+ else if(display_mode == 1)
{
set_hfunc(NULL);
draw_line(10, 10, 0, 10, -10, 0);
@@ -204,50 +205,25 @@
draw_line(10, -10, 0, 10, -10, 7);
draw_line(-10, -10, 0, -10, -10, 7);
draw_line(-10, 10, 0, -10, 10, 7);
+
+ draw_line(5, 5, 2, 5, -5, 2);
+ draw_line(5, -5, 2, -5, -5, 2);
+ draw_line(-5, -5, 2, -5, 5, 2);
+ draw_line(-5, 5, 2, 5, 5, 2);
+
+ draw_line(5, 5, 5, 5, -5, 5);
+ draw_line(5, -5, 5, -5, -5, 5);
+ draw_line(-5, -5, 5, -5, 5, 5);
+ draw_line(-5, 5, 5, 5, 5, 5);
+
+ draw_line(5, 5, 2, 5, 5, 5);
+ draw_line(5, -5, 2, 5, -5, 5);
+ draw_line(-5, -5, 2, -5, -5, 5);
+ draw_line(-5, 5, 2, -5, 5, 5);
}
- else if(display_mode == 3)
- {
- int g = 4;
- static bool init = false;
- static int towers[4][4];
-
- if(!init){
- set_hfunc(NULL);
- srand(time(NULL));
-
- for(int i = 0; i < g; i++){
- for(int j = 0; j < g; j++){
- towers[i][j] = rand() % HEIGHT;
- }
- }
- init = true;
- }
-
- int f = WIDTH / g;
-
- for(int i = -g; i < g; i++){
- for(int j = -g; j < g; j++){
- int h = towers[i + g][j + g];
-
- draw_line(i*f, j*f, 0, i*f, j*f + f, 0);
- draw_line(i*f, j*f + f, 0, i*f + f, j*f + f, 0);
- draw_line(i*f + f, j*f + f, 0, i*f + f, j*f, 0);
- draw_line(i*f + f, j*f, 0, i*f, j*f, 0);
-
- draw_line(i*f, j*f, 0, i*f, j*f, h);
- draw_line(i*f + f, j*f, 0, i*f + f, j*f, h);
- draw_line(i*f, j*f + f, 0, i*f, j*f + f, h);
- draw_line(i*f + f, j*f + f, 0, i*f + f, j*f + f, h);
-
- draw_line(i*f, j*f, h, i*f, j*f + f, h);
- draw_line(i*f, j*f + f, h, i*f + f, j*f + f, h);
- draw_line(i*f + f, j*f + f, h, i*f + f, j*f, h);
- draw_line(i*f + f, j*f, h, i*f, j*f, h);
- }
- }
-
- } else if(display_mode == 4){
+
+ else if(display_mode == 2){
freq = 1.5;
set_hfunc(&wave_height);
@@ -271,13 +247,20 @@
animate_i = true;
}
+Ticker switch_ticker;
+
+void switch_mode(){
+ display_mode = (display_mode + 1) % 3;
+}
+
int main (void)
{
display_mode = 4;
InterruptIn hall_pin(p25);
hall_pin.fall(&rotate_sense);
- animate_ticker.attach(&animate_int, 3.0);
+ animate_ticker.attach(&animate_int, 1.0);
+ switch_ticker.attach(&switch_mode, 15.0);
uint8_t channel = 2;