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.
RGBLed.c
00001 #include "RGBLed.h" 00002 00003 RGBLed::RGBLed() : red(p23), green(p22), blue(p21) { 00004 red.period(0.001); 00005 green.period(0.001); 00006 blue.period(0.001); 00007 00008 setRgb(0.1, 0.1, 0.1); 00009 } 00010 00011 void RGBLed::setRgb(char *rgb) { 00012 float r, g, b; 00013 int value; 00014 00015 value= parseHex(0, *rgb++); 00016 value= parseHex(value, *rgb++); 00017 r= value / 255.0f; 00018 00019 value= parseHex(0, *rgb++); 00020 value= parseHex(value, *rgb++); 00021 g= value / 255.0f; 00022 00023 value= parseHex(0, *rgb++); 00024 value= parseHex(value, *rgb++); 00025 b= value / 255.0f; 00026 00027 setRgb(r, g, b); 00028 } 00029 00030 void RGBLed::setRgb(float r, float g, float b) { 00031 red= 1.0 - r; 00032 green= 1.0 - g; 00033 blue= 1.0 - b; 00034 00035 //printf("red:%0.3f green:%0.3f blue%0.3f\n", r, g, b); 00036 } 00037 00038 int RGBLed::parseHex(int value, char hex) { 00039 switch (hex) { 00040 case '0': 00041 return value<<4; 00042 case '1': 00043 return value<<4 | 1; 00044 case '2': 00045 return value<<4 | 2; 00046 case '3': 00047 return value<<4 | 3; 00048 case '4': 00049 return value<<4 | 4; 00050 case '5': 00051 return value<<4 | 5; 00052 case '6': 00053 return value<<4 | 6; 00054 case '7': 00055 return value<<4 | 7; 00056 case '8': 00057 return value<<4 | 8; 00058 case '9': 00059 return value<<4 | 9; 00060 case 'A': 00061 case 'a': 00062 return value<<4 | 10; 00063 case 'B': 00064 case 'b': 00065 return value<<4 | 11; 00066 case 'C': 00067 case 'c': 00068 return value<<4 | 12; 00069 case 'D': 00070 case 'd': 00071 return value<<4 | 13; 00072 case 'E': 00073 case 'e': 00074 return value<<4 | 14; 00075 case 'F': 00076 case 'f': 00077 return value<<4 | 15; 00078 default: 00079 return value; 00080 } 00081 }
Generated on Wed Jul 13 2022 23:42:34 by
1.7.2