Skip to content

Circular menu in arduino redux

Circular Menus Redux

Seems like the old circular menu class is now incompatible with the new Arduino 1.0 GUI version.
Rober Wagner from the arduino forum described the incompatibility. He also sent to us an email and we thank him for the contribution.
The circular menu seems to interest a lot of people so we decided to "port" the circular menu class into the new Arduino 1.0 GUI.
We will try to describe the class in the future.
Now before starting have a look at the documentation of the "old circular menu".
As always you have to construct the three button configuration on your breadboard.
The down button is on digital port 7 the right button on digital port 6 and the enter button at digital port 5.
In order to find out how to connect buttons on your arduino please read the "arduino and memory how to" tutorial.

From the Arduino Software Release Notes we can see that :

The WProgram.h file, which provides declarations for the Arduino API,
  has been renamed to Arduino.h. To create a library that will work in
  both Arduino 0022 and Arduino 1.0, you can use an #ifdef that checks
  for the ARDUINO constant, which was 22 and is now 100.  For example:
Arduino Software Release Notes
  #if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #else
  #include "WProgram.h"
  #endif

This is the only change we have to do with our circular class.
The new Circular Menu Advanced New zip file can be downloaded from the provided link.
The usage is exactly the same
As first step : write into a text editor your multi level menu like this one below.

Menu 1 [0]                                         (f:0,d:1,r:0)
Menu 2 [1]                                         (f:1,d:6,r:2)
	Menu 2>Smenu 1  [2]                            (f:1,d:3,r:2)
	Menu 2>Smenu 2  [3]                            (f:1,d:4,r:3)
	Menu 2>Smenu 3  [4]                            (f:1,d:5,r:4)
	Menu 2>up one dir [5]                          (f:1,d:2,r:5)
Menu 3 [6]                                         (f:6,d:14,r:7)
	Menu 3>Smenu 1 [7]                             (f:6,d:8,r:7)
	Menu 3>Smenu 2 [8]                             (f:6,d:12,r:9)
		Menu 3>Smenu 2>SSmenu 1 [9]                (f:8,d:10,r:9)
		Menu 3>Smenu 2>SSmenu 2 [10]               (f:8,d:11,r:10)
		Menu 3>Smenu 2>up one dir [11]             (f:8,d:9,r:11)
	Menu 3>Smenu 3 [12]                            (f:6,d:13,r:12)
	Menu 3>up one dir [13]                         (f:6,d:7,r:13)
Menu 4 [14]                                        (f:14,d:0,r:15)
	Menu 4>Smenu 1 [15]                            (f:14,d:21,r:16)
		Menu 4>Smenu 1>SSmenu 1 [16]               (f:15,d:20,r:17)
			Menu 4>Smenu 1>SSmenu 1>SSSmenu 1 [17] (f:16,d:18,r:17)
			Menu 4>Smenu 1>SSmenu 1>SSSmenu 2 [18] (f:16,d:19,r:18)
			Menu 4>Smenu 1>SSmenu 1>up one dir [19](f:16,d:17,r:19)
		Menu 4>Smenu 1>up one dir [20]             (f:15,d:16,r:20)
	Menu 4>Smenu 2 [21]                            (f:14,d:22,r:21)
	Menu 4>Smenu 3 [22]                            (f:14,d:23,r:22)
	Menu 4>Smenu 4 [23]                            (f:14,d:24,r:23)
	Menu 4>Smenu 5 [24]                            (f:14,d:25,r:24)
	Menu 4>up one dir [25]                         (f:14,d:15,r:25)