# default baudrate
#CONFIG_SERIAL_BAUDRATE = 19200
-# configure master mode:
-# 0 disable master mode completely
-# 1 check if master mode jumper is set (default)
-# 2 always act as master
-#CONFIG_MASTER_MODE = 1
#define REMOTE_INT_PORT D
#define REMOTE_INT_PIN PD2
-/* configure jumper pins for remote master mode */
-#define REMOTE_MASTER_PORT C
-#define REMOTE_MASTER_PIN1 PC2
-#define REMOTE_MASTER_PIN2 PC3
-/* configure master mode */
-/* use 1 as address for the second device */
-#define MASTER_MODE_FIRST_ADDRESS 1
-/* wait 200ms before sending sync sequence */
-#define MASTER_WAIT_BEFORE_SYNC 20
-/* wait 15 min (900s) between program changes */
-#define MASTER_MODE_SLEEP 900
-
/* configure storage bufer size */
#define STORAGE_BUFFER_SIZE 13
#define R_PIN _INPORT(REMOTE_INT_PORT)
#define INTPIN REMOTE_INT_PIN
-#define M_PORT _OUTPORT(REMOTE_MASTER_PORT)
-#define M_DDR _DDRPORT(REMOTE_MASTER_PORT)
-#define M_PIN _INPORT(REMOTE_MASTER_PORT)
-#define M_PIN1 REMOTE_MASTER_PIN1
-#define M_PIN2 REMOTE_MASTER_PIN2
-
struct remote_state_t
{
/* serial communication */
void remote_init(void)
{
- /* master mode check: check if PIN2 pulls down PIN1 */
- /* configure M_PIN1 as input with pullup */
- M_DDR &= ~_BV(M_PIN1);
- M_PORT |= _BV(M_PIN1);
- /* configure M_PIN2 as output, set low */
- M_DDR |= _BV(M_PIN2);
- M_PORT &= ~_BV(M_PIN2);
-
/* initialize offsets */
global_remote.offsets.saturation = 255;
global_remote.offsets.value = 255;