How to store image arrays in an external file from main sketch

Hey

Im using an LCD screen in a project and have converted a few images to byte arrays using ImageConverter 565.
If I include the arrays in the top of my sketch they work perfectly but if I place them in a separate ImageResources.c file within my projects folder I cannot compile as I just get the error “not declared in this scope” referring to the image arrays.

Iv tried putting #include <ImageResources.c> in my sketch but it does not make a difference.

What is the correct way to have these byte array images stored in a separate file so as not to clutter my main sketch?

Post examples.

Things to be included are usually placed in a .h file. Why are you using .c as the extension?

The preprocessor doesn't care what they're called, but the compiler/IDE may.

AWOL: The preprocessor doesn't care what they're called, [u]but the compiler/IDE may.[/u]

Exactly.

But when you create a sketch no .h file is created.

Are you suggesting that instead of butting them in a .c file I create a .h file in my sketch folder where I image byte arrays? 

example of one of the byte arrays.


prog_uint16_t clock[0xA8] PROGMEM ={
0x001F, 0x001F, 0x001F, 0x001F, 0x0000, 0x0007, 0x0846, 0x0000, 0x0000, 0x0000, 0x0004, 0x1084, 0x001F, 0x001F, 0x001F, 0x001F,   // 0x0010 (16)
0x001F, 0x0008, 0x0025, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x0867, 0x0000, 0x001F, 0x001F, 0x001F, 0x0000, 0x0025,   // 0x0020 (32)
0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x109F, 0x0867, 0x0863, 0x001F, 0x001F, 0x0007, 0x001F, 0x001F, 0x001F,   // 0x0030 (48)
0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x0004, 0x001F, 0x001F, 0x0025, 0x001F, 0x001F, 0x001F, 0x001F, 0x0000,   // 0x0040 (64)
0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x1088, 0x109F, 0x0000, 0x0000, 0x109F, 0x10BF, 0x001F, 0x001F, 0x0000, 0x0000, 0x001F,   // 0x0050 (80)
0x001F, 0x001F, 0x001F, 0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x001F, 0x001F, 0x001F, 0x001F, 0x0025, 0x001F, 0x001F, 0x001F,   // 0x0060 (96)
0x001F, 0x0000, 0x001F, 0x0004, 0x0004, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x0004, 0x001F, 0x001F, 0x001F, 0x1088,   // 0x0070 (112)
0x001F, 0x001F, 0x0000, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x0004, 0x001F, 0x001F,   // 0x0080 (128)
0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x087F, 0x1088, 0x0864, 0x001F, 0x001F, 0x001F, 0x001F,   // 0x0090 (144)
0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x1088, 0x0000, 0x001F, 0x001F, 0x001F, 0x001F, 0x001F, 0x18EC, 0x0004,   // 0x00A0 (160)
};

Code goes in the code box, not comments and questions.

Post a sketch and the .c file so we can try to reproduce/fix your problem.

But when you create a sketch no .h file is created.

But, plenty are included.

Are you suggesting that instead of butting them in a .c file I create a .h file in my sketch folder where I image byte arrays?

Yes, that's what I was suggesting.

Will byte arrays declared in a .h file be global?

Will byte arrays declared in a .h file be global?

That depends on where you #include it.