Merge pull request #581 from opentx/bsongis/Issue542_flash_usage_on_9x_stock

Bsongis/issue542 flash usage on 9x stock
This commit is contained in:
Andre Bernet
2014-01-23 06:47:15 -08:00
4 changed files with 27 additions and 14 deletions
+3 -3
View File
@@ -1363,11 +1363,11 @@ GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
# conservative and not optimized. This is fine as Google Test
# compiles fast and for ordinary users its source rarely changes.
gtest-all.o : $(GTEST_SRCS_)
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -c \
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GTEST_DIR)/include -c \
$(GTEST_DIR)/src/gtest-all.cc
gtest_main.o : $(GTEST_SRCS_)
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -c \
$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) -I$(GTEST_DIR)/include -c \
$(GTEST_DIR)/src/gtest_main.cc
gtest.a : gtest-all.o
@@ -1381,4 +1381,4 @@ gtest_main.a : gtest-all.o gtest_main.o
# function.
gtests: $(BOARDSRC) $(CPPSRC) gtests.cpp simpgmspace.cpp *.h gtest_main.a
g++ -std=gnu++0x $(CPPFLAGS) $(BOARDSRC) $(CPPSRC) gtests.cpp simpgmspace.cpp -I$(GTEST_DIR) -o gtests -lpthread -MD -DSIMU gtest_main.a
g++ -std=gnu++0x $(CPPFLAGS) $(BOARDSRC) $(CPPSRC) gtests.cpp simpgmspace.cpp -I$(GTEST_DIR) ${INCFLAGS} -I$(GTEST_DIR)/include -o gtests -lpthread -MD -DSIMU gtest_main.a
+1 -1
View File
@@ -3746,7 +3746,7 @@ enum LimitsItems {
#undef MIN_MAX_ATTR
#define MIN_MAX_ATTR attr
#else
#define MIN_MAX_DISPLAY(x) (x)
#define MIN_MAX_DISPLAY(x) ((int8_t)(x))
#endif
#if defined(PCBTARANIS)
+16 -6
View File
@@ -509,6 +509,12 @@ uint16_t evalChkSum()
return sum;
}
#if defined(TEMPLATES)
inline void applyDefaultTemplate()
{
applyTemplate(TMPL_SIMPLE_4CH);
}
#else
void applyDefaultTemplate()
{
for (int i=0; i<NUM_STICKS; i++) {
@@ -539,6 +545,7 @@ void applyDefaultTemplate()
}
eeDirty(EE_MODEL);
}
#endif
#if defined(PXX) && defined(CPUARM)
void checkModelIdUnique(uint8_t id)
@@ -3403,6 +3410,8 @@ void perOut(uint8_t mode, uint8_t tick10ms)
if (md->srcRaw == 0) break;
uint8_t stickIndex = md->srcRaw - MIXSRC_Rud;
if (!(dirtyChannels & ((bitfield_channels_t)1 << md->destCh))) continue;
// if this is the first calculation for the destination channel, initialize it with 0 (otherwise would be random)
@@ -3415,7 +3424,6 @@ void perOut(uint8_t mode, uint8_t tick10ms)
delayval_t mixEnabled = !(md->phases & (1 << s_perout_flight_phase)) && getSwitch(md->swtch);
//========== VALUE ===============
uint8_t stickIndex = md->srcRaw - MIXSRC_Rud;
getvalue_t v = 0;
if (mode > e_perout_mode_inactive_phase) {
if (!mixEnabled || stickIndex >= NUM_STICKS || (stickIndex == THR_STICK && g_model.thrTrim)) {
@@ -3433,12 +3441,14 @@ void perOut(uint8_t mode, uint8_t tick10ms)
else
#endif
{
v = getValue(md->srcRaw);
if (md->srcRaw>=MIXSRC_CH1 && md->srcRaw<=MIXSRC_LAST_CH && md->destCh != md->srcRaw-MIXSRC_CH1) {
if (dirtyChannels & ((bitfield_channels_t)1 << (md->srcRaw-MIXSRC_CH1)) & (passDirtyChannels|~(((bitfield_channels_t) 1 << md->destCh)-1)))
int8_t srcRaw = MIXSRC_Rud + stickIndex;
v = getValue(srcRaw);
srcRaw -= MIXSRC_CH1;
if (srcRaw>=0 && srcRaw<=MIXSRC_LAST_CH-MIXSRC_CH1 && md->destCh != srcRaw) {
if (dirtyChannels & ((bitfield_channels_t)1 << srcRaw) & (passDirtyChannels|~(((bitfield_channels_t) 1 << md->destCh)-1)))
passDirtyChannels |= (bitfield_channels_t) 1 << md->destCh;
if (md->srcRaw-MIXSRC_CH1 < md->destCh || pass > 0)
v = chans[md->srcRaw-MIXSRC_CH1] >> 8;
if (srcRaw < md->destCh || pass > 0)
v = chans[srcRaw] >> 8;
}
}
if (!mixCondition) {
+7 -4
View File
@@ -178,7 +178,13 @@ void applyTemplate(uint8_t idx)
// Simple 4-Ch
case TMPL_SIMPLE_4CH:
clearInputs();
applyDefaultTemplate();
#if defined(PCBTARANIS)
#pragma message("Templates with virtual inputs (FrSky Taranis) are not implemented!")
#endif
setDest(ICC(STK_RUD), MIXSRC_Rud);
setDest(ICC(STK_ELE), MIXSRC_Ele);
setDest(ICC(STK_THR), MIXSRC_Thr);
setDest(ICC(STK_AIL), MIXSRC_Ail);
break;
// Sticky-T-Cut
@@ -203,9 +209,6 @@ void applyTemplate(uint8_t idx)
// Elevon\\Delta
case TMPL_ELEVON_DELTA:
defaultInputs();
#if defined(PCBTARANIS)
#pragma message("Templates below are not implemented (only V-TAIL has been done). Feel free to help!")
#endif
setDest(ICC(STK_ELE), MIXSRC_Ele, true);
setDest(ICC(STK_ELE), MIXSRC_Ail);
setDest(ICC(STK_AIL), MIXSRC_Ele, true);