int main(void) { initialisation(); do { //attendre que la minuterie soit expiree ou que le boutton soit relacher } while ( minuterieExpiree == 0); // Une interruption s'est produite. Arreter toute // forme d'interruption. Une seule reponse suffit. cli (); //Faire clignoter la couleur rouge sur un intervalle de 1/2 seconde clignoter(500,RED); //Etteindre la LED et attendre 2 seconde defineColor(NOTHING); _delay_ms(2000); //Faire clignoter la couleur rouge compteur/2 fois avec une frequence de 2 fois par seconde clignoter(RED,compteur/2,2); //Allumer la LED en vert pour une seconde defineColor(GREEN); _delay_ms(1000); //Finalement ettiendre la LED defineColor(NOTHING); return 0; }
//Cette fonction permet de faire clignoter une couleur c fournir un nombre de fois avec une frequence donner void clignoter(color c, uint8_t nb,uint8_t frequence) { for(int i=1; i<=nb; i++) { defineColor(RED); _delay_ms(250); defineColor(NOTHING); _delay_ms(250); } }
//Cette fonction permet de faire clignoter une couleur c fournir , sur un interval de temps k void clignoter(int16_t k, color c) { while(k>=0) { defineColor(c); _delay_ms(25); defineColor(NOTHING); _delay_ms(25); k-=50; } }
void defineDefaultMaterial(renderer::Project* project) { renderer::Assembly *assembly = getMasterAssemblyFromProject(project); MColor gray(0.5f, 0.5f, 0.5f); defineColor(project, "gray", gray, 1.0f); // Create a BRDF called "diffuse_gray_brdf" and insert it into the assembly. assembly->bsdfs().insert( renderer::LambertianBRDFFactory().create( "diffuse_gray_brdf", renderer::ParamArray() .insert("reflectance", "gray"))); // Create a physical surface shader and insert it into the assembly. assembly->surface_shaders().insert( renderer::PhysicalSurfaceShaderFactory().create( "physical_surface_shader", renderer::ParamArray())); // Create a material called "gray_material" and insert it into the assembly. assembly->materials().insert( renderer::GenericMaterialFactory().create( "default", renderer::ParamArray() .insert("surface_shader", "physical_surface_shader") .insert("bsdf", "diffuse_gray_brdf"))); }
// check if a texture is connected to this attribute. If yes, return the texture name, if not define the currentColor and return the color name. MString colorOrMap(renderer::Project* project, MFnDependencyNode& shaderNode, MString& attributeName) { MString definition = defineTexture(shaderNode, attributeName); if (definition.length() == 0) { MColor color = getColorAttr(attributeName.asChar(), shaderNode); defineColor(project, (attributeName + "_color").asChar(), color, 1.0f); definition = attributeName + "_color"; } return definition; }
void setStyles(UserSettings& settings) { const int bg = ::SendMessage(nppData._nppHandle, NPPM_GETEDITORDEFAULTBACKGROUNDCOLOR, 0, 0); settings.colors._default = bg; unsigned int r = bg & 0xFF; unsigned int g = bg >> 8 & 0xFF; unsigned int b = bg >> 16 & 0xFF; int colorShift = 0; if (((r + g + b) / 3) >= 128) colorShift = -30; else colorShift = 30; r = (r + colorShift) & 0xFF; g = (g + colorShift) & 0xFF; b = (b + colorShift) & 0xFF; settings.colors.blank = r | (g << 8) | (b << 16); setCompareView(nppData._scintillaMainHandle); setCompareView(nppData._scintillaSecondHandle); setBlank(nppData._scintillaMainHandle, settings.colors.blank); setBlank(nppData._scintillaSecondHandle, settings.colors.blank); defineColor(MARKER_ADDED_LINE, settings.colors.added); defineColor(MARKER_CHANGED_LINE, settings.colors.changed); defineColor(MARKER_MOVED_LINE, settings.colors.moved); defineColor(MARKER_REMOVED_LINE, settings.colors.deleted); DefineXpmSymbol(MARKER_ADDED_SYMBOL, icon_add_16_xpm); DefineXpmSymbol(MARKER_REMOVED_SYMBOL, icon_sub_16_xpm); DefineXpmSymbol(MARKER_CHANGED_SYMBOL, icon_warning_16_xpm); DefineXpmSymbol(MARKER_MOVED_SYMBOL, icon_moved_16_xpm); setTextStyles(settings.colors); }
/*Cette fonction permet de definir le prochaine d'etat a partir de l'etat present et des entrees( boutton presser ou non). *Ce qui correspoond a une machine de Mealy. */ state stateMachine(state presenteState, bool buttonStatus) { state futurState = presenteState; switch (presenteState) { case INIT: { switch(buttonStatus) { case true: { futurState = STATE1; defineColor(AMBER); break; } case false: { futurState = INIT; defineColor(RED); break; } } break; } case STATE1: { switch(buttonStatus) { case true: { futurState = STATE1; defineColor(AMBER); break; } case false: { futurState = STATE2; defineColor(GREEN); break; } } break; } case STATE2: { switch(buttonStatus) { case true: { futurState = STATE3; defineColor(RED); break; } case false: { futurState = STATE2; defineColor(GREEN); break; } } break; } case STATE3: { switch(buttonStatus) { case true: { futurState = STATE3; defineColor(RED); break; } case false: { futurState = STATE4; defineColor(NOTHING); break; } } break; } case STATE4: { switch(buttonStatus) { case true: { futurState = STATE5; defineColor(GREEN); break; } case false: { futurState = STATE4; defineColor(NOTHING); break; } } break; } case STATE5: { switch(buttonStatus) { case true: { futurState = STATE5; defineColor(GREEN); break; } case false: { futurState = INIT; defineColor(RED); break; } } break; } } return futurState; }
/* *Cette fonction permet de definir le prochaine d'etat a partir de l'etat present et des entrees( boutton presser ou non). *"ce qui correspoond a une machine de Mealy". */ state stateMachine(state presenteState, bool buttonStatus) { state futurState = presenteState; /* * Pour tout les etats (excepte l'etat final), on change d'etat, chaque fois qu'on appuis sur le boutton poussoir. */ switch(presenteState) { case INIT: { switch(buttonStatus) { case true: { futurState = STATE1; defineColor(NOTHING); break; } case false: { futurState = INIT; defineColor(NOTHING); break; } } break; } case STATE1: { switch(buttonStatus) { case true: { futurState = STATE2; defineColor(NOTHING); break; } case false: { futurState = STATE1; defineColor(NOTHING); break; } } break; } case STATE2: { switch(buttonStatus) { case true: { futurState = STATE3; defineColor(NOTHING); break; } case false: { futurState = STATE2; defineColor(NOTHING); break; } } break; } case STATE3: { switch(buttonStatus) { case true: { futurState = STATE4; defineColor(NOTHING); break; } case false: { futurState = STATE3; defineColor(NOTHING); break; } } break; } case STATE4: { switch(buttonStatus) { case true: { futurState = STATE5; defineColor(NOTHING); break; } case false: { futurState = STATE4; defineColor(NOTHING); break; } } break; } case STATE5: { //Une fois cet etat atteint, il n'y a qu'une seule chose a faire : allumer la LED(1s), et retour a l'etat initial futurState = INIT; defineColor(RED); _delay_ms(1000); break; } } return futurState; }