zaterdag 19 maart 2011

Using Turnigy Imax 9X for Flight Sim


Topic: How-to: Using your transmitter for simulator use
    Posted: 16 May 2009 at 11:14pm
While this was written for the Tunigy 9X most steps should apply to other transmitters. Note that the cable required may vary on other brands.

What you need
Initial setup
Turn your transmitter off and connect a minijack cable from its trainerport at the back to either the line-in or microphone inputs of your computer's soundcard. Once the cable is plugged into your Turnigy 9X it should turn itself on, this is normal.

SmartPropoPlus installation
Download SmartPropoPlus and run the downloaded executable. If you want to use your controller with other sims/programs in addition to FMS then choose the generic install option.

You'll be prompted to install PPJoy at this point so that leads us neatly to the next part:

PPJoy setup
Download PPJoy and run Setup.exe from within the archive. Go through the installation clicking next when required. As the installation finishes you'll most likely get such a prompt:

Click continue anyway to proceed.

With PPJoy now installed run Configure Joysticks from its newly created start menu listing.

Choose Add and add a virtual joystick like so:


After adding a joystick you should then be prompted with two Found New Hardware Wizards ("Parallel Port Joystick 1" and "HID-compliant game controller"), since it makes little sense in connecting to WindowsUpdate, choose No, not this time followed by Install the software automatically for both of theese. A logo certification window might pop up, choosecontinue anyway as before.

In the PPJoy window select your newly added joystick and choose Mapping. Pick Set a custom mapping for this controller followed by Next. Next up is defining buttons and axis for your controller. Note that in this window the functions for each axis is only for Windows' identification, their real function will vary with controller mode and mixes.

The next window assigns the real controller axis to each virtual joystick axis. If your sim of choice has a joystick mapping menu you can safely leave theese at their analog 0-5 values, if not you can finetune them later when SmartPropoPlus and PPJoy are working together correctly. Since we're not assigning any buttons continue clicking next until the configuration is finished.

SmartPropoPlus final setup
From the start-menu open the SmartPropoPlus console. Check generic PPM and the PPJoy Extension then select the correct audio source for where you connected the minijack cable earlier. Ie:

Once done click the hide button. (done closes the application)

And that's it, your controller should now be working. Optionally you could go to the game controller part of your Windows control panel to check out your axis assignment. Or simply dive straight into a simulator and correct them there instead.

Simulators
That then brings us to the actual sims. They're great investments for reduced repairbills. There are plenty to choose from, most cost a good bit of money, but there are also a couple free alternatives like FMS and HeliSimRC. FMS has a greater selection of models, while HeliSimRC is focused around helis and does the physics around them really well.

For HeliSimRC choose Joystick->Mapping then check that the correct axis' move as you move the sticks on the controller. Once that's corrected calibrate the controller from the same menu and off you go!

vrijdag 18 maart 2011

Turnigy Imax 9X tx HK 450 setup

Programming the Turnigy 9x for a Trex 450 (or any 450 clone using a CCPM swashplate system)


Parts of this tutorial come from: http://rcheli-blog.blogspot.com/p/turnigy-9ch-setup.html, the source I used to get my heli setup properly. These settings were for a mode 2 receiver while I'm using mode 1 though and some information was missing/unclear.


At this point you should have your heli build complete. That is the servo's are in place and the ballinks installed. For installation of the ballinks it's important that the lengths of the manual were respected. Don't put the servo arms on the servo's yet. For this the servo's need to be centered.

Don't connect the motor to the esc yet. You'll have to throttle up to configure everything and you don't want to see your heli take off before this is completed. The throttle cut function is inactive by default so don't rely on that either. You might want to wait with the installation of your main rotor blades until you verified everything is working correctly.

If you get a warning SWITCH ERROR you need to set all switches to default before you can boot up your tx.

I am assuming that you know the basic menus and how to get around them, have a play first and get familiar first before jumping right in. Also keep in mind that the sticks respond according to the mode you have set. Most commons modes are MODE1 and MODE2.

All Menu items are shown in bold for easy reference

1.     Setup a new model memory, select HELI then click the menu button to select.
(quick clicks of the menu button select, long ones reset the amount).

Start screen (here I still have some other model set up, default names are Turnigy)

Long press MENU to get into menu. Short press menu again to select SYSTEM.

Select first option, MODE SELE to select the memory slot to work on

Select any memory slot you want. Confirm with MENU. EXIT will return also but without updating your changes.

Back on this screen select MODE NAME to update the name of this memory slot. After updating you get back to this screen where you can select TYPE SELE to select the HELI type.

Configure HELI type.

2.     After selecting HELI it gives you the heli menu, choose Heli 3-1 which Is for 120 degree CCPM, this is the system of three servos that the TRex and many others use.

No screenshots for this yet

3.     Once selected exit back to the System setting menu and then check that under the STICK SET heading what mode is enabled. Be careful changing the mode when an ESC is already connected. If you change the system will ask if you want to reverse throttle. MENU corresponds to YES while EXT to NO. If you get confused at this point it might go to full throttle in a blink of an eye!!

Again from the MENU option select the STICK SET option

Here you can choose the MODE you prefer with a clear graphic showing what stick is on what channel.

On this mode selection screen check what channels corresponds to what sticks. On this Turnigy 9X V2 system these are the channels:

channel 1 : aileron
channel 2 : elevator
channel 3 : throttle
channel 4 : rudder
channel 5 : gyro sensitivity (in heli mode set to gear switch)
channel 6 : pitch (in heli mode)

4.     Now exit back out and now go into FUNC SETTING menus.

The FUNC SETTING menu

5.     Go to THR HOLD in the function setting menu, at the state option change INH (inhibit) to ACT (active) a line of text will appear above saying THRO CUT (OFF) flick the switch at the top left back of the unit, this will turn it to (ON). Throttle hold is for safety it allows the pitch etc to be checked without the motor turning on. Also useful for general safety at the field.

The FUNC SETTING menu options (first screen), select THR HOLD

Flick bottom switch on this picture to get into ON position

Now update state to ACT and set HOD POS to 000%

6.     Back to FUNC SETTING menu. Under AUX-CH leave all as is. You 'll see that the gyro sensitivity is on channel 5 which is by default set on the GEAR function. That is the front switch on the right shoulder. The pitch, channel 6 is set to the trimmer on the left. The labels on the tx correspond to these.
Assigning the AUX channels

7. Now that all the switches and knobs are assigned activate the throttle cut function and connect all the servo's.

To work out which servo goes where is easy, elevator is channel 2 on the receiver, this is the servo at the rear of heli just behind the main rotor shaft.  The other two servos plug into channel 6 (pitch) and channel 1 is the aileron doesn’t matter which way round these two are. Your gyro goes in channel 4 (rudder) and the gyro adjustment goes in channel 5 (gear), esc goes into channel 3 (throttle).


Once the servo's are connected they are powered up and center. This is an important step to do before you connect the ballinks from the servo's to the swashplate. Center all sticks, also throttle. Double check that your esc is not yet connected to the motor. Now put all the servo arms on the servo's in a 90° position. They should all be horizontal (except for tail).

8. At this point you can check if any servo needs to be reversed. From the FUNC SETTING menu you go to REVERSE where all channels are listed. The reverse function is needed to set the direction of the servo's in relation of each other.

Be very careful with the THR reversing option since that would just hace you motor go full throttle!!

The 2 side servo's (pitch PIT and aileron AIL) should move in the opposite direction when left/rifht cyclic command is given.

The single centered servo directly behind the main shaft (elevator ELE) needs to move opposite from the 2 front servo's while these 2 front servo's move together. Only reverse the elevator (ELE) servo at this point, leave pitch and aileron as is since we will fix that in the next step using the mix setup.

For my setup I had to reverse the aileron channel. Depending on how you want the tail to react you might want to reverse the rudder channel also.

9.     SWASHAFR  is the amount of mix each channel gives in 120 degree CCPM. Use this when a servo is not moving in the right direction in relation to the heli. Or if you have trouble reaching 10-11 degrees positive and negative pitch you can change the amount of pitch in here to a higher value If required, your pitch curves then set the limits.

This is the second page of the FUNC SETTING menu for HELI setup

Here you can update swashplate mix (SWASH MIX)

