5 * th9x - http://code.google.com/p/th9x
6 * er9x - http://code.google.com/p/er9x
7 * gruvin9x - http://code.google.com/p/gruvin9x
9 * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License version 2 as
13 * published by the Free Software Foundation.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
30 #define MENUS_STACK_SIZE 2000
31 #define MIXER_STACK_SIZE 500
32 #define AUDIO_STACK_SIZE 500
33 #define BLUETOOTH_STACK_SIZE 500
36 #define _ALIGNED(x) __declspec(align(x))
37 #elif defined(__GNUC__)
38 #define _ALIGNED(x) __attribute__ ((aligned(x)))
41 uint16_t getStackAvailable(void * address
, uint16_t size
);
55 return getStackAvailable(stack
, SIZE
);
62 uint16_t stackAvailable();
64 extern OS_TID menusTaskId
;
65 // menus stack must be aligned to 8 bytes otherwise printf for %f does not work!
66 extern TaskStack
<MENUS_STACK_SIZE
> _ALIGNED(8) menusStack
;
68 extern OS_TID mixerTaskId
;
69 extern TaskStack
<MIXER_STACK_SIZE
> mixerStack
;
71 extern OS_TID audioTaskId
;
72 extern TaskStack
<AUDIO_STACK_SIZE
> audioStack
;
76 extern volatile uint16_t timeForcePowerOffPressed
;
77 inline void resetForcePowerOffRequest() {timeForcePowerOffPressed
= 0; }
79 #endif // _TASKS_ARM_H_