Skip to content

Commit

Permalink
Xbox Controller update
Browse files Browse the repository at this point in the history
  • Loading branch information
arfontai committed Nov 25, 2013
1 parent d9e2977 commit 5f1388f
Show file tree
Hide file tree
Showing 18 changed files with 664 additions and 144 deletions.
2 changes: 1 addition & 1 deletion ARDrone2.Client.W8/ARDrone2.Client.W8.csproj.user
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>
2 changes: 1 addition & 1 deletion ARDrone2.Client.W8/Input/JoystickControl.xaml.cs
Expand Up @@ -194,7 +194,7 @@ private void ContainerOnPointerPressed(object sender, PointerRoutedEventArgs e)
Touch_FrameReported(e.GetCurrentPoint(this));
}

private void Reset()
public void Reset()
{
pointerId = 0;
byPassTicks = false;
Expand Down
10 changes: 9 additions & 1 deletion ARDrone2.Sample.W8/ARDrone2.Sample.W8.csproj
Expand Up @@ -17,7 +17,7 @@
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision>
<AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>
<AppxPackageDir>C:\Tmp\</AppxPackageDir>
<AppxSymbolPackageEnabled>False</AppxSymbolPackageEnabled>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
Expand Down Expand Up @@ -148,6 +148,9 @@
<Compile Include="Views\FlightPage.xaml.cs">
<DependentUpon>FlightPage.xaml</DependentUpon>
</Compile>
<Compile Include="Views\XboxControls.xaml.cs">
<DependentUpon>XboxControls.xaml</DependentUpon>
</Compile>
<Compile Include="Views\PilotagePage.xaml.cs">
<DependentUpon>PilotagePage.xaml</DependentUpon>
</Compile>
Expand Down Expand Up @@ -216,6 +219,7 @@
<Content Include="Assets\VitesseMax.png" />
<Content Include="Assets\Vols.png" />
<Content Include="Assets\Weather.png" />
<Content Include="Assets\XboxControls.png" />
<Content Include="Common\ReadMe.txt" />
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -244,6 +248,10 @@
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Views\XboxControls.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Views\PilotagePage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
Expand Down
Binary file added ARDrone2.Sample.W8/Assets/XboxControls.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion ARDrone2.Sample.W8/Package.appxmanifest
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="3a8460b9-7ac2-4be0-8f28-ed6fd0858ba7" Publisher="CN=arfontai" Version="1.0.0.31" />
<Identity Name="3a8460b9-7ac2-4be0-8f28-ed6fd0858ba7" Publisher="CN=arfontai" Version="1.0.0.34" />
<Properties>
<DisplayName>ARDrone2.Sample</DisplayName>
<PublisherDisplayName>arfontai</PublisherDisplayName>
Expand Down
97 changes: 58 additions & 39 deletions ARDrone2.Sample.W8/Views/ConfigurationPage.xaml
Expand Up @@ -43,17 +43,22 @@
Foreground="Black" />
</Grid>

<Grid Grid.Row="1">
<StackPanel HorizontalAlignment="Left" Margin="120,0,0,0" Width="400">
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold"
<ScrollViewer HorizontalScrollBarVisibility="Auto"
HorizontalScrollMode="Enabled"
VerticalScrollBarVisibility="Disabled"
VerticalScrollMode="Disabled"
Grid.Row="1">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="120,0,0,0" Width="400">
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold"
Text="Altitude maximale"
Style="{StaticResource PageSubheaderTextStyle}"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Margin="0,0,0,0"
Foreground="Black" />
<Slider x:Name="AltitudeMax"
<Slider x:Name="AltitudeMax"
IsEnabled="True"
Minimum="0"
Maximum="100"
Expand All @@ -64,66 +69,80 @@
Width="400"
PointerReleased="AltitudeMax_PointerReleased"
Foreground="Black" />
<TextBlock x:Name="AltitudeMaxValue"
<TextBlock x:Name="AltitudeMaxValue"
Text="{Binding ElementName=AltitudeMax, Path=Value}"
Style="{StaticResource PageSubheaderTextStyle}"
Margin="0,60,0,0"
HorizontalAlignment="Left"
VerticalAlignment="Top"
Foreground="Black" />
<TextBlock x:Name="AltitudeMaxValueUnit"
<TextBlock x:Name="AltitudeMaxValueUnit"
Text="mètres"
Style="{StaticResource PageSubheaderTextStyle}"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,60,0,0"
Foreground="Black" />
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Vitesse verticale max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Vitesse verticale max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" />
<Slider x:Name="VitesseVerticaleMax" IsEnabled="True" Minimum="200" Maximum="2000" StepFrequency="1" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="VitesseVerticaleMax_PointerReleased"
<Slider x:Name="VitesseVerticaleMax" IsEnabled="True" Minimum="200" Maximum="2000" StepFrequency="1" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="VitesseVerticaleMax_PointerReleased"
Foreground="Black" />
<TextBlock x:Name="VitesseVerticaleValue" Text="{Binding ElementName=VitesseVerticaleMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock x:Name="VitesseVerticaleValue" Text="{Binding ElementName=VitesseVerticaleMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
Foreground="Black" />
<TextBlock x:Name="VitesseVerticaleUnit" Text="mm/s" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
<TextBlock x:Name="VitesseVerticaleUnit" Text="mm/s" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
Foreground="Black" />
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Vitesse de rotation max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Vitesse de rotation max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" />
<Slider x:Name="VitesseRotationMax" IsEnabled="True" Minimum="40" Maximum="350" StepFrequency="1" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="VitesseRotationMax_PointerReleased"
<Slider x:Name="VitesseRotationMax" IsEnabled="True" Minimum="40" Maximum="350" StepFrequency="1" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="VitesseRotationMax_PointerReleased"
Foreground="Black" />
<TextBlock x:Name="VitesseRotationMaxValue" Text="{Binding ElementName=VitesseRotationMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock x:Name="VitesseRotationMaxValue" Text="{Binding ElementName=VitesseRotationMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
Foreground="Black" />
<TextBlock x:Name="VitesseRotationMaxUnit" Text="°/s" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
<TextBlock x:Name="VitesseRotationMaxUnit" Text="°/s" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
Foreground="Black" />
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Angle d'inclinaison max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Angle d'inclinaison max" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" />
<Slider x:Name="AngleInclinaisonMax" IsEnabled="True" Minimum="5" Maximum="30" StepFrequency="0.5" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="AngleInclinaisonMax_PointerReleased"
<Slider x:Name="AngleInclinaisonMax" IsEnabled="True" Minimum="5" Maximum="30" StepFrequency="0.5" Margin="0,30,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Width="400" PointerReleased="AngleInclinaisonMax_PointerReleased"
Foreground="Black" />
<TextBlock x:Name="AngleInclinaisonMaxValue" Text="{Binding ElementName=AngleInclinaisonMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
<TextBlock x:Name="AngleInclinaisonMaxValue" Text="{Binding ElementName=AngleInclinaisonMax, Path=Value}" Style="{StaticResource PageSubheaderTextStyle}" Margin="0,60,0,0" HorizontalAlignment="Left" VerticalAlignment="Top"
Foreground="Black" />
<TextBlock x:Name="AngleInclinaisonMaxUnit" Text="°" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
<TextBlock x:Name="AngleInclinaisonMaxUnit" Text="°" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,60,0,0"
Foreground="Black" />
</Grid>
</StackPanel>
</Grid>
</StackPanel>

<StackPanel HorizontalAlignment="Left" Margin="600,0,0,0" Width="400">
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Carène extérieure" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" />
<ToggleSwitch x:Name="CareneExterieureToggle" Margin="0,10,0,0" Header=" " HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Toggled="CareneExterieureToggle_Toggled"/>
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Extérieur" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
<StackPanel HorizontalAlignment="Left" Margin="700,0,0,0" Width="160">
<Grid Margin="0,20,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="9*"/>
<ColumnDefinition Width="41*"/>
</Grid.ColumnDefinitions>
<TextBlock FontWeight="SemiBold" Text="Carène extérieure" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" Grid.ColumnSpan="2" />
<ToggleSwitch x:Name="CareneExterieureToggle" Margin="0,10,0,0" Header=" " HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Toggled="CareneExterieureToggle_Toggled" Grid.ColumnSpan="2"/>
</Grid>
<Grid Margin="0,20,0,0">
<TextBlock FontWeight="SemiBold" Text="Extérieur" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" />
<ToggleSwitch x:Name="ExterieurToggle" Margin="0,10,0,0" Header=" " HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Toggled="ExterieurToggle_Toggled"/>
</Grid>
</StackPanel>
</Grid>
<ToggleSwitch x:Name="ExterieurToggle" Margin="0,10,0,0" Header=" " HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Toggled="ExterieurToggle_Toggled"/>
</Grid>
</StackPanel>

<StackPanel HorizontalAlignment="Left" Margin="1040,0,0,0" Width="400">
<Grid Margin="0,20,0,0">

<TextBlock FontWeight="SemiBold" Text="Commandes xbox" Style="{StaticResource PageSubheaderTextStyle}" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0"
Foreground="Black" Grid.ColumnSpan="2" />
<Button x:Name="ShowCommandButton" Content="View commands" Margin="0,40,0,0" Click="ShowCommandButton_Click" />
</Grid>
</StackPanel>
</Grid>
</ScrollViewer>

</Grid>

Expand Down
6 changes: 6 additions & 0 deletions ARDrone2.Sample.W8/Views/ConfigurationPage.xaml.cs
Expand Up @@ -19,6 +19,7 @@
using ARDrone2Client.Common.Input;
using ARDrone2Client.Common.Navigation;
using ARDrone2Client.Common.ViewModel;
using AR.Drone2.Sample.W8.Views;

namespace ARDrone2.Sample
{
Expand Down Expand Up @@ -99,5 +100,10 @@ private async void ReinitButton_Click(object sender, RoutedEventArgs e)

await _droneClient.SendConfiguration();
}

private void ShowCommandButton_Click(object sender, RoutedEventArgs e)
{
Frame.Navigate(typeof(XboxControls));
}
}
}
32 changes: 31 additions & 1 deletion ARDrone2.Sample.W8/Views/MainPage.xaml.cs
@@ -1,4 +1,5 @@
using System;
using System.Diagnostics;
using System.Threading.Tasks;
using AR.Drone2.Sample.W8;
using ARDrone2Client.Common;
Expand All @@ -7,6 +8,7 @@
using Windows.UI.Xaml.Navigation;
using AR.Drone2.Sample.W8.Views;
using AR.Drone2.Sample.W8.Model;
using ARDrone2Client.Common.FTP;

namespace ARDrone2.Sample
{
Expand All @@ -19,6 +21,7 @@ public sealed partial class MainPage : Page

private DroneClient _droneClient;
private DispatcherTimer _timer;
private bool FtpHasBeenChecked = false;

public MainPage()
{
Expand All @@ -32,7 +35,7 @@ public MainPage()
/// </summary>
/// <param name="e">Event data that describes how this page was reached. The Parameter
/// property is typically used to configure the page.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
if(this._viewModel != null)
{
Expand Down Expand Up @@ -65,6 +68,8 @@ private async void _Timer_Tick(object sender, object e)

if (!_droneClient.IsActive)
await Task.Delay(5000);
else
await ConnectToFtpAsync();
}

private void SetConnectionStatus()
Expand All @@ -81,6 +86,31 @@ private void SetConnectionStatus()
}
}

private async Task ConnectToFtpAsync()
{
if (_droneClient.IsActive)
{
try
{
var ftp = new FTPClient();
ftp.Verbose = true;
ftp.HostName = "192.168.1.1";
ftp.TimeOut = 1000;
await ftp.LoginAsync();
await ftp.PrintWorkingDirectoryAsync();
await ftp.ChangeWorkingDirectoryAsync("/boxes");
var files = await ftp.ListFilesAsync();
foreach (var file in files)
{
Debug.WriteLine(string.Format("{0}", file));
//await ftp.DownloadFileAsync(file, file, true);
}
}
catch (Exception) { }
return;
}
}

private void GoBack(object sender, RoutedEventArgs e)
{
this.Frame.GoBack();
Expand Down
12 changes: 3 additions & 9 deletions ARDrone2.Sample.W8/Views/PilotagePage.xaml
Expand Up @@ -1006,17 +1006,12 @@
Width="200" />
</Grid>

<Grid Grid.Row="1"
VerticalAlignment="Bottom"
HorizontalAlignment="Center">

<Button x:Name="TakeOffLandButton"
IsEnabled="False"
Grid.Row="1"
VerticalAlignment="Bottom"
BorderThickness="0"
Padding="0"
Margin="0,0,0,0"
HorizontalAlignment="Center"
IsEnabled="False"
BorderThickness="0"
Click="TakeOffLandButton_Click"
Style="{StaticResource ImageButtonStyle}">
<!--<Image x:Name="TakeOffLandImage"
Expand Down Expand Up @@ -1068,7 +1063,6 @@
Padding="50,0">TAKE OFF</TextBlock>
</Grid>
</Button>
</Grid>

<Button x:Name="EmergencyButton"
Grid.Row="0"
Expand Down

0 comments on commit 5f1388f

Please sign in to comment.