 	return (digitalRead(BUTTON2_PIN) == LOW);
 }
 
-const char *str_bill_5 = "5";
-const char *str_bill_10 = "10";
-const char *str_bill_20 = "20";
-const char *str_bill_50 = "50";
+static uint8_t button3_pressed(void) {
+	return (digitalRead(BUTTON3_PIN) == LOW);
+}
+
+static uint8_t button4_pressed(void) {
+	return (digitalRead(BUTTON4_PIN) == LOW);
+}
+
+struct bill {
+	uint8_t done;
+	const char *msg;
+};
+
+struct {
+	bill b20;
+	bill b5;
+	bill b10;
+	bill b50;
+} bills = {
+	{0, "20"},
+	{0, "5"},
+	{0, "10"},
+	{0, "50"},
+};
 
 void setup() {
 #	ifdef DEBUG

	Serial.println("Initializing radio");
#	endif

	pinMode(LED1_PIN, OUTPUT);
	pinMode(BUTTON1_PIN, INPUT_PULLUP);
	pinMode(BUTTON2_PIN, INPUT_PULLUP);

	led1_off();

	if (!radio.init()) {
#		ifdef DEBUG
		Serial.println("Init failed");
#		endif
		led1_on();
		die();
	}
}

void loop() {
	if (button1_pressed()) {
		for (uint8_t i = 0; i < 3; i++) {
			radio.send((uint8_t *) str_bill_5, strlen(str_bill_5));
			radio.waitPacketSent();
		}
		led1_on();
		delay(200);
		led1_off();
	} else if (button2_pressed()) {
		for (uint8_t i = 0; i < 3; i++) {
			radio.send((uint8_t *) str_bill_10, strlen(str_bill_10));
			radio.waitPacketSent();
		}
		led1_on();
		delay(200);
		led1_off();
	}
}

#include <RH_ASK.h>

#define DEBUG

#define die()	while (1)

enum pins {
	TRANSMIT_PIN = 12,
	BUTTON1_PIN = 6,
	BUTTON2_PIN = 7,
	BUTTON3_PIN = 8,
	BUTTON4_PIN = 9,
};

RH_ASK radio(1000, NULL, TRANSMIT_PIN);

static uint8_t button1_pressed(void) {
	return (digitalRead(BUTTON1_PIN) == LOW);
