Git Product home page Git Product logo

metawear-sdk-cpp's People

Contributors

alanhortz avatar hbldh avatar himwho avatar lkasso avatar m-georgi avatar mattthebaker avatar scaryghost avatar wincentbalin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

metawear-sdk-cpp's Issues

Compiling error

Hi,
I've tried to run the make command after cloning the repo. Unfortunately it ends up in a compiling error. my current clang version is 3.8.0-2 and I'm running a x86 Debian system. My current g++ version is 5.4.0 20160609. While running make (just as well as make CXX=g++) ends with this error:

In file included from src/metawear/dfu/cpp/file_operations.cpp:9:0:
src/metawear/dfu/cpp/miniz.c: In function ‘void tdefl_find_match(tdefl_compressor*, mz_uint, mz_uint, mz_uint, mz_uint*, mz_uint*)’:
src/metawear/dfu/cpp/miniz.c:2264:59: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) (const mz_uint16)(p)
^
src/metawear/dfu/cpp/miniz.c:2270:19: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
mz_uint16 c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]), s01 = TDEFL_READ_UNALIGNED_WORD(s);
^
src/metawear/dfu/cpp/miniz.c:2264:59: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) (const mz_uint16)(p)
^
src/metawear/dfu/cpp/miniz.c:2281:13: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01) break;
^
src/metawear/dfu/cpp/miniz.c:2282:7: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
^
src/metawear/dfu/cpp/miniz.c:2264:59: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) (const mz_uint16)(p)
^
src/metawear/dfu/cpp/miniz.c:2281:13: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01) break;
^
src/metawear/dfu/cpp/miniz.c:2282:20: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
^
src/metawear/dfu/cpp/miniz.c:2264:59: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) (const mz_uint16)(p)
^
src/metawear/dfu/cpp/miniz.c:2281:13: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01) break;
^
src/metawear/dfu/cpp/miniz.c:2282:33: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE; TDEFL_PROBE; TDEFL_PROBE;
^
src/metawear/dfu/cpp/miniz.c:2264:59: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) (const mz_uint16)(p)
^
src/metawear/dfu/cpp/miniz.c:2294:13: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]);
^
cc1plus: all warnings being treated as errors
Makefile:64: recipe for target 'build/x64/release/src/metawear/dfu/cpp/file_operations.o' failed
make: *** [build/x64/release/src/metawear/dfu/cpp/file_operations.o] Error 1

While running: g++ -MMD -MP -MF "build/x64/release/src/metawear/dfu/cpp/file_operations.d" -c -o build/x64/release/src/metawear/dfu/cpp/file_operations.o -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Werror -Isrc -DMETAWEAR_DLL -DMETAWEAR_DLL_EXPORTS -O3 -m64 src/metawear/dfu/cpp/file_operations.cpp

Since it runs the same command compiling the python wrapper, it has the same problem.

cheers,
ThiefOfTime

Build issue

Hi, I'm getting this error in macOS Mojave (clang version 7.0.0 (tags/RELEASE_700/final)
Target: x86_64-apple-darwin18.2.0). The same error with "-Wno-strict-aliasing" flag:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2285:5: error:
delete called on non-final 'DfuOperations' that has virtual functions but
non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
delete __ptr;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:2598:7: note:
in instantiation of member function
'std::__1::default_delete::operator()' requested here
_ptr.second()(__tmp);
^
src/metawear/impl/cpp/metawearboard.cpp:850:23: note: in instantiation of member
function 'std::__1::unique_ptr<DfuOperations,
std::__1::default_delete >::reset' requested here
board->operations.reset(new DfuOperations(board, delegate));
^
1 error generated.
make: *** [build/x64/release/src/metawear/impl/cpp/metawearboard.o] Error 1

Build issue

I am getting this trying to build the latest using g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516
It goes smoothly until this command.

