// For Single Digits with Error and Neutral Displays void redrawGearPos(screenItemInfo * item, volatile dataItem * data, double currentValue){ if(data->value == currentValue){ return; } fillRect(item->x, item->y, item->size, item->size * 1.75, backgroundColor); if(data->value == 0){ sevenSegment(item->x, item->y, item->size, foregroundColor, SEVEN_SEG_N); } else if(data->value == 7){ sevenSegment(item->x, item->y, item->size, foregroundColor, SEVEN_SEG_E); } else{ sevenSegmentDigit(item->x, item->y, item->size, foregroundColor, data->value); } }
void pocketcalculator(std::istream &in, std::ostream &out) { std::stringstream result; unsigned scale{3}; while (in) { result = calc(in); if(!in.eof()) { sevenSegment(result, scale, out); } } }
int main(void) { //Makes PORTB as Output DDRB = 0xFF; //-----Event Loop----- while(1) { for (int i=0;i<10;i++) { segOff(); sevenSegment(i); _delay_ms(100); } } }