Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ http://thomaspfeifer.net/usbasp_to_ppm2usb_mod.htm
http://thomaspfeifer.net/usbasp_to_ppm2usb_mod_en.htm



(21/06/2014) - Updated to work in new AVR-GCC

2 changes: 1 addition & 1 deletion firmware/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
/* ----------------------------- USB interface ----------------------------- */
/* ------------------------------------------------------------------------- */

PROGMEM char usbHidReportDescriptor[50] = { /* USB report descriptor, size must match usbconfig.h */
PROGMEM const char usbHidReportDescriptor[50] = { /* USB report descriptor, size must match usbconfig.h */
0x05, 0x01, // USAGE_PAGE (Generic Desktop)
0x15, 0x00, // LOGICAL_MINIMUM (0)
0x26, 0xff, 0x00, // LOGICAL_MAXIMUM (255)
Expand Down
270 changes: 134 additions & 136 deletions firmware/main.hex
Original file line number Diff line number Diff line change
@@ -1,142 +1,140 @@
:1000000089C001C2A2C0A1C0A0C057C336C39DC051
:1000000089C0FEC1A2C0A1C0A0C053C333C39DC05C
:100010009CC09BC09AC099C098C097C096C095C01C
:1000200094C093C092C004030904240374006800C0
:100030006F006D006100730070006600650069006C
:100040006600650072002E006E00650074003403C7
:10005000500050004D0032005500530042002D006A
:10006000740068006F006D0061007300700066002E
:10007000650069006600650072002E006E00650074
:1000800074002C03740068006F006D006100730041
:1000900070006600650069006600650072002E0051
:1000A0006E00650074003A0030003000310012012B
:1000B000100100000008C016DB2700010102030147
:1000C00009022200010100800A0904000001030066
:1000D0000000092101010001223200070581030807
:1000E000000A0501150026FF0075080904A1010991
:1000200094C093C092C009022200010100800A0915
:100030000400000103000000092101010001223237
:10004000000705810308000A1201100100000008E2
:10005000C016DB270001010203012C0374006800B5
:100060006F006D006100730070006600650069003C
:100070006600650072002E006E00650074003A0094
:100080003000300031003403500050004D00320089
:100090005500530042002D00740068006F006D0091
:1000A000610073007000660065006900660065000D
:1000B00072002E006E006500740024037400680056
:1000C0006F006D00610073007000660065006900DC
:1000D0006600650072002E006E0065007400040367
:1000E00009040501150026FF0075080904A101098E
:1000F00001A1000930093195028182C0A1000932B5
:10010000093395028182C0093409350936093795CA
:10011000048182C011241FBECFE5D4E0DEBFCDBF75
:1001200010E0A0E6B0E0E6EBF8E002C005900D922A
:1001200010E0A0E6B0E0E0EAF8E002C005900D9231
:10013000A436B107D9F710E0A4E6B0E001C01D92E3
:10014000A73BB107E1F756D3B4C35ACF85B7826056
:1001500085BF8BB780648BBF8BE480937A008AE580
:100160008093790008951F93CF93DF9390918A0035
:10017000935097FDB2C020918700809186008D3208
:1001800009F0A9C0983009F0A6C0CCE0D0E0C21BAD
:10019000D109C257DF4F83EC80936E008AE58093CC
:1001A0006000109264008881807621F0CE01FFD239
:1001B000282F88C09A81109277008981882331F492
:1001C0001092780087E790E022E078C0853019F43B
:1001D00090938B0070C0863009F058C08B818130BD
:1001E00041F48EEA90E0909389008093880022E1A8
:1001F00049C0823041F480EC90E090938900809374
:10020000880022E23FC0833041F5992341F486E221
:1002100090E0909389008093880024E033C091306F
:1002200041F48AE290E0909389008093880024E270
:1002300029C0923041F48EE490E09093890080933D
:10024000880024E31FC09330E1F482E890E09093AB
:100250008900809388002CE215C0813241F482ED40
:1002600090E0909389008093880029E00BC082324F
:1002700041F482EE90E0909389008093880022E31D
:1002800001C020E080E4809364001CC0883019F431
:100290008DE890E009C0893019F490938D000BC06F
:1002A0008A3021F487E790E021E008C08B3019F410
:1002B0008BE480937A0087E790E020E090938900B8
:1002C000809388008F81882321F48E81821708F41F
:1002D000282F2093610010928A008091600084FF93
:1002E00049C0809161008F3F09F444C0182F8930C4
:1002F00008F018E0811B8093610080916E0098E8FF
:10030000892780936E00112341F12091880030915C
:1003100089008091640086FF0DC0AFE6B0E080E008
:1003200090E0F901E80FF91FE491ED930196181799
:10033000C1F708C0912FD901EFE6F0E08D918193CC
:100340009150E1F71150812F90E01F5F0196820FCD
:10035000931F90938900809388008FE690E0612F2F
:100360004ED0612F6C5F6C3019F08FEF809361007D
:100370006093600094E180B3847131F49150D9F7B7
:1003800010928B0010928500DF91CF911F910895FC
:100390001F93DC01162F8091790084FF07C08091A4
:1003A0007A0098E8892780937A0003C08AE58093D1
:1003B0007900912FEBE7F0E08D9181939150191620
:1003C000DCF38BE790E0612F1AD01C5F109379006B
:1003D0001F910895A82FB92F80E090E041E050EAE6
:1003E000609530E009C02D9182279795879510F090
:1003F00084279527305EC8F36F5FA8F30895EADF7E
:100400008D939D930895CF93CFB7CF93C395849B3E
:10041000E9F7849B09C0849B07C0849B05C0849B2B
:1004200003C0849B01C0A3C0DF93C0918700DD2778
:10043000C257DF4F849B02C0DF91EBCF2F930F9306
:100440001F9300B32FEF04FB20F94F933F9310B39A
:100450004FEF012704FB21F93BE031C04E7F012F14
:1004600010B3216028C0102F4D7F2260000000B320
:1004700029C04B7F2460012F000010B32BC010B3A4
:10048000477F28602AC04F7E00B320612CC04F7D7B
:1004900010B320622FC04F7B00B3206432C04227CC
:1004A00000B349934FEF0000102714FB20F910B35D
:1004B0001471C9F1297F91F2012704FB21F900B3DE
:1004C000237F89F2315058F1102714FB22F910B321
:1004D000277E79F2012704FB23F92F7C81F200B3F8
:1004E000102714FB24F92F7971F200C010B30127F3
:1004F00004FB25F92F7359F200C000B3102714FB39
:1005000026F9223040F200C010B3012704FB27F97E
:10051000243028F64F77206810B30000F9CF10E49C
:100520001ABF002719C03B503195C31BD04010E4BF
:100530001ABF0881033CF9F00B34E9F020918500E3
:100540001981110F1213EDCF4A81441F093641F171
:100550000D3211F0013E29F700938C003F914F912D
:100560001F910F912F91DF91CAB7C6FD4FCFCF9149
:10057000CFBFCF91189520918C00222379F3109151
:100580008A00112369F534306AF130938A00209390
:100590008600109187003BE0311B3093870022C01A
:1005A00000918A000130E4F40AE54F7049F430917B
:1005B000600034FD19C000936000CEE6D0E018C0A2
:1005C0003091790034FD10C000937900CAE7D0E083
:1005D0000FC02795A8F45150A9F4220F0000F9CFBD
:1005E0004AE503C042ED01C0432FC4E1D0E032E050
:1005F00011B31461949A11BB02B320E414E15F9328
:10060000012756E002BB279520F4515021F4220F18
:10061000F9CF012756E000003B5A02BBD0F22795E4
:1006200028F4515029F4220F0000F9CF012756E099
:10063000279502BB20F4515021F4220FF9CF012756
:1006400056E02991332302BB21F60B7E10918B00DB
:10065000110FC651D04002BB11F01093850010E479
:100660001ABF006111B31B7E402F4B7E5F9100C00B
:1006700000C002BB11BB42BB71CF1F920F920FB6DD
:100680000F9211242F938F939F93809162009091EA
:1006900063008F5F9F4F19F081E08093B6008FEF6A
:1006A0009FEF90936300809362009F918F912F91B1
:1006B0000F900FBE0F901F9018951F920F920FB6BC
:1006C0000F9211242F933F938F939F93EF93FF9358
:1006D00026B537B5205633473BBD2ABD205A3C4886
:1006E0008091B4009091B5008091B4009091B500D4
:1006F000281B390B86B597B59093B5008093B4004D
:10070000809162009091630097FD10C0809162001B
:1007100090916300089754F4E0916200F0916300B7
:10072000EE0FFF1FEC55FF4F318320838091620055
:100730009091630001969093630080936200FF9113
:10074000EF919F918F913F912F910F900FBE0F903E
:100750001F90189581E08EBD8EB580688EBD8EB5D8
:1007600080648EBD80E389BF1092B6008FEF9FEF4B
:1007700090936300809362000895FC01EE0FFF1FC9
:10078000EC55FF4F808191812EE2803E920710F45C
:1007900080EE9EE2805E9E426FE270E076D0CB01FA
:1007A0006F3F710519F010F08FEF90E00895FC0194
:1007B000808180768032E1F48181813041F485E668
:1007C00090E0909389008093880088E008958230BB
:1007D00041F48DE690E0909389008093880081E059
:1007E00008958A3029F4838180936D0080E0089514
:1007F00080E00895FF920F931F93CF93DF932EE035
:1008000088E190E00FB6F894A89581BD0FBE21BD98
:10081000A1DF9CDC8C9A20E048EB5BE004C0A8954B
:10082000CA010197F1F72150D1F78C98789481E0B3
:100830008093B60028C0FF24F394A89594DC80919F
:10084000B6008823D1F31092B60005E610E0C0E0B0
:10085000D0E0CE0192DF982FF8018081891719F03E
:100860009083FF24F39421960F5F1F4FC830D1056A
:1008700081F7FF2011F38091790084FFDCCF85E6BA
:1008800090E068E085DDFF24D8CFAA1BBB1B51E1B7
:1008900007C0AA1FBB1FA617B70710F0A61BB70BF0
:1008A000881F991F5A95A9F780959095BC01CD0195
:0608B0000895F894FFCF4B
:0408B6005AFFFFFFE7
:10014000A73BB107E1F750D3A9C35ACFCF93C62F2E
:100150002091790024FF07C020917A0038E82327F6
:1001600020937A0003C02AE520937900DC01EBE7B5
:10017000F0E09C2F9E0F8D918193892F8E1B181676
:10018000D4F36C2F8BE790E037D1CC5FC09379002C
:10019000CF910895CF93DF9380918A00835087FD9C
:1001A000B2C090918700209186002D3209F0A9C03D
:1001B000883009F0A6C0CCE0D0E0C91BD109C257F5
:1001C000DF4F83EC80936E008AE58093610010928C
:1001D00064008881807619F0CE01E5D289C09A81C9
:1001E000109277008981811106C01092780027E76C
:1001F00030E082E079C0853019F490938B0071C0B3
:10020000863009F058C08B81813041F488E490E059
:10021000909389008093880082E149C0823041F444
:1002200086E290E0909389008093880082E23FC04C
:10023000833041F5911108C08EED90E090938900D4
:100240008093880084E033C0913041F48AEB90E0E1
:10025000909389008093880084E229C0923041F411
:1002600086E890E0909389008093880084E31FC023
:100270009330E1F48AE590E09093890080938800C0
:100280008CE215C0813241F488E390E090938900BC
:100290008093880089E00BC0823241F482EE90E0C6
:1002A000909389008093880082E301C080E090E40D
:1002B000909364001DC0883069F0893019F49093E0
:1002C0008D000FC08A3049F08B3059F48BE4809355
:1002D0007A0007C02DE830E002C027E730E081E077
:1002E00003C027E730E080E0309389002093880046
:1002F0009F81911104C09E81981708F4892F8093E3
:10030000600010928A008091610084FF46C0809155
:1003100060008F3F09F441C0C82F893008F0C8E061
:100320008C1B8093600080916E0098E889278093F1
:100330006E00CC2331F120918800309189008091AA
:10034000640086FF0BC0AFE6B0E0F9018C2F8A0F86
:1003500094919D9331968A13FBCF09C0D901EFE6A2
:10036000F0E08C2F8E0F9D9191938E13FCCF8FEF29
:100370008C0F90E00196820F931F909389008093D9
:1003800088006C2F8FE690E037D0CC5FCC3019F02E
:100390008FEF80936000C093610084E190B394710B
:1003A00031F48150D9F710928B0010928500DF91C3
:1003B000CF91089585B7826085BF8BB780648BBF6E
:1003C0008BE480937A008AE5809379000895A82FC2
:1003D000B92F80E090E041E050EA609530E009C03C
:1003E0002D9182279795879510F084279527305E69
:1003F000C8F36F5FA8F30895EADF8D939D93089586
:10040000CF93CFB7CF93C395849BE9F7849B09C063
:10041000849B07C0849B05C0849B03C0849B01C050
:10042000A3C0DF93C0918700DD27C257DF4F849BB5
:1004300002C0DF91EBCF2F930F931F9300B32FEFE9
:1004400004FB20F94F933F9310B34FEF012704FBB8
:1004500021F93BE031C04E7F012F10B3216028C04D
:10046000102F4D7F2260000000B329C04B7F246015
:10047000012F000010B32BC010B3477F28602AC0A3
:100480004F7E00B320612CC04F7D10B320622FC07F
:100490004F7B00B3206432C0422700B349934FEF33
:1004A0000000102714FB20F910B31471C9F1297F43
:1004B00091F2012704FB21F900B3237F89F2315027
:1004C00058F1102714FB22F910B3277E79F2012787
:1004D00004FB23F92F7C81F200B3102714FB24F9CD
:1004E0002F7971F200C010B3012704FB25F92F7397
:1004F00059F200C000B3102714FB26F9223040F255
:1005000000C010B3012704FB27F9243028F64F77E9
:10051000206810B30000F9CF10E41ABF002719C0FB
:100520003B503195C31BD04010E41ABF0881033CF7
:10053000F9F00B34E9F0209185001981110F1213A5
:10054000EDCF4A81441F093641F10D3211F0013ED1
:1005500029F700938C003F914F911F910F912F919C
:10056000DF91CAB7C6FD4FCFCF91CFBFCF911895BE
:1005700020918C00222379F310918A00112369F5D0
:1005800034306AF130938A002093860010918700FE
:100590003BE0311B3093870022C000918A0001307C
:1005A000E4F40AE54F7049F43091610034FD19C05C
:1005B00000936100CEE6D0E018C03091790034FDA0
:1005C00010C000937900CAE7D0E00FC02795A8F4C7
:1005D0005150A9F4220F0000F9CF4AE503C042EDC3
:1005E00001C0432FC4E1D0E032E011B31461949A0A
:1005F00011BB02B320E414E15F93012756E002BB74
:10060000279520F4515021F4220FF9CF012756E00D
:1006100000003B5A02BBD0F2279528F4515029F430
:10062000220F0000F9CF012756E0279502BB20F4E6
:10063000515021F4220FF9CF012756E0299133239D
:1006400002BB21F60B7E10918B00110FC651D040DA
:1006500002BB11F01093850010E41ABF006111B3C2
:100660001B7E402F4B7E5F9100C000C002BB11BBC0
:1006700042BB71CF1F920F920FB60F9211242F938E
:100680008F939F938091620090916300019619F07F
:1006900081E08093B6008FEF9FEF9093630080938B
:1006A00062009F918F912F910F900FBE0F901F901E
:1006B00018951F920F920FB60F9211242F933F930C
:1006C0008F939F93EF93FF9386B597B59C01205628
:1006D00033473BBD2ABD2091B4003091B500209135
:1006E000B4003091B500821B930B26B537B530931B
:1006F000B5002093B400209162003091630037FD73
:1007000011C020916200309163002830310554F40B
:10071000E0916200F0916300EE0FFF1FEC55FF4F78
:100720009183808380916200909163000196909301
:10073000630080936200FF91EF919F918F913F91B1
:100740002F910F900FBE0F901F90189581E08EBDD6
:100750008EB580688EBD8EB580648EBD80E389BF06
:100760001092B6008FEF9FEF90936300809362002A
:100770000895FC01EE0FFF1FEC55FF4F8081918122
:10078000803E2EE2920710F480EE9EE2805E9E4252
:100790006FE270E06FD06F3F710519F010F06FEFEE
:1007A00070E0862F0895FC01808180768032D1F43C
:1007B0008181813041F486E690E0909389008093B6
:1007C000880088E00895823041F485E690E09093B7
:1007D00089008093880081E008958A3019F483812C
:1007E0008093650080E008952EE088E190E00FB6E8
:1007F000F894A89581BD0FBE21BDA8DFDBDD8C9AE2
:1008000080E0815041F0A895E7EBFBE03197F1F7EC
:1008100000C00000F6CF8C98789481E08093B600F9
:10082000F12CA895B7DC8091B6008823D1F3109203
:10083000B60006E610E0C0E0D0E0CE019ADFF80195
:100840009081981719F08083FF24F39421960F5F0D
:100850001F4FC830D10589F7FF2019F38091790027
:1008600084FD03C0FF24F394DCCF68E086E690E0CB
:100870006DDCD6CFAA1BBB1B51E107C0AA1FBB1F53
:10088000A617B70710F0A61BB70B881F991F5A951C
:10089000A9F780959095BC01CD010895F894FFCFFC
:0408A000FF5AFFFFFD
:00000001FF
8 changes: 5 additions & 3 deletions firmware/ppm.c
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@
//=========================================================================

#include <avr/io.h>
#include <avr/interrupt.h>
#include "ppm.h"
#include <avr/interrupt.h>

#define PPM_TCNT TCNT1

Expand All @@ -41,7 +41,8 @@ volatile unsigned int timeOld;
/**
* Interrupt: Compare 1A match = timeout
*/
SIGNAL (SIG_OUTPUT_COMPARE1A) {
//SIGNAL (SIG_OUTPUT_COMPARE1A) {
ISR(TIMER1_COMPA_vect) {
if (chan!=-1) {
ppmNewData=1;
}
Expand All @@ -51,7 +52,8 @@ SIGNAL (SIG_OUTPUT_COMPARE1A) {
/**
* Interrupt: ICP-Edge detect
*/
SIGNAL (SIG_INPUT_CAPTURE1) {
//SIGNAL (SIG_INPUT_CAPTURE1) {
ISR(TIMER1_CAPT_vect) {
unsigned int time=ICR1;
OCR1A=time+T_OUT;
if (time>timeOld) {
Expand Down
10 changes: 10 additions & 0 deletions firmware/usbdrv/Changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -306,3 +306,13 @@ Scroll down to the bottom to see the most recent changes.
endpoint now.

* Release 2010-07-15

- Fixed bug in usbDriverSetup() which prevented descriptor sizes above 255
bytes.
- Avoid a compiler warning for unused parameter in usbHandleResetHook() when
compiler option -Wextra is enabled.
- Fixed wrong hex value for some IDs in USB-IDs-for-free.txt.
- Keep a define for USBATTR_BUSPOWER, although the flag does not exist
in USB 1.1 any more. Set it to 0. This is for backward compatibility.

* Release 2012-01-09
16 changes: 11 additions & 5 deletions firmware/usbdrv/USB-IDs-for-free.txt
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,9 @@ If you use one of the IDs listed below, your device and host-side software
must conform to these rules:

(1) The USB device MUST provide a textual representation of the serial
number. The serial number string MUST be available at least in USB language
0x0409 (English/US).
number, unless ONLY the operating system's default class driver is used.
The serial number string MUST be available at least in USB language 0x0409
(English/US).

(2) The serial number MUST start with either an Internet domain name (e.g.
"mycompany.com") registered and owned by you, or an e-mail address under your
Expand All @@ -108,6 +109,11 @@ driver for Vendor Class devices is needed, this driver must be libusb or
libusb-win32 (see http://libusb.org/ and
http://libusb-win32.sourceforge.net/).

(7) If ONLY the operating system's default class driver is used, e.g. for
mice, keyboards, joysticks, CDC or MIDI devices and no discrimination by an
application is needed, the serial number may be omitted.


Table if IDs for discrimination by serial number string:

PID dec (hex) | VID dec (hex) | Description of use
Expand All @@ -121,11 +127,11 @@ PID dec (hex) | VID dec (hex) | Description of use
---------------+---------------+-------------------------------------------
10203 (0x27db) | 5824 (0x16c0) | For USB Keyboards
---------------+---------------+-------------------------------------------
10204 (0x27db) | 5824 (0x16c0) | For USB Joysticks
10204 (0x27dc) | 5824 (0x16c0) | For USB Joysticks
---------------+---------------+-------------------------------------------
10205 (0x27dc) | 5824 (0x16c0) | For CDC-ACM class devices (modems)
10205 (0x27dd) | 5824 (0x16c0) | For CDC-ACM class devices (modems)
---------------+---------------+-------------------------------------------
10206 (0x27dd) | 5824 (0x16c0) | For MIDI class devices
10206 (0x27de) | 5824 (0x16c0) | For MIDI class devices
---------------+---------------+-------------------------------------------


Expand Down
Loading