g++ -MMD -MP -MF "build/x64/release/src/metawear/dfu/cpp/miniz.d" -c -o build/x64/release/src/metawear/dfu/cpp/miniz.o -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Werror -Isrc -DMETAWEAR_DLL -DMETAWEAR_DLL_EXPORTS -O3 -m64 src/metawear/dfu/cpp/miniz.cpp
src/metawear/dfu/cpp/miniz.cpp: In function ‘void tdefl_find_match(tdefl_compressor*, mz_uint, mz_uint, mz_uint, mz_uint*, mz_uint*)’:
src/metawear/dfu/cpp/miniz.cpp:1356:60: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16 *)(p)
^
src/metawear/dfu/cpp/miniz.cpp:1364:21: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
mz_uint16 c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]), s01 = TDEFL_READ_UNALIGNED_WORD2(s);
^~~~~~~~~~~~~~~~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1356:60: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16 *)(p)
^
src/metawear/dfu/cpp/miniz.cpp:1379:9: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01)
^~~~~~~~~~~~~~~~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1381:13: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE;
^~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1356:60: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16 *)(p)
^
src/metawear/dfu/cpp/miniz.cpp:1379:9: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01)
^~~~~~~~~~~~~~~~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1382:13: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE;
^~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1356:60: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16 *)(p)
^
src/metawear/dfu/cpp/miniz.cpp:1379:9: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
if (TDEFL_READ_UNALIGNED_WORD(&d->m_dict[probe_pos + match_len - 1]) == c01)
^~~~~~~~~~~~~~~~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1383:13: note: in expansion of macro ‘TDEFL_PROBE’
TDEFL_PROBE;
^~~~~~~~~~~
src/metawear/dfu/cpp/miniz.cpp:1356:60: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define TDEFL_READ_UNALIGNED_WORD(p) *(const mz_uint16 )(p)
^
src/metawear/dfu/cpp/miniz.cpp:1407:19: note: in expansion of macro ‘TDEFL_READ_UNALIGNED_WORD’
c01 = TDEFL_READ_UNALIGNED_WORD(&d->m_dict[pos + match_len - 1]);
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from src/metawear/dfu/cpp/miniz.cpp:27:0:
src/metawear/dfu/cpp/miniz.cpp: In function ‘mz_bool mz_zip_validate_file(mz_zip_archive
, mz_uint, mz_uint)’:
src/metawear/dfu/cpp/miniz.h:531:49: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
#define MZ_READ_LE32(p) *((const mz_uint32 *)(p))
^
src/metawear/dfu/cpp/miniz.cpp:5249:19: note: in expansion of macro ‘MZ_READ_LE32’
has_id = (MZ_READ_LE32(descriptor_buf) == MZ_ZIP_DATA_DESCRIPTOR_ID);
^~~~~~~~~~~~
cc1plus: all warnings being treated as errors
Makefile:65: recipe for target 'build/x64/release/src/metawear/dfu/cpp/miniz.o' failed
make: *** [build/x64/release/src/metawear/dfu/cpp/miniz.o] Error 1

Timeout status in board mbl_mw_metawearboard_initialize()

Hi,

Host: Linux 3.10.17-yocto-standard-r2 #7 SMP PREEMPT Thu Feb 26 09:57:06 UTC 2015 i686 GNU/Linux
SDK: 0.5.0 (most recent commit)

Most of times I get MBL_MW_STATUS_ERROR_TIMEOUT (16) status when calling mbl_mw_metawearboard_initialize(). I didn't have this issue in 0.4.15

This API was changed from 0.4.15
void mbl_mw_metawearboard_initialize(MblMwMetaWearBoard *board, MblMwFnVoid initialized)

0.5.0

void mbl_mw_metawearboard_initialize(MblMwMetaWearBoard *board, MblMwFnBoardPtrInt initialized)

This is the application logs:

ardhan@clarence:~/Metawear-Cpp-Driver/cpro-driver$ ./cpro-driver_experimental device.conf 
Device C0:69:B0:46:03:B5 was connected
write_gatt_char: handle=0x001d uuid=326a9001-85cb-9195-d9dd-464cfbbae75a
write_gatt_char: value: 11 09 08 00 80 0c 00 00 d0 07 
read_gatt_char: handle=0x001a uuid=00002a26-0000-1000-8000-00805f9b34fb
Characteristic value/descriptor: 31 2e 32 2e 33 
read_gatt_char: handle=0x0014 uuid=00002a24-0000-1000-8000-00805f9b34fb
Characteristic value/descriptor: 32 
write_gatt_char: handle=0x001d uuid=326a9001-85cb-9195-d9dd-464cfbbae75a
write_gatt_char: value: 01 80 
[ERROR] 2016-09-13_03:59:01.554: Initialization failed (16)...!

Building on Raspberry Pi

I have tried to get the library to build on my Raspberry Pi 2, i.e. on ARM architecture, with little success so far.

For starters, the -m32/-m64 does not work there, and after removal of them from Makefile it at least builds. Running the make test command yields the following output:

pi@raspberrypi:~/Repos/Metawear-CppAPI $ make test
python3 -m unittest discover -s test
terminate called after throwing an instance of 'std::out_of_range'
  what():  _Map_base::at
Makefile:117: recipe for target 'test' failed
make: *** [test] Aborted

I have tried several other flags (The Rasbian Jessie image has gcc (Raspbian 4.9.2-10) 4.9.2 as default so I was looking through the manual), but also without success. Have tried building with Clang as well, but the apt-get package of it is this:

Raspbian clang version 3.5.0-10+rpi1 (tags/RELEASE_350/final) (based on LLVM 3.5.0)
Target: arm-unknown-linux-gnueabihf
Thread model: posix

Do you have any idea as to what might be done to get it to run? This error is similar to the one in #2, is the cause similar as well do you think?

Proposal to use relative imports in functions.py

The new functions.py module imports using absolute paths, which makes it a requirement to have the mbientlab package as a root package in the Python path (as is done in the Makefile).

In my Python package, I instead include this repository as a Git submodule and copy the entire mbientlab package so it becomes a subpackage (pymetawear.mbientlab). Importing the functions module fails in that case. I propose the following import compromise using relative imports:

from ctypes import *
from .core import *
from .peripheral import Led

The MetaWear-CppAPI tests still pass and I can use the setup_libmetawear method without modifying the functions.py file.

I would have sent a pull request, but since it said that the file was autogenerated I felt it better to add this as an improvement issue.

non explicit declarations block some compiling

On some platforms (windows visual studio) I run into compiling errors due to this chunk: https://github.com/mbientlab/MetaWear-SDK-Cpp/blob/master/src/metawear/dfu/cpp/file_operations.cpp#L120-L134

specifically these lines:

Error (active) E0350 more than one operator "=" matches these operands: src\metawear\dfu\cpp\file_operations.cpp 127

Error (active) E0350 more than one operator "=" matches these operands: src\metawear\dfu\cpp\file_operations.cpp 130

I am trying to figure out what the non-auto declares are for this function but because i do not use this function I am having a hard time recommending a PR to make this more explicit.

NAND Stats

See Matt's new endpoint for NAND statistics in debug module

Cannot run tests in 0.5.0

I am unable to run the make test command on a clean cloned repository with the latest version (0.5.0) checked out. Checking out HEAD~1 make the tests work again.

Build Error: C2593: 'operator =' is ambiguous

Hello,
I use VS2019, therefore I upgraded to:
PlatformToolset: v142
WindowsTargetPlatformVersion: 10.0.17763.0

When building I get the following two Errors:

"\MetaWear-SDK-Cpp-0.18.4\MetaWear.Win32.vcxproj" (default target) (1) ->
(ClCompile target) ->
  \MetaWear-SDK-Cpp-0.18.4\src\metawear\dfu\cpp\file_operations.cpp(127,48): error C2593: 'operator =' is ambiguous [\MetaWea
r-SDK-Cpp-0.18.4\MetaWear.Win32.vcxproj]
  \MetaWear-SDK-Cpp-0.18.4\src\metawear\dfu\cpp\file_operations.cpp(131,48): error C2593: 'operator =' is ambiguous [\MetaWea
r-SDK-Cpp-0.18.4\MetaWear.Win32.vcxproj]

Full Output: https://pastebin.com/SCA8NG9e

The build works fine when fixing those two lines.

Problem with Magnetometer

Hi,
I got a metawear C, I am able to abserve accelerometer, gyroscope and button but I can not access to the magnetometer (I got no notification from it)...
Here are the code I send to the codes that I send to it :

  • 0x15040102
  • 0x150300
  • 0x15020100
  • 0x150101

