Go Down

Topic: Constrain Utility. Making constrained variables. (Read 1 time) previous topic - next topic

AlphaBeta

Apr 22, 2009, 02:15 am Last Edit: Apr 22, 2009, 02:17 am by AlphaBeta Reason: 1
I've made a new utility called Constrain. It is inspired by this post.

This will help creating variables that are constrained throughout the program. (At least throughout the scope of the variable.)

[size=14]Example Sketch:[/size]
Quote


/*
||
|| @author Alexander Brevig
|| @versin 1.0 Beta
||
*/

#include <Constrain.h>

Constrained<float> constrainedFloat( 0.2 , 0.0 , 1.0 );
Constrained<byte> constrainedByte( 2 , 0 , 10 );

void setup(){
 Serial.begin(9800);
 Serial.println("We have two constrained variables. \n\tThe first is a float, constrained to be within [0,1].\n\tThe other is a byte that is constrained to be within [0,10]");
 Serial.println("Setting the variables to 0");
 //set/reset the variable
 constrainedByte = 0;
 constrainedFloat = 0;
 Serial.println("Trying to make the variables exceed the constraint");
 for(byte i=0; i<12; i++){
   Serial.print(constrainedFloat.value); //access value
   Serial.print(" ");
   Serial.println(constrainedByte.value,DEC);
   constrainedFloat += 0.1;
   constrainedByte++;
 }
 Serial.println("Trying to make the variables go below the constraint");
 for(byte i=0; i<12; i++){
   Serial.print(constrainedFloat.value);
   Serial.print(" ");
   Serial.println(constrainedByte.value,DEC);
   constrainedFloat -= 0.1;
   constrainedByte--;
 }
}

void loop(){}



[size=14]Example Serial Output:[/size]
Quote
We have two constrained variables.
     The first is a float, constrained to be within [0,1].
     The other is a byte that is constrained to be within [0,10]
Setting the variables to 0
Trying to make the variables exceed the constraint
0.00 0
0.10 1
0.20 2
0.30 3
0.40 4
0.50 5
0.60 6
0.70 7
0.80 8
0.90 9
1.00 10
1.00 10
Trying to make the variables go below the constraint
1.00 10
0.90 9
0.80 8
0.70 7
0.60 6
0.50 5
0.40 4
0.30 3
0.20 2
0.10 1
0.00 0
0.00 0

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy