Jump to content


RobCC

Member Since 19 Aug 2010
Offline Last Active May 12 2012 06:18 PM

Posts I've Made

In Topic: New µC Precision32

10 March 2012 - 07:12 PM

@robertb

Quote

it seems you did not realize - inside is what a few people call arm intellectual property.
Hi,
I think is possible.
When using GPL V3   "copyleft" you can download, modify, redistribute code has provided modified code and apply it the same GPL V3 licence.
Moreover Precision32 has core ARM M3.
I am wrong ?

But I think now that my idea  is not desirable.

So I will certainly learn from the example AVR444

SI:
Yes the forces of SI are on péripheral .
The serie Precision32 that start is to monitor closely because I think SI will be able to quickly integrates other modules , including RF modules (available in 8-bit SI10XX).
It would be nice right?

In Topic: New µC Precision32

09 March 2012 - 07:58 PM

I can perhaps adapting your code when diffused to make one ESC with Precision32.
Your code is finallized ?

In Topic: Fixed Wing Setup

23 December 2011 - 08:36 AM

It was just an idea.
I will try to test it with a personal card.
Congratulations to OpenPilot  team for their hard work.

In Topic: Fixed Wing Setup

22 December 2011 - 10:48 PM

Hi,

If I am not mistaken the function "Process mixer settings" in module actuator.c does not test the type of aircraft.
Throttle is taken into account for all types of aircraft including fixed wings,

It seems to me that for fixed wings  throttle should plays  differently  with multicopters.

More aircraft will run  faster (Throotle...) more  pressure of elevons/ailerons will be great, more position RPY will be increased.
It must be important for aircraft flying very fast. (Turbines ..)

It sears probably interesting to delimit Throotle or assign a negative coefficient .

To be precise we should use a PITOT tube and consider the surface of the Ailerons/Elevons/Rudder ,
but I think initially, offer possibility not to use throttle in the mix, or assign  a negative coefficient would be an improvement.

If my reasoning is correct I suggest that the GCS should be amended for fixed wings( see file include) and  the function Process Mixer modified in Actuators.c


before
float ProcessMixer(const int index, const float curve1, const float curve2,
	 MixerSettingsData* mixerSettings, ActuatorDesiredData* desired, const float period)
{
Mixer_t * mixers = (Mixer_t *)&mixerSettings->Mixer1Type; //pointer to array of mixers in UAVObjects
Mixer_t * mixer = &mixers[index];
float result = (((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE1] / 128.0f) * curve1) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE2] / 128.0f) * curve2) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_ROLL] / 128.0f) * desired->Roll) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_PITCH] / 128.0f) * desired->Pitch) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_YAW] / 128.0f) * desired->Yaw);



after


// News elements of mixer->matrix[..]
// MIXERSETTINGS_MIXER1VECTOR_USETHRtoSTAB		   // true		  if use Throttle	 else false
// MIXERSETTINGS_MIXER1VECTOR_COEFFTHRtoSTAB		 // float 0..-1   if use Throttle	 else 0



float ProcessMixer(const int index, const float curve1, const float curve2,
	 MixerSettingsData* mixerSettings, ActuatorDesiredData* desired, const float period)
{
Mixer_t * mixers = (Mixer_t *)&mixerSettings->Mixer1Type; //pointer to array of mixers in UAVObjects
Mixer_t * mixer = &mixers[index];

  bool useTHRtoSTAB	= false;
  float coeffTHRtoSTAB = 0;

if ( (float)(mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_USETHRtoSTAB]) == true )
  {
	useTHRtoSTAB  = 1;
	coeffTHRtoSTAB=(float)(mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_COEFFTHRtoSTAB]);
  }

float result = (((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE1] / 128.0f) * curve1)
  *coeffTHRtoSTAB *useTHRtoSTAB +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_THROTTLECURVE2] / 128.0f) * curve2) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_ROLL] / 128.0f) * desired->Roll) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_PITCH] / 128.0f) * desired->Pitch) +
(((float)mixer->matrix[MIXERSETTINGS_MIXER1VECTOR_YAW] / 128.0f) * desired->Yaw);

In Topic: GCS Throttle Curve.. optional?

31 October 2011 - 11:29 AM

Hello,
I think you should leave throottle curve as y = x (initial curve).
In this way the values ​​of your radio control will not be changed by the GCS  ( y= value modified by curve ,  x= RC value in input)
Rob