{"id":17115752,"url":"https://github.com/pathikrit/node-thunder-driver","last_synced_at":"2025-04-13T04:13:39.725Z","repository":{"id":3760054,"uuid":"4836145","full_name":"pathikrit/node-thunder-driver","owner":"pathikrit","description":"Nodejs driver for Dream Cheeky Thunder Missile Launcher","archived":false,"fork":false,"pushed_at":"2013-06-25T22:22:51.000Z","size":140,"stargazers_count":14,"open_issues_count":0,"forks_count":9,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T04:13:19.804Z","etag":null,"topics":["javascript","missile-launcher","node"],"latest_commit_sha":null,"homepage":"http://www.dreamcheeky.com/thunder-missile-launcher","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pathikrit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-29T19:18:55.000Z","updated_at":"2021-11-23T00:40:44.000Z","dependencies_parsed_at":"2022-08-25T16:01:05.851Z","dependency_job_id":null,"html_url":"https://github.com/pathikrit/node-thunder-driver","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathikrit%2Fnode-thunder-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathikrit%2Fnode-thunder-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathikrit%2Fnode-thunder-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pathikrit%2Fnode-thunder-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pathikrit","download_url":"https://codeload.github.com/pathikrit/node-thunder-driver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661720,"owners_count":21141451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","missile-launcher","node"],"created_at":"2024-10-14T17:46:23.638Z","updated_at":"2025-04-13T04:13:39.706Z","avatar_url":"https://github.com/pathikrit.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Prerequisites: \n[usb missile launcher](http://www.dreamcheeky.com/thunder-missile-launcher), \n[gcc-4.3](http://stackoverflow.com/questions/10480654/std-gnu0xoption-for-macos), \n[pkg-config](http://manpages.ubuntu.com/manpages/hardy/man1/pkg-config.1.html), \n[libusb-dev](http://ubuntuforums.org/showthread.php?t=1537201)\n\nQuick Start:\n\n```javascript\nvar launcher = require('node-thunder-driver');\n\n// control methods\nlauncher.up([duration, callback])\nlauncher.down([duration, callback])\nlauncher.left([duration, callback])\nlauncher.right([duration, callback])\nlauncher.stop([callback])\nlauncher.fire([number, callback]) // if no number provided, it is treated as 1\n\n// helper methods\nlauncher.execute(command, [callback])\nlauncher.park([callback])\n```\n\nIf duration is positive, the action is executed for duration milliseconds e.g.launcher.up(2000) would move the turret up for 2 seconds\nIf duration is zero or negative, one 'tick' of that action would be performed e.g. launcher.up(0) would move the turret up one 'tick'\nIf duration is missing, the action would be executed infinitely e.g. launcher.up() would move the turret up continuously\n\nComplex sequence of actions can be \"programmable\" e.g.\n\n```javascript\nlauncher.up(1000, function() {\n  launcher.down(200, function() {\n    launcher.left(5000, function() {\n      launcher.fire(2, function() {\n        launcher.stop(function() {\n           console.log('Finished executing up for 1s, down for 0.2s, left for 5s and then fired 2 missiles');\n        });\n      });\n    });\n  });\n});\n```\n\ncan be simply written as:\n\n```javascript\nlauncher.execute('u1000,d200,l5000,f2', function() {\n  console.log('Finished executing up for 1s, down for 0.2s, left for 5s and then fired 2 missiles');\n});\n```\n\nA helper method park() is provided which moves the turret to a parked/zero position.\nThe shortcut for park is 'p' e.g. this is a valid launch sequence: `p,l1000,f`\n\nSee a [sample project](http://github.com/pathikrit/node-thunder-webui) that uses this library\n\nFuture work - coming up with API `launcher.aim(x,y,z,numOfMisToFire-0)` with launcher at `0,0,0`\n\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/pathikrit/node-thunder-driver/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathikrit%2Fnode-thunder-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpathikrit%2Fnode-thunder-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpathikrit%2Fnode-thunder-driver/lists"}