SimpleLib_03272011

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers colors.h Source File

colors.h

00001 /*
00002 * Copyright or � or Copr. 2010, Thomas SOETE
00003 * 
00004 *    MODIFIED BY J.P. ARMSTRONG FROM WWW.MBEDGC.COM
00005 *
00006 * Author e-mail: thomas@soete.org
00007 * Library website : http://mbed.org/users/Alkorin/libraries/SimpleLib/
00008 * 
00009 * This software is governed by the CeCILL license under French law and
00010 * abiding by the rules of distribution of free software.  You can  use, 
00011 * modify and/ or redistribute the software under the terms of the CeCILL
00012 * license as circulated by CEA, CNRS and INRIA at the following URL
00013 * "http://www.cecill.info". 
00014 * 
00015 * As a counterpart to the access to the source code and  rights to copy,
00016 * modify and redistribute granted by the license, users are provided only
00017 * with a limited warranty  and the software's author,  the holder of the
00018 * economic rights,  and the successive licensors  have only  limited
00019 * liability. 
00020 * 
00021 * In this respect, the user's attention is drawn to the risks associated
00022 * with loading,  using,  modifying and/or developing or reproducing the
00023 * software by the user in light of its specific status of free software,
00024 * that may mean  that it is complicated to manipulate,  and  that  also
00025 * therefore means  that it is reserved for developers  and  experienced
00026 * professionals having in-depth computer knowledge. Users are therefore
00027 * encouraged to load and test the software's suitability as regards their
00028 * requirements in conditions enabling the security of their systems and/or 
00029 * data to be ensured and,  more generally, to use and operate it in the 
00030 * same conditions as regards security. 
00031 * 
00032 * The fact that you are presently reading this means that you have had
00033 * knowledge of the CeCILL license and that you accept its terms.
00034 */
00035 
00036 #ifndef __SIMPLELIB_LEDS_H__
00037 #define __SIMPLELIB_LEDS_H__
00038 
00039 #include "mbed_globals.h"
00040 
00041 /** Bits **/
00042 #define COLOR_OFF 0
00043 #define RED1 (1 << 16)
00044 #define RED2 (1 << 23)
00045 #define RED3 (1 << 24)
00046 #define GRN1 (1 << 25)
00047 #define GRN2 (1 << 9)
00048 #define GRN3 (1 << 8)
00049 
00050 #define BLU1 (1 << 7)
00051 #define BLU2 (1 << 6)
00052 
00053 #define COLOR_MASK ( RED1 | RED2 | RED3 | GRN1 | GRN2 | GRN3 | BLU1 | BLU2 )
00054 
00055 const uint32_t COLOR_VAR_MASK[] = {
00056     RED1, 
00057     RED2, 
00058     RED1|RED2, 
00059     RED3, 
00060     RED1|RED3, 
00061     RED2|RED3, 
00062     RED1|RED2|RED3, 
00063     GRN1, 
00064     RED1|GRN1, 
00065     RED2|GRN1, 
00066     RED1|RED2|GRN1, 
00067     RED3|GRN1, 
00068     RED1|RED3|GRN1, 
00069     RED2|RED3|GRN1, 
00070     RED1|RED2|RED3|GRN1, 
00071     GRN2, 
00072     RED1|GRN2, 
00073     RED2|GRN2, 
00074     RED1|RED2|GRN2, 
00075     RED3|GRN2, 
00076     RED1|RED3|GRN2, 
00077     RED2|RED3|GRN2, 
00078     RED1|RED2|RED3|GRN2, 
00079     GRN1|GRN2, 
00080     RED1|GRN1|GRN2, 
00081     RED2|GRN1|GRN2, 
00082     RED1|RED2|GRN1|GRN2, 
00083     RED3|GRN1|GRN2, 
00084     RED1|RED3|GRN1|GRN2, 
00085     RED2|RED3|GRN1|GRN2, 
00086     RED1|RED2|RED3|GRN1|GRN2, 
00087     GRN3, 
00088     RED1|GRN3, 
00089     RED2|GRN3, 
00090     RED1|RED2|GRN3, 
00091     RED3|GRN3, 
00092     RED1|RED3|GRN3, 
00093     RED2|RED3|GRN3, 
00094     RED1|RED2|RED3|GRN3, 
00095     GRN1|GRN3, 
00096     RED1|GRN1|GRN3, 
00097     RED2|GRN1|GRN3, 
00098     RED1|RED2|GRN1|GRN3, 
00099     RED3|GRN1|GRN3, 
00100     RED1|RED3|GRN1|GRN3, 
00101     RED2|RED3|GRN1|GRN3, 
00102     RED1|RED2|RED3|GRN1|GRN3, 
00103     GRN2|GRN3, 
00104     RED1|GRN2|GRN3, 
00105     RED2|GRN2|GRN3, 
00106     RED1|RED2|GRN2|GRN3, 
00107     RED3|GRN2|GRN3, 
00108     RED1|RED3|GRN2|GRN3, 
00109     RED2|RED3|GRN2|GRN3, 
00110     RED1|RED2|RED3|GRN2|GRN3, 
00111     GRN1|GRN2|GRN3, 
00112     RED1|GRN1|GRN2|GRN3, 
00113     RED2|GRN1|GRN2|GRN3, 
00114     RED1|RED2|GRN1|GRN2|GRN3, 
00115     RED3|GRN1|GRN2|GRN3, 
00116     RED1|RED3|GRN1|GRN2|GRN3, 
00117     RED2|RED3|GRN1|GRN2|GRN3, 
00118     RED1|RED2|RED3|GRN1|GRN2|GRN3, 
00119     BLU1, 
00120     RED1|BLU1, 
00121     RED2|BLU1, 
00122     RED1|RED2|BLU1, 
00123     RED3|BLU1, 
00124     RED1|RED3|BLU1, 
00125     RED2|RED3|BLU1, 
00126     RED1|RED2|RED3|BLU1, 
00127     GRN1|BLU1, 
00128     RED1|GRN1|BLU1, 
00129     RED2|GRN1|BLU1, 
00130     RED1|RED2|GRN1|BLU1, 
00131     RED3|GRN1|BLU1, 
00132     RED1|RED3|GRN1|BLU1, 
00133     RED2|RED3|GRN1|BLU1, 
00134     RED1|RED2|RED3|GRN1|BLU1, 
00135     GRN2|BLU1, 
00136     RED1|GRN2|BLU1, 
00137     RED2|GRN2|BLU1, 
00138     RED1|RED2|GRN2|BLU1, 
00139     RED3|GRN2|BLU1, 
00140     RED1|RED3|GRN2|BLU1, 
00141     RED2|RED3|GRN2|BLU1, 
00142     RED1|RED2|RED3|GRN2|BLU1, 
00143     GRN1|GRN2|BLU1, 
00144     RED1|GRN1|GRN2|BLU1, 
00145     RED2|GRN1|GRN2|BLU1, 
00146     RED1|RED2|GRN1|GRN2|BLU1, 
00147     RED3|GRN1|GRN2|BLU1, 
00148     RED1|RED3|GRN1|GRN2|BLU1, 
00149     RED2|RED3|GRN1|GRN2|BLU1, 
00150     RED1|RED2|RED3|GRN1|GRN2|BLU1, 
00151     GRN3|BLU1, 
00152     RED1|GRN3|BLU1, 
00153     RED2|GRN3|BLU1, 
00154     RED1|RED2|GRN3|BLU1, 
00155     RED3|GRN3|BLU1, 
00156     RED1|RED3|GRN3|BLU1, 
00157     RED2|RED3|GRN3|BLU1, 
00158     RED1|RED2|RED3|GRN3|BLU1, 
00159     GRN1|GRN3|BLU1, 
00160     RED1|GRN1|GRN3|BLU1, 
00161     RED2|GRN1|GRN3|BLU1, 
00162     RED1|RED2|GRN1|GRN3|BLU1, 
00163     RED3|GRN1|GRN3|BLU1, 
00164     RED1|RED3|GRN1|GRN3|BLU1, 
00165     RED2|RED3|GRN1|GRN3|BLU1, 
00166     RED1|RED2|RED3|GRN1|GRN3|BLU1, 
00167     GRN2|GRN3|BLU1, 
00168     RED1|GRN2|GRN3|BLU1, 
00169     RED2|GRN2|GRN3|BLU1, 
00170     RED1|RED2|GRN2|GRN3|BLU1, 
00171     RED3|GRN2|GRN3|BLU1, 
00172     RED1|RED3|GRN2|GRN3|BLU1, 
00173     RED2|RED3|GRN2|GRN3|BLU1, 
00174     RED1|RED2|RED3|GRN2|GRN3|BLU1, 
00175     GRN1|GRN2|GRN3|BLU1, 
00176     RED1|GRN1|GRN2|GRN3|BLU1, 
00177     RED2|GRN1|GRN2|GRN3|BLU1, 
00178     RED1|RED2|GRN1|GRN2|GRN3|BLU1, 
00179     RED3|GRN1|GRN2|GRN3|BLU1, 
00180     RED1|RED3|GRN1|GRN2|GRN3|BLU1, 
00181     RED2|RED3|GRN1|GRN2|GRN3|BLU1, 
00182     RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU1, 
00183     BLU2, 
00184     RED1|BLU2, 
00185     RED2|BLU2, 
00186     RED1|RED2|BLU2, 
00187     RED3|BLU2, 
00188     RED1|RED3|BLU2, 
00189     RED2|RED3|BLU2, 
00190     RED1|RED2|RED3|BLU2, 
00191     GRN1|BLU2, 
00192     RED1|GRN1|BLU2, 
00193     RED2|GRN1|BLU2, 
00194     RED1|RED2|GRN1|BLU2, 
00195     RED3|GRN1|BLU2, 
00196     RED1|RED3|GRN1|BLU2, 
00197     RED2|RED3|GRN1|BLU2, 
00198     RED1|RED2|RED3|GRN1|BLU2, 
00199     GRN2|BLU2, 
00200     RED1|GRN2|BLU2, 
00201     RED2|GRN2|BLU2, 
00202     RED1|RED2|GRN2|BLU2, 
00203     RED3|GRN2|BLU2, 
00204     RED1|RED3|GRN2|BLU2, 
00205     RED2|RED3|GRN2|BLU2, 
00206     RED1|RED2|RED3|GRN2|BLU2, 
00207     GRN1|GRN2|BLU2, 
00208     RED1|GRN1|GRN2|BLU2, 
00209     RED2|GRN1|GRN2|BLU2, 
00210     RED1|RED2|GRN1|GRN2|BLU2, 
00211     RED3|GRN1|GRN2|BLU2, 
00212     RED1|RED3|GRN1|GRN2|BLU2, 
00213     RED2|RED3|GRN1|GRN2|BLU2, 
00214     RED1|RED2|RED3|GRN1|GRN2|BLU2, 
00215     GRN3|BLU2, 
00216     RED1|GRN3|BLU2, 
00217     RED2|GRN3|BLU2, 
00218     RED1|RED2|GRN3|BLU2, 
00219     RED3|GRN3|BLU2, 
00220     RED1|RED3|GRN3|BLU2, 
00221     RED2|RED3|GRN3|BLU2, 
00222     RED1|RED2|RED3|GRN3|BLU2, 
00223     GRN1|GRN3|BLU2, 
00224     RED1|GRN1|GRN3|BLU2, 
00225     RED2|GRN1|GRN3|BLU2, 
00226     RED1|RED2|GRN1|GRN3|BLU2, 
00227     RED3|GRN1|GRN3|BLU2, 
00228     RED1|RED3|GRN1|GRN3|BLU2, 
00229     RED2|RED3|GRN1|GRN3|BLU2, 
00230     RED1|RED2|RED3|GRN1|GRN3|BLU2, 
00231     GRN2|GRN3|BLU2, 
00232     RED1|GRN2|GRN3|BLU2, 
00233     RED2|GRN2|GRN3|BLU2, 
00234     RED1|RED2|GRN2|GRN3|BLU2, 
00235     RED3|GRN2|GRN3|BLU2, 
00236     RED1|RED3|GRN2|GRN3|BLU2, 
00237     RED2|RED3|GRN2|GRN3|BLU2, 
00238     RED1|RED2|RED3|GRN2|GRN3|BLU2, 
00239     GRN1|GRN2|GRN3|BLU2, 
00240     RED1|GRN1|GRN2|GRN3|BLU2, 
00241     RED2|GRN1|GRN2|GRN3|BLU2, 
00242     RED1|RED2|GRN1|GRN2|GRN3|BLU2, 
00243     RED3|GRN1|GRN2|GRN3|BLU2, 
00244     RED1|RED3|GRN1|GRN2|GRN3|BLU2, 
00245     RED2|RED3|GRN1|GRN2|GRN3|BLU2, 
00246     RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU2, 
00247     BLU1|BLU2, 
00248     RED1|BLU1|BLU2, 
00249     RED2|BLU1|BLU2, 
00250     RED1|RED2|BLU1|BLU2, 
00251     RED3|BLU1|BLU2, 
00252     RED1|RED3|BLU1|BLU2, 
00253     RED2|RED3|BLU1|BLU2, 
00254     RED1|RED2|RED3|BLU1|BLU2, 
00255     GRN1|BLU1|BLU2, 
00256     RED1|GRN1|BLU1|BLU2, 
00257     RED2|GRN1|BLU1|BLU2, 
00258     RED1|RED2|GRN1|BLU1|BLU2, 
00259     RED3|GRN1|BLU1|BLU2, 
00260     RED1|RED3|GRN1|BLU1|BLU2, 
00261     RED2|RED3|GRN1|BLU1|BLU2, 
00262     RED1|RED2|RED3|GRN1|BLU1|BLU2, 
00263     GRN2|BLU1|BLU2, 
00264     RED1|GRN2|BLU1|BLU2, 
00265     RED2|GRN2|BLU1|BLU2, 
00266     RED1|RED2|GRN2|BLU1|BLU2, 
00267     RED3|GRN2|BLU1|BLU2, 
00268     RED1|RED3|GRN2|BLU1|BLU2, 
00269     RED2|RED3|GRN2|BLU1|BLU2, 
00270     RED1|RED2|RED3|GRN2|BLU1|BLU2, 
00271     GRN1|GRN2|BLU1|BLU2, 
00272     RED1|GRN1|GRN2|BLU1|BLU2, 
00273     RED2|GRN1|GRN2|BLU1|BLU2, 
00274     RED1|RED2|GRN1|GRN2|BLU1|BLU2, 
00275     RED3|GRN1|GRN2|BLU1|BLU2, 
00276     RED1|RED3|GRN1|GRN2|BLU1|BLU2, 
00277     RED2|RED3|GRN1|GRN2|BLU1|BLU2, 
00278     RED1|RED2|RED3|GRN1|GRN2|BLU1|BLU2, 
00279     GRN3|BLU1|BLU2, 
00280     RED1|GRN3|BLU1|BLU2, 
00281     RED2|GRN3|BLU1|BLU2, 
00282     RED1|RED2|GRN3|BLU1|BLU2, 
00283     RED3|GRN3|BLU1|BLU2, 
00284     RED1|RED3|GRN3|BLU1|BLU2, 
00285     RED2|RED3|GRN3|BLU1|BLU2, 
00286     RED1|RED2|RED3|GRN3|BLU1|BLU2, 
00287     GRN1|GRN3|BLU1|BLU2, 
00288     RED1|GRN1|GRN3|BLU1|BLU2, 
00289     RED2|GRN1|GRN3|BLU1|BLU2, 
00290     RED1|RED2|GRN1|GRN3|BLU1|BLU2, 
00291     RED3|GRN1|GRN3|BLU1|BLU2, 
00292     RED1|RED3|GRN1|GRN3|BLU1|BLU2, 
00293     RED2|RED3|GRN1|GRN3|BLU1|BLU2, 
00294     RED1|RED2|RED3|GRN1|GRN3|BLU1|BLU2, 
00295     GRN2|GRN3|BLU1|BLU2, 
00296     RED1|GRN2|GRN3|BLU1|BLU2, 
00297     RED2|GRN2|GRN3|BLU1|BLU2, 
00298     RED1|RED2|GRN2|GRN3|BLU1|BLU2, 
00299     RED3|GRN2|GRN3|BLU1|BLU2, 
00300     RED1|RED3|GRN2|GRN3|BLU1|BLU2, 
00301     RED2|RED3|GRN2|GRN3|BLU1|BLU2, 
00302     RED1|RED2|RED3|GRN2|GRN3|BLU1|BLU2, 
00303     GRN1|GRN2|GRN3|BLU1|BLU2, 
00304     RED1|GRN1|GRN2|GRN3|BLU1|BLU2, 
00305     RED2|GRN1|GRN2|GRN3|BLU1|BLU2, 
00306     RED1|RED2|GRN1|GRN2|GRN3|BLU1|BLU2, 
00307     RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
00308     RED1|RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
00309     RED2|RED3|GRN1|GRN2|GRN3|BLU1|BLU2, 
00310     RED1|RED2|RED3|GRN1|GRN2|GRN3|BLU1|BLU2
00311 };
00312 
00313 /** Macros **/
00314 #define COLOR_INIT()     LPC_GPIO0->FIODIR |= COLOR_MASK;
00315 
00316 #define COLOR_SET(value) do\
00317 {\
00318     LPC_GPIO0->FIOCLR = COLOR_MASK;\
00319     LPC_GPIO0->FIOSET = COLOR_VAR_MASK[value];\
00320 } while(0);
00321 /* LPC_GPIO0->FIOMASK = ~COLOR_MASK; \
00322     LPC_GPIO0->FIOPIN = COLOR_VAR_MASK[value];\
00323     */
00324 #endif