On throttle up all servo's should move up while on throttle down they should move the swashplate leveled downwards. If any servo is not moving in the correct direction you need to switch the sign only. For instance 50% would become -50%. If the complete swash is moving in the wrong direction you need to update the sign on the PITCH channel.

On elevator up/down the aft servo moves up/down while the 2 front servo's move together in the opposite direction. The swash needs to tilt in the direction of flight. That is forward on stick moving up and vice versa.

On aileron left/right the aft servo stays in place while the front servo's move in opposite direction. Again the swash needs to point down into the direction of movement.

For my setup I ended up with PIT 45, AIL -60 and ELE 60.

10.     Back to FUNC SETTING menu. On the second function setting page you need to go into GYROSENS and turn it on, switch from INH to ACT. Scroll to model and change to GY if you have a GY401 futaba or clone, then scroll up to the UPRATE and DNRATE, if you change from NOR 100 by clicking the – button you will get to 0 and then back up to 100 but you’ll notice that NOR changes to AVC, this is your gain for AVCS or heading hold mode.  Now the switch is the front top right shoulder switch, this can be used to flick between two gain settings, or two modes of your gyro depending how you set it up.
Mine is setup for GY mode, UPRATE AVC 75%, DNRATE NOR 60% which lets me switch between heading hold and rate mode easily.

GYRO SENS setup menu, using the GEAR switch update from RATE to HEADING HOLD

11.  Once the above are setup you can move onto your pitch and throttle curves, these are easy enough to setup and for detailed information on these please refer to Finless Bob Whites videos as he explains it well.
Both can be found in the FUNC SETTINGS menus.

A good starting point for throttle curve (THRO CURVE) is: 0, 50, 80, 90, 100. 


And for PITCH CURVE: 0, 25, 50, 75, 100.

12. SUBTRIM is also handy to get your ccpm servos all setup level, but you will learn this from Finless’ videos anyway.

13. ENDPOINTS are also useful to get rid of CCPM interations, again please refer Finless’  videos for more.

That’s it, easy as but its also easy to pick the wrong setting if you don’t know what you are doing and this can lead you astray!

woensdag 16 maart 2011

HK 450 V2 build instructions

About the HK450 v2 CCPM 3D Helicopter Kit


This cheap 450 clone comes without any manual so you'll have to look for build instructions yourself. This is what I discovered, hopefully this will help you.



This article is about the HK450 CCPM 3D Helicopter Kit (Align T-rex Compat.) Ver. 2 kit.

If you live in Europe or another region with a local HK shop it will pay off to get your kit there. It's very likely that you will get extra taxes on this kind of bigger packages from abroad. Also shipping from local regions is much faster and cheaper. This is the link for the European warehouse HK450 CCPM kit.

If you want to go even cheaper than that you could buy the HK-450 CCPM 3D Helicopter Barebone kit (Align T-rex Compat.). Be aware that this one has no canopy, blades, etc. EDIT: this kit seems to be removed from the website?

External Resources


For Version 1 there is a very good tutorial available. This can help you to some extend for the V2 version. Same goes for the Align 450 SE V2 manual. Don't go into detail with these manuals as screws and other details might not match completely.

Required Electronics for the HK 450 v2 Kit


The HK450 V2 kit comes without electronics. You need a lipo, motor, pinion, esc, servo's, gyro and receiver (and progammable transmitter). These are the cheapest parts available from HK. Please not that the cheap plastic geared servo's are not suited for extreme 3D performance. By the time you learned how to fly 3D you probably know what servo's to replace them with anyway ;-).

Turnigy E500 6T 4000Kv 200W Heli Motor (lightweight and good performance)
TowerPro H40A Brushless Speed Controller (comes with pinion and 3 bullet connectors)
Turnigy 2200mAh 3S 20C Lipo Pack (cheap and enough power for sport flying, have a higher C rate for better performance)
Hobby King 401B AVCS Digital Head Lock Gyro
4x HXT900 9g / 1.6kg / .12sec Micro Servo (these fit frame well. For better performance look for digital metal geared servo's instead)

If you don't have the standard interchangeable RC gear yet you will also need the following. These parts you only need to buy once and can be used for several models:

Transmitter & Receiver Combo


Turnigy 9X 9Ch Transmitter w/ Module & 8ch Receiver (Mode 1) (v2 Firmware)
Turnigy 9X 9Ch Transmitter w/ Module & 8ch Receiver (Mode 2) (v2 Firmware)

You either buy a Mode 1 or Mode 2 transmitter. This mode is an indication on where the throttle stick is, left or right. The throttle stick is different than the other stick because it can be left at a certain position without having a spring centering it when released. This however can easily be changed by taking off the spring on one stick and putting it back on the other stick. Also in firmware you can choose what channels corresponds to what control.

Also note that this transmitter is very popular and because of that has been on backorder for ages now. The only way to get one is to place a backorder and wait. At the beginning of this year I ordered one and the wait time for the order to get reserved was around 1 month. Add another month for shipping and you'll be waiting for 2 months! But it's worth it, believe me.

Battery Charger


Another part you'll only buy once. The best option for this really is the Turnigy Accucel-6 50W 6A Balancer/Charger w/ accessoires. For that price you have a very complete charger with all the options you'll ever need. The only disadvantage so far is that it can only charge a single pack. But for that price you can get 2 of them and charge 2 batteries at the same time ;-).

Important note on tools


The screws that come with this kit are either philips or hex. Don't use a 1.5mm metric hex driver for these screws since it won't fit perfectly and you will end up breaking the screws. You need an imperial 1/16 inch hex driver instead! In fact many people complaining about the weak screws just use improper tools.

Loctite is needed on all metal to metal parts. But only on metal to metal parts! Don't use it on plastic since it can damage plastics. For plastic securing you want to use a drop of CA glue. Also if you want to loosen a piece you've secured with loctite it can help to heat it up shortly with a soldering iron.

Kit Contents & Build Instructions


Be aware that the packages are well grouped. The screws that are in the package of the landing skids for instance need to be used for mounting the landing skids ;-).

This is al you need for the flybar. The paddles, weights and bar. They go into the head, see trex manual for details. Please note that there are screws in place on delivery. You need to remove these screws first.

Fins are mounted using the black screws with silver washers.

Fins are mounted using the black screws with silver washers.

These screws are silver and self taping. These were packaged together with the skids.

These screws came with the heli kit. The pinion and bullet connectors came with the motor. I only needed 2 screws to mount the motor. The other 2 are spares.

The main gear, spacer and the screw for attaching. With this I had some issues. In the tail drive gear, the smallest, bottom gear there is a metal shaft (one way bearing shaft) with a hole that has to align with the hole in the plastic gear. These didn't align on my parts making it impossible to put the screw through to keep everything together (the black one on the picture). I tried turning it but it was very stiff and only after heating it up shortly I could move it around to align the holes. Problem is I heated up too long causing the plastic to melt and now the shaft isn't centered anymore.

These bottom pieces are mounted on the tail to hold the tail servo. On top you can see an antenna holder which you won't need for 2.4GHz, a pushrod for the tail servo and 2 guides for that pushrod.

These small rubbers are needed to hold the canopy in place. On top of the frame you also mount 2 canopy spacers. Near the anti rotation bracket. The next pictures show these installed:




These ball links are needed for the servo's linking them with the pushrods. For both cyclic and tail servo so you need 4 of them in total. For the HXT900 servo's you'll notice that the servo arm holes need to be drilled out. Make sure not to drill out to big of a hole. They still need to be attached securely. On these parts you can use CA (instead of loctite) for securing.

The plastic ballinks have to be put on in the right direction. A letter on one side indicates the side that needs to be up front. Also keep in mind that these links need to be the exact measurements from the manual. Check the manual and correct. They don't come in the correct size yet, they really need to be adjusted.

These bolts and nuts are needed to mount the cyclic servo's. See next picture on how to mount the HXT900 as cyclic servo's.

Here you can see how I took the top of the plastic servo casing off in order to fit them. I also removed the bar on top from the frame. This is kept in place with 2 screws. If mounting these again remind to add some loctite.

Don't put the servo horns on the servo's yet. You can put the ballinks on the horns but you'll have to center the servo's (with tx sticks centered) before you can mount the arms on the servo in the correct angle.

Picture after installation of all servo's.


