void Return_Task(void) { switch(GetGrapCount()) { case 1: SubMenuFlag(); SubGrapCount(); break; case 2: break; case 3: break; case 4: break; default:break; } SetCounter(1); }
void Sure_Task(void) { switch(GetGrapCount()) { case 1: AddGrapCount(); CLevel1_Sure(); break; case 2: break; case 3: break; case 4: break; default:break; } SetCounter(1); }
void Down_Task(void) { switch(GetGrapCount())//层次 { case 1: AddCounter(); if(GetCounter() > 4) SetCounter(1); GetMainGrap(GetCounter()); break; case 2: Level2_Down(); break; case 3: Level3_Down(); break; case 4: Level4_Down(); break; default:break; } }
void Up_Task(void) { switch(GetGrapCount())//层次 { case 1: if(GetCounter() > 1) SubCounter(); else SetCounter(4); GetMainGrap(GetCounter()); break; case 2: Level2_Up(); break; case 3: Level3_Up(); break; case 4: Level4_Up(); break; default:break; } }
void CEnvHudCounter::InputSetCounter( inputdata_t &inputdata ) { SetCounter( inputdata.value.Float() ); m_OnCounterSet.FireOutput( this, this ); }
void UserInfo::IncCounter(const std::string &word, user_counter_t type, ptrdiff_t value) { std::vector<ptrdiff_t> counters = GetCounters(word); SetCounter(word, type, counters[type] + value); }
int _WDOGBitTest(unsigned base,unsigned irqnum,int df) { //non debug code is taken from pwdg-csm sample1 int i; float Tmp; unsigned long int timeout = 4000000; int aborted; ADDRESS = base;//set global ADDRESS for ISR textcolor(LIGHTGRAY); IntroScreen(); getch(); puts("Press any key to stop test"); inportb(base+4); //clear any potentially pending interrupts //initirq(irqnum,setintflag); //initialize the irq SetCounter(); //initialize counter inportb(base+4); //clear any potentially pending interrupts outportb(base+7,0); //enable counters if(df){ //loops until keypressed in debug mode delay(50); textcolor(LIGHTGRAY); cprintf("Bit Value Status Register\n\r"); for(i = 0;!kbhit(); i++){ inportb(base+4);//clear pending interrupts so it won't lockup delay(100); CtrMode(base,1,2); //set counter 1 to mode 2 CtrLoad(base,1,0x0050); //load counter 1 with 20 hex printf("Updating counter 1, Loop number %3d\n",i); byte = inportb(base+4); printf("\nValue in status register: %x\n",byte); if ((byte & 1)==1) cprintf("1 Watchdog OK \n\r"); else cprintf("0 Watchdog timed out\n\r"); if ((byte & 2)==2) cprintf("1 Temperature OK \n\r"); else cprintf("0 Temperature above 120 F\n\r"); if ((byte & 4)==4) cprintf("1 5VDC on input #1\n\r"); else cprintf("0 0VDC on input #1\n\r"); if ((byte & 8)==8) cprintf("1 5VDC on input #0\n\r"); else cprintf("0 0VDC on input #0\n\r"); if ((byte & 16)==16) cprintf("1 Fan good \n\r"); else cprintf("0 Fan speed out of range \n\r"); if ((byte & 32)==32) cprintf("1 Voltage supplies OK \n\r"); else cprintf("0 One of three supplies high\n\r"); if ((byte & 64)==64) cprintf("1 Voltage supplies OK \n\r"); else cprintf("0 One of three supplies low\n\r"); if ((byte & 128)==128) cprintf("1 Interrupt \n\r"); else cprintf("0 No interrupt\n\r"); Tmp = (inportb(base+5) * (11.0 / 15.0)) + 7;//calculate temp printf("Temperature inside computer: %5.1f\n", Tmp); gotoxy(wherex(),wherey()-12); } getch();//get keypressed } if(!df){ for(i = 0;i<=100; i++){ delay(100); textcolor(LIGHTGRAY); CtrMode(base,1,2); //set counter 1 to mode 2 CtrLoad(base,1,0x0020); //load counter 1 with 50 hex printf("Updating counter 1, Loop number %3d\n",i); byte = inportb(base+4); printf("\nValue in status register: %x\n",byte); if ((byte & 1)==1) cprintf("1 Watchdog OK \n\r"); else cprintf("0 Watchdog timed out\n\r"); if ((byte & 2)==2) cprintf("1 Temperature OK \n\r"); else cprintf("0 Temperature above 120 F\n\r"); if ((byte & 4)==4) cprintf("1 5VDC on input #1\n\r"); else cprintf("0 0VDC on input #1\n\r"); if ((byte & 8)==8) cprintf("1 5VDC on input #0\n\r"); else cprintf("0 0VDC on input #0\n\r"); if ((byte & 16)==16) cprintf("1 Fan good \n\r"); else cprintf("0 Fan speed out of range \n\r"); if ((byte & 32)==32) cprintf("1 Voltage supplies OK \n\r"); else cprintf("0 One of three supplies high\n\r"); if ((byte & 64)==64) cprintf("1 Voltage supplies OK \n\r"); else cprintf("0 One of three supplies low\n\r"); if ((byte & 128)==128) cprintf("1 Interrupt \n\r"); else cprintf("0 No interrupt\n\r"); Tmp = (inportb(base+5) * (11.0 / 15.0)) + 7;//calculate temp printf("Temperature inside computer: %5.1f\n", Tmp); gotoxy(wherex(),wherey()-12); } } gotoxy(wherex(),wherey()+11); printf("\nWaiting for timeout\n"); while((byte=(inportb(base+4) & 1)) == 1); if((byte & 1)==1) puts("Watchdog did not time out"); else puts("Watchdog timed out"); byte=inportb(base+4);//read register printf("\nValue in status register: %x\n",byte);//print inportb(base+4) from ISR delay(200); if (df) {puts("Press any key to turn off reset and exit");getch();} puts("Exiting test! "); inportb(base+7); //disable counters delay(100); CtrMode(ADDRESS, 2, 0); // set counter 2 to mode 0 outportb(base + 5,0); //turn off buzzer delay(100); outportb(base + 6,0); //restoreirq(irqnum); return 0; }
OP_STATUS Counter::AddCounterValues(OpString& counter_str, HTML_Element* element, const uni_char* delimiter, unsigned int delimiter_length, short style_type, BOOL add_only) { CounterElement* counter_element; if (add_only) { counter_element = (CounterElement*) list.Last(); if (counter_element && (counter_element->GetElement() != element || counter_element->GetType() != COUNTER_USE)) counter_element = NULL; } else { BOOL found = FALSE; for (counter_element = (CounterElement*) list.First(); counter_element; counter_element = counter_element->Suc()) if (counter_element->GetElement() == element) { if (counter_element->GetType() == COUNTER_USE) break; found = TRUE; } else if (found) { counter_element = NULL; break; } } if (!counter_element) { counter_element = SetCounter(element, COUNTER_USE, 0, add_only); if (!counter_element) return OpStatus::ERR_NO_MEMORY; ((CounterElement*)list.First())->Recalculate(NULL, NULL, 0); } /* Buffer for sending strings into ContentGenerator::AddString(). */ uni_char tmp_buf[TMPSTRING_SIZE]; /* ARRAY OK 2009-05-11 davve */ if (delimiter) { /* If delimiter is set (even if it empty), we should add the complete chain of counters. */ int prev_value = 0; HTML_Element* prev_counter_root = NULL; for (CounterElement* c_element = (CounterElement*) list.First(); c_element; c_element = c_element->Suc()) { if (prev_counter_root && c_element->GetType() == COUNTER_RESET && !c_element->GetElement()->IsAncestorOf(element)) { HTML_Element* this_counter_root = c_element->GetElement(); for (c_element = c_element->Suc(); c_element; c_element = c_element->Suc()) if (!this_counter_root->IsAncestorOf(c_element->GetElement())) break; if (!c_element) break; } if (c_element->GetType() == COUNTER_RESET) { if (prev_counter_root && (!prev_counter_root->Parent() || prev_counter_root->Parent()->IsAncestorOf(element))) { MakeListNumberStr(prev_value, style_type, NULL, tmp_buf, TMPSTRING_SIZE-1); //FIXME rtl? RETURN_IF_ERROR(counter_str.Append(tmp_buf)); // add delimiter if (delimiter_length) RETURN_IF_ERROR(counter_str.Append(delimiter, delimiter_length)); } prev_counter_root = c_element->GetElement(); if (prev_counter_root->GetIsPseudoElement()) prev_counter_root = prev_counter_root->Parent(); } else if (!prev_counter_root) { prev_counter_root = c_element->GetElement(); if (prev_counter_root->GetIsPseudoElement()) prev_counter_root = prev_counter_root->Parent(); } if (c_element->GetType() == COUNTER_INCREMENT) prev_value += c_element->GetValue(); else prev_value = c_element->GetValue(); } } MakeListNumberStr(counter_element->GetValue(), style_type, NULL, tmp_buf, TMPSTRING_SIZE-1); //FIXME rtl? return counter_str.Append(tmp_buf); }