P.S. 1 : I am pretty sure that the magnetometer works (tested with the android App).
P.S. 2 : Btw : there is a typo on the python test for magnetomter, you define twice the test start_accelerometer, the second time should be about stop_accelerometer.

Battery state query generates Out of Range exception

Using the new 0.4.0 API, I tried one of the new battery state methods out. I called the built shared library from Python, in a similar fashion to the tests for this library; see usage for my Python MetaWear client.

Reading battery state with

libmetawear.mbl_mw_settings_read_battery_state(board)

leads to exception in, I think, the C++ library:

terminate called after throwing an instance of 'std::out_of_range'
    what():  _Map_base::at

Other points of interest:

  • System is running Ubuntu 15.10
  • The Python tests for Metawear-CppAPI passes.
  • The Metawear-CppAPI is built with gcc 5.2.1
  • I can flash the LEDs using the same approach, both in Python 2.7.10 and Python 3.4.3.

Sensor data signal handler stopped being called

Firmware: 1.2.4
C++ SDK: 5.22
Host: Linux 3.10
BlueZ: 5.39

After several minutes running our program which subscribes to a CPRO accelerometer, gyro and magnetometer sensors, apparently it stop receiving sensor data, in this case all signal handlers were stopped being called. We have had this issue since the previous firmware and SDK. With device reset, the stream shall run again then unfortunately stop after some times.

We tested using latest 1.2.4 firmware since as the release notes say it may have addressed this issue. I believe the problem is identical to this post http://community.mbientlab.com/discussion/1773/board-stops-sending-data-after-few-sequential-connect-disconnect-cycles-possibly-a-firmware-bug#latest

Proper way to link to a project

I have been struggling to figure out the best way to include/link this to a project whether by cmake or better yet compiling source to avoid any weird linking issues but the way the source files are organized make this very challenging, was curious if you had a recommendation?

Сhange the device name permanently with macro not working

I need to change name of device. I change it using a method in the api, but after the battery runs out, the device name returns to default.
I tried using macro. The macro is recorded successfully, if I call it after recording, the device name changes, but after the battery is discharged, the macro does not start automatically and the script crashes when manually started.
Has anyone experienced this behavior?

Macro example from c++ api:

In this example, we will change the device name permanently:

#include "metawear/core/macro.h"
#include "metawear/peripheral/led.h"

void setup_macro(MblMwMetaWearBoard* board) {
    static auto callback = [](MblMwMetaWearBoard* board, int32_t id) {
        cout << "Macro ID = " << id << endl;
        macro_id = id;
    };

    // Change on boot
    mbl_mw_macro_record(board, 1);
    auto new_name = "METAMOO";
    mbl_mw_settings_set_device_name(board, new_name, 7);
    mbl_mw_macro_end_record(board, callback);

    // Change the name now
    mbl_mw_macro_execute(macro_id);
}

Multiple Definitions Problem

Hello mbientlab,

there are various occasions of constants that are being declared AND defined inside headers that can externally be included by projects. Examples are the MBL_MW_STATUS constants in core/status.h.

If two separate source files of a project using the metawear API include the same header (e.g. status.h) then these constants are getting redefined, which is not supported by the GNU compiler collection. This problem can not be guarded by the #prage once statement as it only prevents recursive inclusion of headers.

Please, provide information on how to workaround this problem.

Best,
Till

Make `TIME_PER_COMMAND` a parameter instead of a constant

In src/metawear/core/cpp/constant.h the value is hard coded to 150. This value is used in mbl_mw_metawearboard_initialize and makes the initialization fail when I use the library.

During the writing and notification exchange during initialization I get a status 16 response and initialization breaks. When changing the value to >250, then everything works fine and initialization is completed successfully.

Is it possible to make TIME_PER_COMMAND into parameter to set instead of a constant? Or at least bump it to >250?

Fix fuser

Fuser test fails, has been commented out from tests

C# wrappers removed?

Hi, In the 0.2.0 and 0.2.2 releases, it looks like the csharp wrappers folder have been removed. Was this intentional? is there somewhere else the c# wrappers are being maintained?

Build error: ‘int64_t’ has not been declared

Hi, got this when compiling on x86

g++ = g++ (Debian 4.7.2-5) 4.7.2
make = GNU Make 3.81
Linux elena 3.10.17-yocto-standard-r2 #7 SMP PREEMPT Thu Feb 26 09:57:06 UTC 2015 i686 GNU/Linux

$ make
mkdir -p build/x86/release/src/metawear/platform/cpp
mkdir -p build/x86/release/src/metawear/core/cpp
mkdir -p build/x86/release/src/metawear/peripheral/cpp
mkdir -p build/x86/release/src/metawear/processor/cpp
mkdir -p build/x86/release/src/metawear/sensor/cpp
mkdir -p build/x86/release/src/metawear/impl/cpp
mkdir -p dist/release/lib/x86
g++ -MMD -MP -MF "build/x86/release/src/metawear/platform/cpp/threadpool.d" -c -o build/x86/release/src/metawear/platform/cpp/threadpool.o -std=c++11 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Werror -Isrc -DMETAWEAR_DLL -DMETAWEAR_DLL_EXPORTS -O3 -m32 src/metawear/platform/cpp/threadpool.cpp
In file included from src/metawear/platform/cpp/threadpool.cpp:1:0:
src/metawear/platform/cpp/threadpool.h:8:57: error: ‘int64_t’ has not been declared
src/metawear/platform/cpp/threadpool.cpp:30:7: error: prototype for ‘Task* ThreadPool::schedule(std::function<void()>, int64_t)’ does not match any in class ‘ThreadPool’
In file included from src/metawear/platform/cpp/threadpool.cpp:1:0:
src/metawear/platform/cpp/threadpool.h:8:18: error: candidate is: static Task* ThreadPool::schedule(std::function<void()>, int)
make: *** [build/x86/release/src/metawear/platform/cpp/threadpool.o] Error 1

MMS Serial State

Add MMS serial state:

0x01: create_string_buffer(b'\x01\x80\x00\x00', 4),
0x02: create_string_buffer(b'\x02\x80\x00\x01\x03\x00', 6),
0x03: create_string_buffer(b'\x03\x80\x04\x00', 4),
0x04: create_string_buffer(b'\x04\x80\x01\x00\x00\x03\x01\x02', 8),
0x05: create_string_buffer(b'\x05\x80\x00\x02\x03\x03\x03\x03\x03\x03\x01', 11),
0x06: create_string_buffer(b'\x06\x80\x00\x00', 4),
0x07: create_string_buffer(b'\x07\x80\x00\x00', 4),
0x08: create_string_buffer(b'\x08\x80\x00\x00', 4),
0x09: create_string_buffer(b'\x09\x80\x00\x03\x1c', 5),
0x0a: create_string_buffer(b'\x0a\x80\x00\x00\x1c', 5),
0x0b: create_string_buffer(b'\x0b\x80\x00\x03\x08\x00\x00\xfb\x03\x00\x02', 11),
0x0c: create_string_buffer(b'\x0c\x80\x00\x00\x08', 5),
0x0d: create_string_buffer(b'\x0d\x80\x00\x01', 4),
0x0e: create_string_buffer(b'\x0e\x80', 2),
0x0f: create_string_buffer(b'\x0f\x80\x00\x02\x08\x00', 6),
0x10: create_string_buffer(b'\x10\x80', 2),
0x11: create_string_buffer(b'\x11\x80\x00\x09\x07\x00', 6),
0x12: create_string_buffer(b'\x12\x80\x00\x00', 4),
0x13: create_string_buffer(b'\x13\x80\x01\x00', 4),
0x14: create_string_buffer(b'\x14\x80\x00\x00', 4),
0x15: create_string_buffer(b'\x15\x80\x00\x02', 4),
0x16: create_string_buffer(b'\x16\x80', 2),
0x17: create_string_buffer(b'\x17\x80', 2),
0x18: create_string_buffer(b'\x18\x80', 2),
0x19: create_string_buffer(b'\x19\x80\x00\x03\x03\x00\x06\x00\x02\x00\x01\x00', 12),
0xfe: create_string_buffer(b'\xfe\x80\x00\x05\x03', 5),

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.