And a picture of how I got wires out of the way of the gears. Rx is up front, ESC underneath.

Anti rotation bracket and tail supports. These are mounted using the black screws with silver washers.

Black screws with silver washers for mounting anti rotation bracket, tail supports, fins and bottom plate to frame/tail.

vrijdag 11 maart 2011

RC Pilot rookie mistakes and how to avoid them


Six Keys to Success for New Pilot

Whether you have a coach or you are trying to learn to fly on your own, you
will need to be mindful of these six areas if you are going to become a
successful RC pilot. After two years of working with new flyers at our club,
and coaching flyers on the forums, there are a few things I have seen as the
key areas to stress for new pilots. Some get it right away and some have to
work at it. They are in no particular order because they all have to be
learned to be successful.

WIND
Orientation
Speed
Altitude
Over Control
Preflight Check

1) Wind - The single biggest cause of crashes that I have observed has been the
insistence upon flying in too much wind. If you are under an instructor's
control or on a buddy box, then follow their advice, but if you are starting
out and tying to learn on your own, regardless of the model, I recommend dead
calm to 3 MPH for the slow stick and tiger moth type planes. Under 5 MPH for
all others. That includes gusts. An experienced pilot can handle more. It is the pilot,
not the plane that determines how much wind can be handled.

Let me share a story:

The wind was around 8 mph steady with gusts to 12. That was strong enough that some of the experienced pilots flying three and four channel small electric planes chose not to launch their electrics. This new flyer insisted that he wanted to try his two and three channel parkflyers. Crash, Crash, Crash - Three planes in pieces. He just would not listen. Sometimes you just have to let them crash. There is no other way to get them to understand.

Many parkflyers can be flown in higher winds by AN EXPERIENCED PILOT. I
have flown my Aerobird in 18 mph wind (clocked speed) but it is quite exciting
trying to land it.

Always keep the plane up wind from you. There is no reason for a new flyer to
have the plane downwind EVER!


2) Orientation - Knowing the orientation of your plane is a real challenge,
even for experienced pilots. You just have to work at it and some adults have
a real problem with left and right regardless of which way the plane is going.
Licensed pilots have a lot of trouble with this one as they are accustomed to
being in the plane.

Here are two suggestions on how to work on orientation when you are not
flying.

Use a flight simulator on your PC. Pick a slow flying model and fly it a lot.
Forget the jets and fast planes. Pick a slow one. Focus on left and right
coming at you. Keep the plane in front of you. Don't let it fly over your
head.

FMS is a free flight simulator. It is not the best flight sim, but the price
is right and it works. There are also other free and commercial simulators.


The links below take you to sites that provide cables that work with FMS that
allow you to use the trainer port on your radio to allow you to fly the
simulator. This is an excellent training approach.

http://www.allthingsrc.com/webshop/
http://www.simblaster.com/


An alternative is to try an RC car that has proportional steering. You don't
have to worry about lift, stall and wind. Get something with left and right
steering and speed control. Set up an easy course that goes toward and away
from you with lots of turns. Do it very slowly at first until you can make
the turns easily. Then build speed over time. You'll get it! If it has
sticks rather than a steering wheel even better, but not required. Oh, and
little cars are fun too.


3) Too Much Speed - Speed is the enemy of the new pilot, but if you fly too slowly the wings can't generate enough lift, so there is a compromise here. The key message is that you don't have to fly at full throttle all the time. Most small electrics fly very nicely at 2/3 throttle and some do quite well at 1/2. That is a much better training speed than full power. Launch at full power and climb to a good height, say 100 feet as a minimum, so you have time to recover from a mistake. At 100 feet, about double the height of the trees where I live, go to half throttle and see how the plane handles. If it holds altitude on a straight line, this is a good speed. Now work on slow and easy turns, work on left and right, flying toward you and maintaining altitude. Add a little throttle if the plane can't hold altitude.

4) Not enough altitude - New flyers are often afraid of altitude. They feel
safer close to the ground. Nothing could be more wrong. Altitude is your
friend. As stated above I consider 100 feet, about double tree height where I
live, as a good flying height and I usually fly much higher than this. Fifty
feet, is minimum flying height for new flyers. Below that you better be lining up for landing.


