Commit b6bf9420 authored by Šmelko Adam Mgr.'s avatar Šmelko Adam Mgr.
Browse files

Add recording AS

parent 8381381a
......@@ -39,4 +39,102 @@ void loop() {
writeDigit(4, 3);
delay(5); //ODKOMENTUJ A VYSKUSAJ ZNOVA
}
################################################################
#include "funshield.h"
constexpr int digit_positions = sizeof(digit_muxpos) / sizeof(digit_muxpos[0]);
void writeGlyphBitmask( byte glyph, byte pos_bitmask) {
digitalWrite( latch_pin, LOW);
shiftOut( data_pin, clock_pin, MSBFIRST, glyph);
shiftOut( data_pin, clock_pin, MSBFIRST, pos_bitmask);
digitalWrite( latch_pin, HIGH);
}
void writeGlyphR(byte glyph, int pos)
{
writeGlyphBitmask(glyph, digit_muxpos[digit_positions - pos - 1]);
}
void writeGlyphL(byte glyph, int pos)
{
writeGlyphBitmask(glyph, digit_muxpos[pos]);
}
void writeDigit(int n, int pos)
{
writeGlyphR(digits[n], pos);
}
enum LedState {PRESSED, RELEASED};
class ButtonPresser
{
public:
ButtonPresser(int pin) {
pin_ = pin;
}
bool pressedOnce(bool button_pressed)
{
if (button_pressed == false) {
prev_state_ = RELEASED;
return false;
}
if (prev_state_ == PRESSED && button_pressed)
return false;
prev_state_ = PRESSED;
return true;
}
private:
LedState prev_state_ = RELEASED;
int pin_;
};
int mocniny[] { 1, 10, 100, 1000 };
class Display
{
public:
void set(int cislo)
{
cislo_ = cislo;
}
void loop()
{
int cislica = (cislo_ / mocniny[pozicia_]) % 10;
writeDigit(cislica, pozicia_);
pozicia_++;
pozicia_ %= 4;
}
private:
int cislo_;
int pozicia_ = 0;
};
void setup() {
pinMode(latch_pin, OUTPUT);
pinMode(data_pin, OUTPUT);
pinMode(clock_pin, OUTPUT);
}
constexpr int buttons[] = { button1_pin, button2_pin};
ButtonPresser pressers[] { ButtonPresser(button1_pin), ButtonPresser(button2_pin)};
Display d;
int citac = 0;
void loop() {
// put your main code here, to run repeatedly:
if ( pressers[0].pressedOnce(!digitalRead(buttons[0])))
citac += 1;
if (pressers[1].pressedOnce(!digitalRead(buttons[1])))
citac -= 1;
citac = (citac + 10000) % 10000;
d.set(citac);
d.loop();
//delay(10); ODKOMENTUJ A VYSKUSAJ ZNOVA
}
\ No newline at end of file
......@@ -678,7 +678,7 @@ $(document).ready(function(){
<td class="right">28.4.2021</td>
<td>934 5196 8778</td>
<td><a class="extern" href="https://cesnet.zoom.us/j/93451968778">Join the lab - Šmelko</a></td>
<td>Recorded lab</td>
<td><a class="extern" href="https://web.microsoftstream.com/video/af0de5de-5270-441e-bfb4-59d9f16db224">Recorded lecture</a></td>
</tr>
<tr>
<td class="right">4.5.2021</td>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment