summaryrefslogtreecommitdiffstats
path: root/commandline
diff options
context:
space:
mode:
authorcpldcpu <cpldcpu@gmail.com>2013-12-17 10:06:40 +0100
committercpldcpu <cpldcpu@gmail.com>2013-12-17 10:06:40 +0100
commita44f516520527a08c251561b28ee973d4060195f (patch)
tree4ce48f1e6762ffb12816fd7b6cd3c3e62705ef64 /commandline
parenta6afba324cc7ae49b755a2786104f45aea2b290c (diff)
parent04e0d950d18fba8af17e844f9d6d0bb868cb5981 (diff)
downloadmicronucleus-a44f516520527a08c251561b28ee973d4060195f.tar.gz
micronucleus-a44f516520527a08c251561b28ee973d4060195f.tar.bz2
micronucleus-a44f516520527a08c251561b28ee973d4060195f.zip
v1.10: Merging changes into testing
Diffstat (limited to 'commandline')
-rw-r--r--commandline/49-micronucleus.rules16
-rw-r--r--commandline/Readme14
-rw-r--r--commandline/library/littleWire_util.c19
-rw-r--r--commandline/library/littleWire_util.h5
4 files changed, 38 insertions, 16 deletions
diff --git a/commandline/49-micronucleus.rules b/commandline/49-micronucleus.rules
new file mode 100644
index 0000000..bed33d6
--- /dev/null
+++ b/commandline/49-micronucleus.rules
@@ -0,0 +1,16 @@
+# UDEV Rules for Micronucleus boards including the Digispark.
+# This file must be placed at:
+#
+# /etc/udev/rules.d/49-micronucleus.rules (preferred location)
+# or
+# /lib/udev/rules.d/49-micronucleus.rules (req'd on some broken systems)
+#
+# After this file is copied, physically unplug and reconnect the board.
+#
+SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
+KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
+#
+# If you share your linux system with other users, or just don't like the
+# idea of write permission for everybody, you can replace MODE:="0666" with
+# OWNER:="yourusername" to create the device owned by you, or with
+# GROUP:="somegroupname" and mange access using standard unix groups.
diff --git a/commandline/Readme b/commandline/Readme
index 00e91f7..329247a 100644
--- a/commandline/Readme
+++ b/commandline/Readme
@@ -6,15 +6,21 @@ three. To make and install, do the regular 'make; sudo make install' on unixes.
On windows just 'make' with mingw and do whatever people do with windows exes.
Usage on Ubuntu:
- sudo micronucleus --run name_of_the_file.hex
+ sudo micronucleus --run name_of_the_file.hex
Usage on Mac:
micronucleus --run name_of_the_file.hex
Usage on Windows
micronucleus.exe --run name_of_the_file.hex
-Raw binary file writing hasn't been tested much yet and is suspected to not
-work.
+Raw binary file writing hasn't been tested as much as hex files.
Every now and then the program fails once it reaches the Writing stage - this is
a known bug - but if you simply rerun the micronucleus command immediately, it
-will succeed the second time usually. Most of the time this issue is not present. \ No newline at end of file
+will succeed the second time usually. Most of the time this issue is not present.
+
+To linux users: sudo is used above because the default configuration under most
+modern linux distributions is to not allow userspace apps to communicate
+directly to unknown USB devices. You can fix this by installing some config
+files, or you can just use sudo. Either way you're going to need root. To
+configure your system to allow micronucleus access from non-root users, copy
+49-micronucleus.rules from this folder to /etc/udev/rules.d/
diff --git a/commandline/library/littleWire_util.c b/commandline/library/littleWire_util.c
index 985c4a3..c34460c 100644
--- a/commandline/library/littleWire_util.c
+++ b/commandline/library/littleWire_util.c
@@ -1,14 +1,13 @@
#include <littleWire_util.h>
/* Delay in miliseconds */
-void delay(unsigned int duration)
-{
- #if defined _WIN32 || defined _WIN64
- // use windows sleep api with milliseconds
- // * 2 to make it run at half speed, because windows seems to have some trouble with this...
- Sleep(duration * 2);
- #else
- // use standard unix api with microseconds
- usleep(duration*1000);
- #endif
+void delay(unsigned int duration) {
+ #if defined _WIN32 || defined _WIN64
+ // use windows sleep api with milliseconds
+ // * 2 to make it run at half speed, because windows seems to have some trouble with this...
+ Sleep(duration * 2);
+ #else
+ // use standard unix api with microseconds
+ usleep(duration*1000);
+ #endif
}
diff --git a/commandline/library/littleWire_util.h b/commandline/library/littleWire_util.h
index 27dc172..1f060c3 100644
--- a/commandline/library/littleWire_util.h
+++ b/commandline/library/littleWire_util.h
@@ -2,12 +2,13 @@
#define LITTLEWIRE_UTIL_H
#if defined WIN
- #include <windows.h>
+ #include <windows.h>
#else
- #include <unistd.h>
+ #include <unistd.h>
#endif
/* Delay in miliseconds */
void delay(unsigned int duration);
+// end LITTLEWIRE_UTIL_H section:
#endif