5) Over control - Most of the time the plane does not need input from you.
Once you get to height, a properly trimmed plane flying in calm air will
maintain its height and direction with no help from you. In fact anything you
do will interfere with the plane.

When teaching new pilots I often do a demo flight of their plane. I get the
plane to 100 feet, then bring the throttle back to a nice cruising speed. I get
it going straight, with plenty of space in front of it, then take my hand off
the sticks and hold the radio out to the left with my arms spread wide to
emphasize that I am doing nothing. I let the plane go wherever it wants to
go, as long as it is holding altitude, staying
upwind and has enough room. If you are flying a high wing trainer and you
can't do this, your plane is out of trim.

Even in a mild breeze with some gusts, once you reach flying height, you
should be able to take your hand off the stick. Oh the plane will move around
and the breeze might push it into a turn, but it should continue to fly with
no help from you.

Along this same line of thinking, don't hold your turns for more than a couple
of seconds after the plane starts to turn. Understand that the plane turns by
banking or tilting its wings. If you hold a turn too long you will force the
plane to deepen this bank and it will eventually lose lift and go into a
spiral dive and crash. Give your inputs slowly and gently and watch the
plane. Start your turn then let off then turn some more and let off. Start
your turns long before you need to and you won't need to make sharp turns.

I just watch these guys hold the turn, hold the turn, hold the turn, crash.
Of course they are flying in 10 mph wind, near the ground, coming toward
themselves at full throttle.

6) Preflight check - Before every flight it is the pilot's responsibility to
confirm that the plane, the controls and the conditions are correct and
acceptable for flight.

Plane - Batteries at proper power
Surfaces properly aligned
No damage or breakage on the plane
Everything secure

Radio - Frequency control has been met before you turn on the radio
A full range check before the first flight of the day
All trims and switches in the proper position for this plane
Battery condition is good
Antenna fully extended
For computer radios - proper model is displayed
All surfaces move in the proper direction

Conditions - No one on the field or in any way at risk from your fight
You are launching into the wind
Wind strength is acceptable ( see wind above )
Sunglasses and a hat to protect your eyes
All other area conditions are acceptable.

Then and only then can you consider yourself, your plane, radio and the
conditions right for flight. Based on your plane, your radio and local
conditions you may need to add or change something here, but this is the bare
minimum. It only takes a couple of minutes at the beginning of the flying day
and only a few seconds to perform before each flight.

If this all seems like too much to remember, do what professional pilots do,
take along a preflight check list. Before every flight they go down
the check list, perform the tests, in sequence, and confirm that all is right.
If you want your flying experience to be a positive one, you should do the
same. After a short time, it all becomes automatic and just a natural part of
a fun and rewarding day.

I hope some of this is useful in learning to fly your plane.

Last edited by aeajr; Feb 23, 2010 at 10:34 PM. Reason: fix typos - updated some links

donderdag 10 maart 2011

Get Android Google Account

You can get the android google account from a device using the AccountManager like this:


Account[] accounts = AccountManager.get(this).getAccounts();
for (Account account : accounts) {
  // TODO: Check possibleEmail against an email regex or treat
  // account.name as an email address only for certain account.type values.
  String possibleEmail = account.name;
  ...
}
source:  http://stackoverflow.com/questions/2112965/how-to-get-the-android-devices-primary-e-mail-address

You might want to check on account.type to match "com.google" since many other synchronisation accounts exists on a regular device. Think of facebook and weather synchronisation.

Also this requires the GET_ACCOUNTS permission set to your manifest:
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>

Perfect foamie landing gear

I've been looking quite long for a good landing gear for my foamies. My landings aren't as smooth as they should be so they need to be able to handle this. This is my best combo so far:


http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=9886&aff=268919


They match well with these wheels: http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=9849&aff=268919

I now use them on all my < 1kg foamies with success. The wheels can be hold in a place with some shrink or fuel tube on the endings.

Android Calendar API glitches

The Android Calendar API is a bit tricky since it's not official yet so it can and does change from time to time. I won't explain the details on how to use providers. For that check the Android Developer Documentation about Content Providers.

