Hi Krish
Thanks for all your comments.

About the #initialize method, I think you are right, and some code
refactoring would solve it.

Also, about the #takeOff method, maybe the comments are not so explicative,
but it just sends the take off command until the drone is actually flying.
In practice, it sends it twice and then stops. The logic for the land
command is very similar. They are designed that way to ensure the drone
will take off or land after only one call of the corresponding method.

Thanks for your advice on avoiding Float and Integer overrides, it would be
cleaner to include the methods in the ARDrone package.

Cheers
Caro

2016-04-09 13:56 GMT-03:00 S Krish <krishnamachari.sudha...@gmail.com>:

>
> Very interesting and well done.
>
> *Observations:  from a 15 min review. beyond the basics .. which really is
> well done. Hope I can play with it sometime when I get time.. *
>
> Love the commandQueue and UDP handling and this block:
>
> senderProcess := [[ | nextCommand |
> "dequeue the next command, enumerate it and send it"
> nextCommand := commandsQueue next .
> arDrone commandAdapter send: nextCommand
> ] repeat ] fork.
>
> I like the comments in #*sendMoveCommandLeftRightTilt*: lrTilt
> *frontBackTilt*: fbTilt *verticalSpeed*: verticalSpeed *angularSpeed*:
> angularSpeed
>
>
> But the #initialize method is doing too much in one long method.. check
> other methods too..
>
>
> *Comments: *
>
>      takeOff
> "Every 1 second sends the take off command to the drone, until it's state
> goes from Landed to Flying (ARDState flyMask from 0 to 1)"
>
>                Either the naming can be keepFlying .. not sure if I want
> to takeOff every second.
>
>
> Advice avoiding overrides on Integer and Float given its not really needed
> and you can do that in your own class in the package.
>
> viz: #*from32BitArrayWithOnesAt*:
>
>
>
>
>
> On Sat, Apr 9, 2016 at 8:24 AM, Carolina Hernández <carola...@gmail.com>
> wrote:
>
>> Hi, my name is Carolina Hernandez and I'm a Computer Engineering student
>> at the University of Chile.
>> As part of my final degree project, I'm creating a communication API for
>> controlling the Parrot AR.Drone 2.0 from Pharo. I've just released an early
>> version. The code is hosted in Smalltalkhub:
>> http://smalltalkhub.com/#!/~CaroHernandez/ArDronePharo
>>
>> I also made a video of a test flight, where the AR.Drone is controlled
>> using the API and keyboard:
>> https://www.youtube.com/watch?v=d8rERiBoD0o
>>
>> I couldn't find any direct way to use a joystick in Pharo, if someone
>> knows about one, I'd like to integrate it to my code.
>>
>> Development and tests have been done in Pharo 4.0 and ubuntu 12.04
>> Comments are welcome!
>>
>> Caro
>>
>
>

Reply via email to