
Hi Lothar,
On 7 July 2017 at 00:41, Lothar Waßmann LW@karo-electronics.de wrote:
Hi,
On Thu, 6 Jul 2017 12:22:52 +0000 Marcel Ziswiler wrote:
Dear Lothar
On Thu, 2017-07-06 at 09:50 +0200, Lothar Waßmann wrote:
Hi,
On Wed, 5 Jul 2017 22:49:28 -0600 Simon Glass wrote:
Hi Lothar,
On 23 June 2017 at 00:30, Lothar Waßmann LW@karo-electronics.de wrote:
Hi,
On Wed, 21 Jun 2017 09:59:05 +0200 Lothar Waßmann wrote:
Hi,
On Tue, 20 Jun 2017 12:26:29 -0600 Simon Glass wrote: > Hi Lothar, > > On 20 June 2017 at 04:25, Lothar Waßmann <LW@karo-electronics > .de> wrote: > > LCD_MAX_WIDTH, LCD_MAX_HEIGHT and LCD_MAX_LSBPP are not > > alternative > > values for one specific variable, but unrelated entities > > with distinct > > purposes. There is no use defining them as values of an > > 'enum'. > > Can you explain why #define is better? I prefer enum since > they are a > compiler construct instead of preprocessor (thus no need for > brackets, > no strange conversion things) and the debugger knows about > them. >
An enum defines alternative values for one specific entity (e.g. clauses for a switch construct), but not a collection of arbitrary data items.
> > The 'enum' construct would fail miserably for an LCD > > controller that > > has a square max. frame size (e.g. 4096x4096). > > What does this mean? I don't understand sorry. >
Try your enum with MAX_LCD_WITDH == MAC_LCD_HEIGHT.
Can you please be explicit as to what the problem is? Sorry but I don't understand what you are driving at. Do you have a test program which shows the problem?
You cannot have two different enum items with the same value! Thus: enum { MAX_LCD_WIDTH = 4096, MAX_LCD_HEIGHT = 4096, }; won't compile.
Says who?
At least my gcc compilers even compile the following just fine:
enum { MAX_LCD_WIDTH = 4096, MAX_LCD_HEIGHT = MAX_LCD_WIDTH, };
Sorry, I was so locked in to the "normal" use of enum that I got confused.
OK I see, no worries.
I agree this is a borderline case, but I still prefer it :-)
Regards, Simon