Conventional Alarm Clock
Conventional Alarm Clock
Behavioral Description:
Conventional Alarm Clock
flowchart LR A[Wait 1s] B["seconds = seconds + 1"] C{seconds ≥ 59?} C1["seconds = 0"] D["minutes = minutes + 1"] E{minutes ≥ 59?} E1["minutes = 0"] F["hours = hours + 1"] G{hours ≥ 23?} G1["hours = 0"] A --> B B --> C C -->|No| A C -->|Yes| C1 C1 --> D D --> E E -->|No| A E -->|Yes| E1 E1 --> F F --> G G -->|No| A G -->|Yes| G1 G1 --> A class B,C1,D,E1,F,G1 smallerText classDef smallerText font-size:5px
Conventional Alarm Clock
flowchart LR A[Wait 1s] A1[BUZZ = 0] B{minutes == alarm_minutes?} C{hours == alarm_hours?} D{ALARM_EN == 0?} E[BUZZ = 1] A --> B B -->|Yes| C B -->|No| A1 C --> |Yes| D C --> |No| A1 D -->|Yes| E D -->|No| A1 E --> A A1 --> A
Conventional Alarm Clock
flowchart LR A{SETUP_TIME == 1?} A1{SETUP_ALARM == 1?} A2{SETUP_ALARM == 1?} B{MIN_ADV ⎽⎽/⎺⎺ ?} B1{MIN_ADV ⎽⎽/⎺⎺ ?} C["minutes = minutes + 1"] C1["alarm_minutes = alarm_minutes + 1"] D{HR_ADV ⎽⎽/⎺⎺ ?} D1{HR_ADV ⎽⎽/⎺⎺ ?} E["hours = hours + 1"] E1["alarm_hours = alarm_hours + 1"] A -->|No| A1 A -->|Yes| A2 subgraph alarm [setting alarm] A1 -->|Yes| B1 & D1 A1 -->|No| G["Do Nothing"] B1 --> C1 D1 --> E1 end subgraph time [setting time] A2 -->|No| B & D A2 -->|Yes| F["Not possible"] B -->|No| C D -->|No| E end time & alarm -->|After Operation| A
French Republican Alarm Clock
French Republican Alarm Clock
French Republican Alarm Clock
Behavioral Description
Implementation of a Clock
French Republican Calendar
French Republican Calendar
Behavioral Description
French Republican Calendar
Handling complementary days
year mod 4 = 3
French Republican Calendar
Hint