 #define MSG_T		29
 #define MSG_H		30
 #define MSG_SAFESP	31
-#define MAX_MSG		MSG_SAFESP
+#define MSG_NCM_ON	32
+#define MSG_NCM_OFF	33
+#define MSG_ANALOG	34
+#define MSG_ACCEL	35
+#define MSG_BUTTON	36
+#define MSG_X		37
+#define MSG_Y		38
+#define MSG_Z		39
+#define MSG_C		40
+#define MAX_MSG		MSG_C
 
 void sendMsgF(uint8_t idx) {
 	unsigned int addr;

		cycles++;
		if (cycles == 120)
			cycles = 0;
	}
}

	moveServo(servoH, widgetH, degrees, servoSpeed, wait, updateDisplay);
}

// nunchuk
ArduinoNunchuk nunchuk = ArduinoNunchuk();
bool nunchukControlMode = false;

void nunchukControlModeToggle(void) {
	nunchukControlMode = !nunchukControlMode;
	if (nunchukControlMode) {
		sendMsgF(MSG_NCM_ON);
		messageScrollSet("nunchuk control on");
	} else {
		sendMsgF(MSG_NCM_OFF);
		messageScrollSet("nunchuk control off");
	}
	messageScrollUpdate(true);
	sendMsgF(MSG_OK);
}

void nunchukControlModeUpdate(bool sendValues) {
	nunchuk.update();
	// the Z-Button disables nunchukcontrolmode
	if (nunchuk.zButton)
		nunchukControlModeToggle();
	if (sendValues) {
		sendMsgF(MSG_ANALOG);
		sendMsgF(MSG_X); Serial.print(nunchuk.analogX, DEC);
		sendMsgF(MSG_Y); Serial.print(nunchuk.analogY, DEC);
		sendMsgF(MSG_LF);
		sendMsgF(MSG_ACCEL);
		sendMsgF(MSG_X); Serial.print(nunchuk.accelX, DEC);
		sendMsgF(MSG_Y); Serial.print(nunchuk.accelY, DEC);
		sendMsgF(MSG_Z); Serial.print(nunchuk.accelZ, DEC);
		sendMsgF(MSG_LF);
		sendMsgF(MSG_BUTTON);
		sendMsgF(MSG_C); Serial.print(nunchuk.cButton, DEC);
		sendMsgF(MSG_Z); Serial.print(nunchuk.zButton, DEC);
		sendMsgF(MSG_LF);
	}
}

// helper functions
void softwareReset(void) {
	wdt_enable(WDTO_15MS);