First issue is the URI that changed since the Froyo update. Before Froyo use: "content://calendar". After Froyo you should use: "content://com.android.calendar". The "/calendars" and "/events" suffices didn't change.

Another issue was found on Motorola Android Devices. Therefore you should use "content://calendarEx" as URI. Not sure about what the correct URI would be for a Motorola device shipped with Froyo release. If anyone can tell me please do!

Another issue is the fields that are always changing. I got remarks that synchronisation failed for instance. That was due to a new field that indicates if the events need to be synced with the online google calendar or only with the local device calendar.

This is a list of the fields with some sample data on Android 2.2.1 as found on my HTC Desire HD test device. This is for a Birthday, some values were truncated for privacy, everything fetched as a String:


column index=0, column name=originalEvent, column value=null
column index=1, column name=visibility, column value=0
column index=2, column name=rrule, column value=FREQ=YEARLY;BYMONTH=5;BYMONTHDAY=9;INTERVAL=1
column index=3, column name=hide_declined, column value=0
column index=4, column name=reminder_type, column value=1
column index=5, column name=hasAlarm, column value=0
column index=6, column name=suggest_text_2, column value=null
column index=7, column name=rdate, column value=null
column index=8, column name=transparency, column value=0
column index=9, column name=timezone, column value=UTC
column index=10, column name=dtstart, column value=-399168000000
column index=11, column name=_sync_time, column value=null
column index=12, column name=hasAttendeeData, column value=0
column index=13, column name=commentsUri, column value=null
column index=14, column name=description, column value=null
column index=15, column name=reminder_duration, column value=10
column index=16, column name=htmlUri, column value=null
column index=17, column name=_sync_account, column value=SOME_EMAIL
column index=18, column name=_sync_version, column value=null
column index=19, column name=hasExtendedProperties, column value=0
column index=20, column name=last_update_time, column value=null
column index=21, column name=eventLocation, column value=null
column index=22, column name=dtend, column value=null
column index=23, column name=allDay, column value=1
column index=24, column name=organizer, column value=SOME_EMAIL
column index=25, column name=deleted, column value=0
column index=26, column name=url, column value=null
column index=27, column name=originalInstanceTime, column value=null
column index=28, column name=alerts_vibrate, column value=1
column index=29, column name=importance, column value=1
column index=30, column name=selfAttendeeStatus, column value=0
column index=31, column name=eventTimezone, column value=null
column index=32, column name=ownerAccount, column value=SOME_EMAIL
column index=33, column name=_sync_account_type, column value=com.htc.socialnetwork.facebook
column index=34, column name=lastDate, column value=null
column index=35, column name=guestsCanModify, column value=0
column index=36, column name=guestsCanSeeGuests, column value=1
column index=37, column name=exrule, column value=null
column index=38, column name=selected, column value=1
column index=39, column name=title, column value=SOMEONES Birthday
column index=40, column name=_id, column value=251
column index=41, column name=_sync_id, column value=1251191725-birthday
column index=42, column name=alerts_ringtone, column value=null
column index=43, column name=calendar_id, column value=16
column index=44, column name=access_level, column value=200
column index=45, column name=_sync_local_id, column value=null
column index=46, column name=suggest_text_1, column value=SOMEONES Birthday
column index=47, column name=originalAllDay, column value=null
column index=48, column name=iCalGUID, column value=SOME_HASH_VALUE
column index=49, column name=_sync_dirty, column value=1
column index=50, column name=duration, column value=P1D
column index=51, column name=parentID, column value=null
column index=52, column name=color, column value=-14069126
column index=53, column name=guestsCanInviteOthers, column value=1
column index=54, column name=exdate, column value=null
column index=55, column name=eventStatus, column value=null


woensdag 9 maart 2011

How to tell your lipo is toast

Discharge it down to 3V per cell, 2.85 is better. Now, charge the battery back up and if it doesn't take anymore than 80% of the rated capacity, it's not worth playing with anymore. Always store lipos at 3.8 volts per cell if setting for long periods.

dd: Resource busy on mac

If you want to create a 1 on 1 copy of some disk you might get this error:

dd: /dev/disk1s1: Resource busy

Solution is to unmount any partitions of that disk without unmounting the complete disk. For unmounting you can us the mount command or the DiskUtility.