Eken supply firmware for their H2, H2R, H3, H3R, H8, H8R, H9 and H9R cameras via the following site:
The "R" camera versions come with a remote control.
Eken supply firmware for their H2, H2R, H3, H3R, H8, H8R, H9 and H9R cameras via the following site:
The "R" camera versions come with a remote control.
# frozen_string_literal: true | |
class CustomFormatter | |
RSpec::Core::Formatters.register self, :example_failed | |
def initialize(output) | |
@output = output | |
end | |
def example_failed(notification) |
FROM java:alpine | |
RUN mkdir -p /usr/src/traccar | |
COPY . /usr/src/traccar | |
VOLUME /usr/src/traccar/data | |
WORKDIR /usr/src/traccar | |
EXPOSE 8082 | |
EXPOSE 5001-5109 | |
CMD ["java", "-jar", "tracker-server.jar", "conf/traccar.xml"] |
source 'https://rubygems.org' | |
gem 'osc-ruby', '1.1.1' | |
gem 'serialport' |
Issue Date,Due Date,Name,Client,Value,Status,Paid On | |
... |
# frozen_string_literal: true | |
source 'https://rubygems.org' | |
gem 'marky_markov', '~> 0.3.5' | |
gem 'twitter', '~> 6.1.0' |
require 'nokogiri' | |
require 'open-uri' | |
require 'json' | |
doc = Nokogiri::HTML(open('http://www.mysupermarket.co.uk/asda-compare-prices/Spirits/Havana_Club_Rum_Anejo_7_Year_Old_700ml.html')) | |
prices = doc.css('#PriceComparison .StoreDiv').map {|c| { name: c.css('.ImgSpan img').first['alt'], cheapest: c['class'].include?('Cheapest'), price: c.css('.Price>span.priceClass, .Price>span.Offer').text.strip } } | |
# => [{:name=>"ASDA", :cheapest=>true, :price=>"£18.00"}, | |
# {:name=>"Tesco", :cheapest=>false, :price=>"£23.30"}, | |
# {:name=>"Ocado", :cheapest=>false, :price=>"£23.30"}, |
The output is IQ (quadrature) sampling. It's interleaved, so first byte is I, second Q and so on. The samples are unsigned bytes, so you subtract 127 from them to get their real ralue (lying between -127 and +127).
Send a command byte followed by a 32-bit big-endian int parameter.
def find_path(entry) | |
path = [] | |
until entry.parent.name == 'Root' do | |
entry = entry.parent | |
path.insert(0, entry.css('>Name').text) | |
end | |
path | |
end | |
def insert_entry(entry) |