fuji-cam-wifi-tool: add master version
This commit is contained in:
parent
58b24565ee
commit
ed224c9a16
4 changed files with 99 additions and 0 deletions
|
@ -15,6 +15,9 @@ in {
|
||||||
# rust development environment
|
# rust development environment
|
||||||
rustup
|
rustup
|
||||||
jetbrains.clion
|
jetbrains.clion
|
||||||
|
|
||||||
|
# foto
|
||||||
|
fuji-cam-wifi-tool
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.variables.RECIPE_HOME = "$HOME/mahlzeit";
|
environment.variables.RECIPE_HOME = "$HOME/mahlzeit";
|
||||||
|
|
|
@ -26,6 +26,8 @@ in {
|
||||||
|
|
||||||
gitlog2json = callPackage ./gitlog2json { };
|
gitlog2json = callPackage ./gitlog2json { };
|
||||||
|
|
||||||
|
fuji-cam-wifi-tool = callPackage ./fuji-cam {};
|
||||||
|
|
||||||
bitwig-studio3 = callPackage ./bitwig-studio/bitwig-studio3.nix { };
|
bitwig-studio3 = callPackage ./bitwig-studio/bitwig-studio3.nix { };
|
||||||
|
|
||||||
bitwig-studio = callPackage ./bitwig-studio/bitwig-studio-environment.nix { };
|
bitwig-studio = callPackage ./bitwig-studio/bitwig-studio-environment.nix { };
|
||||||
|
|
28
pkgs/fuji-cam/default.nix
Normal file
28
pkgs/fuji-cam/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ stdenv, fetchgit, fetchpatch, cmake, linenoise, opencv, ... }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "master";
|
||||||
|
name = "fuji-cam-wifi-tool-${version}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
url = "https://github.com/hkr/fuji-cam-wifi-tool.git";
|
||||||
|
rev = "d66aad105f8533f62cf308647850c04f3436af26";
|
||||||
|
sha256 = "0bnqdqs7g1p5qz3jnlazydznym516bwwxsyzybqxqxy01jjpc5kw";
|
||||||
|
};
|
||||||
|
|
||||||
|
patches = [ ./my.patch ];
|
||||||
|
|
||||||
|
buildInputs = [ linenoise opencv ];
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DWITH_OPENCV=ON" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description =
|
||||||
|
"Trying to reverse-engineer the wifi remote control protocol used by Fuji X series cameras";
|
||||||
|
homepage = "https://github.com/hkr/fuji-cam-wifi-tool";
|
||||||
|
license = licenses.unknown;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = with maintainers; [ mrVanDalo ];
|
||||||
|
};
|
||||||
|
}
|
66
pkgs/fuji-cam/my.patch
Normal file
66
pkgs/fuji-cam/my.patch
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
diff --git a/lib/include/capabilities.hpp b/lib/include/capabilities.hpp
|
||||||
|
index d8d05dc..46f3660 100644
|
||||||
|
--- a/lib/include/capabilities.hpp
|
||||||
|
+++ b/lib/include/capabilities.hpp
|
||||||
|
@@ -37,7 +37,7 @@ enum property_codes: uint16_t {
|
||||||
|
bool is_known_property(uint16_t value);
|
||||||
|
std::string to_string(property_codes property);
|
||||||
|
|
||||||
|
-enum data_type : uint16_t {
|
||||||
|
+enum data_types : uint16_t {
|
||||||
|
data_type_unknown = 0,
|
||||||
|
data_type_int8 = 1,
|
||||||
|
data_type_uint8 = 2,
|
||||||
|
@@ -47,7 +47,7 @@ enum data_type : uint16_t {
|
||||||
|
data_type_uint32 = 6
|
||||||
|
};
|
||||||
|
|
||||||
|
-inline bool is_signed(data_type dt)
|
||||||
|
+inline bool is_signed(data_types dt)
|
||||||
|
{
|
||||||
|
switch (dt) {
|
||||||
|
default:
|
||||||
|
@@ -59,7 +59,7 @@ inline bool is_signed(data_type dt)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-inline size_t data_type_size(data_type dt)
|
||||||
|
+inline size_t data_type_size(data_types dt)
|
||||||
|
{
|
||||||
|
switch (dt) {
|
||||||
|
case data_type_int8:
|
||||||
|
@@ -79,7 +79,7 @@ inline size_t data_type_size(data_type dt)
|
||||||
|
|
||||||
|
struct capability {
|
||||||
|
property_codes property_code = property_unknown;
|
||||||
|
- data_type data_type = data_type_unknown;
|
||||||
|
+ data_types data_type = data_type_unknown;
|
||||||
|
uint8_t get_set = 0;
|
||||||
|
uint32_t default_value = 0;
|
||||||
|
uint32_t current_value = 0;
|
||||||
|
diff --git a/lib/src/capabilities.cpp b/lib/src/capabilities.cpp
|
||||||
|
index 9f5b175..141d8fc 100644
|
||||||
|
--- a/lib/src/capabilities.cpp
|
||||||
|
+++ b/lib/src/capabilities.cpp
|
||||||
|
@@ -63,7 +63,7 @@ std::string to_string(property_codes property)
|
||||||
|
flag = "(current)"; \
|
||||||
|
printf("\t\t%s %s\n", value_string, flag.c_str())
|
||||||
|
|
||||||
|
-static int cap_value_to_int(data_type dt, uint32_t value)
|
||||||
|
+static int cap_value_to_int(data_types dt, uint32_t value)
|
||||||
|
{
|
||||||
|
switch (dt)
|
||||||
|
{
|
||||||
|
diff --git a/tool/CMakeLists.txt b/tool/CMakeLists.txt
|
||||||
|
index 74c15d6..3d221c9 100644
|
||||||
|
--- a/tool/CMakeLists.txt
|
||||||
|
+++ b/tool/CMakeLists.txt
|
||||||
|
@@ -30,3 +30,8 @@ endif()
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(fuji_cam_wifi_tool wsock32 ws2_32)
|
||||||
|
endif()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+# install
|
||||||
|
+install(TARGETS fuji_cam_wifi_tool DESTINATION bin)
|
||||||
|
+
|
Loading…
Reference in a new issue