Coder Social home page Coder Social logo

deviationtx / deviation Goto Github PK

View Code? Open in Web Editor NEW
246.0 35.0 153.0 31.19 MB

Custom firmware for RC Transmitters

Home Page: http://www.deviationtx.com

License: GNU General Public License v3.0

Makefile 1.28% C 95.59% C++ 0.28% Perl 1.22% Python 1.45% Shell 0.10% XS 0.08%

deviation's Introduction

Deviation firmware for RC transmitters

The Deviation firmware project is hosted at http://www.deviationtx.com

Current build status

Build Status Coverage Status

There you can find links to:

Building Deviation requires setting up a cross-compiler. On certain transmitters (like the devo7e), the firmware takes up nearly 100% of the available ROM, and we have found that only specific versions of the cross-compiler can build it successfully.

To facilitate building Deviation consistently, we have provided Docker images to guarantee consistent builds across platforms. Instruction for building with Docker can be found here: http://www.deviationtx.com/wiki/development/docker

While not recommended, other methods of building Deviation are documented here: http://www.deviationtx.com/wiki/development

deviation's People

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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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

deviation's Issues

Main page text

Build version is 711ada2
download the dfu on deviation web site
Tx Type is Devo10
Can tried reproducing this on the emulator

default

Telemetry alarms strange behavior

I have the voice mod installed on T8SG V2 plus. The problem is not voice mod related, but better visible (or rather audiable) with it. I'm using the Flysky telemetry.

I set the telemetry alarms in the way that all 6 alarms are active at the same time.
Every 15 seconds the alarm is spoken. Here is the sequence of spoken alarms:
2333344556611222222222334455661111111112233445555555555566112233333333

Seems to me, that they are reported in sequence, usually twice for one alarm - but there are sometimes longer sequences of the same alarm. Working that way they are not so usefull. If the system "locks" on one type of the alarm (i.e. low battery) the next alarm can be held for more then one minute before reported. Or more than 3 minutes if no luck. With less number of active alarms at the same time the problem is the same.

My suggestion is to:
Report the new alarm imidietly after the occurence if the alarm was not active before.
Report every active alarm in a sequence after the time interval as it is being done now, but change the reported alarm type on each report. So, for all 6 alarms active it should go 123456123456.

As additional functionality I suggest not to play the alarm for the same sensor if the sensor is configured twice (or more) in the alarms list. For instance, if I set two alarms for VBAT1 and the condition for both alarms is active, then play only the first alarm of this sensor.

If I enter the telemetry page and then return to the main screen alarns are deactivated?

Jumper T8SG V2 Plus reversed horizontal stick directions.

Mode 2 Jumper T8SG V2 Plus Transmitter.
The horizontal stick values (for both sticks) goes from the right to the left, rather than from the left (lower values) to the right (higher values) as it is "normal" in other transmitters. In most cases it means that the channel has to be reversed. Can the default be changed to the most "natural" order? Or is any setting to do this? The vertical values goes from the bottom to the top, which seams to be ok.

Hubsan drones and Jumper T8SG V2 plus

I need help with the Jumper. My drones are Hubsan. I have configured the H122D and the H501S, and I have managed to fly them a couple of times, but most of the attempts I can not start engines. If we talk about the H122D I have it configured with the Hubsan protocol and subprotocol 107, when I have flown it has been perfect but I change the battery I try to start motors and I do not get it anymore.
What I can be doing wrong?.
The same thing happens with the H501S, which I have configured not with H107, but H501S, has also flown perfect, without GPS, I do not think it can be activated, but the same thing happens, many times I can not start engines and I do not know why.

Unstaged changes

Now I have two unstaged changes even if I don't change anything:

Binary files a/install_nightlies.tar.enc and b/install_nightlies.tar.enc differ
src/target/common/devo/msc2/lib/stm32f10x_flash.c

I think it can be related to:
cfb19f6

T8SG V2 Plus - Haptic feedback

Using voice alerts via dfplayer, the haptic feedback does not enable. You can have either voice or beeps and vibes, but not voice and vibes.

Help me :/ Unable to boot and some CYRF6936 error message

I have two trouble and not sure the two was link together :/

Yesterday, i have got this message on my radio : "CYRF6936 missing", it's a jumper T8SG, but i only use for FrSky (nothing special append (no fall or something else)).

So i think, ok maybe try to flash firmware, it's can be better.
So i download the lase Nightly Builds deviation-t8sg-v5.0.0-04f8983.zip and flash it, format sd card copy zip content on it.

My radio still bootloop and get this CYRF6936 missing X_x.

I need help, also i see an error file, so here the content :

[Hard fault]
t8sg-v5.0.0-04f8983
R0 = 00000000
R1 = 80000000
R2 = 00000000
R3 = 00000000
R12 = 20000250
LR [R14] (subroutine call return address) = 0802ddad
PC [R15] (program counter) = 0802ddac
PSR = 81000000
BFAR = e000ed38
CFSR = 00000400
HFSR = 40000000
DFSR = 00000000
AFSR = 00000000
SCB_SHCSR = 00000000
Top of Stack:2000c000
Stack Detect:2000bf90
Backtrace:
2000bfa4 : 0802ddad
2000bfb4 : 0802e027
2000bfb8 : 0802c605
2000bfc4 : 0802c637
2000bfc8 : 0802c605
2000bfcc : 0802986f
2000bfd4 : 08029d07
2000bfe4 : 0800b43b
2000bfec : 0800b547
2000bffc : 08033ba9
Done

Mainpage config doesnt work properly

On my Devo 12s i have the problem that when i try to move e.g. the trim bar. that i have to click on the trimbar, then i can move it one Pixel. Selection is lost. Then i have again to click on the trim bar to move it one pixel.

Trim in Elevon Mode

Hi,
I am using a T8SG in elevon mixing mode and I observe that the trim buttons only move one of the control surfaces instead of both. For elevon mixed mode, the trim should mix using the elevon missing settings, ie, trim should move the control surfaces simultaneously.

Thank you.

Loss of binding on Devo Protocol

I have experienced with my devo 12s a binding loss as I was finalizing the set up of a model. Each time I put the right stick of the tx full up the binding was lost and the rx led flashed. I changed the alim of the Rx, changed the Rx, Same Result. I formated my USB drive and reloaded the firmware without change. Finally I reproduced the bug on my Devo 8s after having loaded on it my model file.
In fact the binding was erratic because I used a fixed ID but when the Rx light flashed some channels were blocked.
After more investigation I found that the binding could be not lost if the value of the scale+ in a channel set up was reduced to a certain value. (in the model file included channel 7 scale + reduced to 167.)

This could come, from expert advice (FDR) from an overflow of the channel value, which makes the packet invalid.

model19.zip

Problem Momentary Trim on LEFT/RIGHT/UP/DOWN key

Hi,
I think momentary Trim on LEFT/RIGHT/UP/DOWN key doesn't work well.

I join a full model for your test
model3.txt

in this model Timer1 is reset on Right press.
But when i test it not reset by right but by left press.

the test procedure :
1 : up THR to start timer
2 : press Right ==> nothing append
3 : press Left ==> timer is reset.

if you change pos value in trim5 to Down like this :
pos=Down
1 : up THR to start timer
2 : press Right ==> timer is reset
3 : press Left ==> timer is reset.

then why timer is reset by LEFT key ?
thanks

[TODO] Cleanup Music API usage in protocols

There are couple of protocols are using MUSIC APIs. this is not right behavior as protocol should not impact the user experience. Someone need analyze the needs for protocols and expose some APIs from PROTOCOL apis for those protocols to consume.

I believe most of MUSIC API calls are not needed as most of them are play music of Done_Binding which should be played by the logic inside protocol.c.

$git grep MUSIC protocol
protocol/bayang_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/bayang_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/bugs3_a7105.c: MUSIC_Play(MUSIC_ALARM1);
protocol/cflie_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/cg023_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/cg023_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/cx10_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/cx10_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/esky150_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/esky_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/esky_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/fy326_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/fy326_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/fy326_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/fy326_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/h8_3d_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/h8_3d_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/hontai_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/hontai_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/inav_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/kn_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/mjxq_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/mjxq_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/mt99xx_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/mt99xx_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/protocol.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/q303_nrf24l01.c: MUSIC_Beep("d2", 100, 100, (vtx_channel & 7) + 1);
protocol/symax_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/v202_nrf24l01.c: // MUSIC_Play(MUSIC_TELEMALARM1); // Shouldn't play telemetry alarm doing bind init
protocol/v202_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);
protocol/yd717_nrf24l01.c: MUSIC_Play(MUSIC_DONE_BINDING);

Flysky telemetry - the second temperature and maybe altitude?

Could the second temperature sensor be allowed, as it is a place in the telemetry screen for two temperatures? The code only reads the first one.

There is also a Turnigy TGY-CAT01 Altitude Sensor . It seems to have an implementation on FS-i6X transmitter telemetry. As I don't have one yet I can not tell for sure how it works, but it will be a nice completion for the Flysky telemetry.

irangex irx-ir8m missing A7105

I just update the firmware to 2018-01-31 and now get this error on startup.

"Missing modules: A7105 ..."

Is there a way to fix it?

Any help much appreciated,
Jeff.

branch5 make TARGET=devof7 error

make TARGET=devof7
results in this error

ERROR: Target 'en_US' is not in list (devo8 devo10 devo12)
make: *** [filesystem/devof7/models/model10.ini] Error 1

Filesystem corruption on Devo 12E

I’m filing this to (hopefully) get this old thread more attention. There are (AFAICT) two severe issues with Deviation on Devo 12E. I’m not sure whether they are related or not.

  1. The Deviation uploader doesn’t support Devo 12E; one has to use an old version of the Dfuse tool to flash it.
  2. After flashing Deviation with Dfuse and creating / restoring the filesystem, any filesystem accesses over USB other than reads clobber the filesystem so that Devo 12E won’t boot any more. Subsequent attempts to mount the filesystem show ugly binary randomness where file names used to be. Writing the files once, all in one go, onto a freshly formatted FAT12 and without any subsequent modifications, seems to work just fine though.

The obvious problem with the filesystem inconsistency is that (1) it makes it much harder to edit / duplicate your model files over USB and (2) it leaves one wondering whether the problem only affects USB accesses or whether model editing directly on the radio could (theoretically) also be affected.

I also run Deviation on a Devo 10 and it’s just rock solid stable, no filesystem corruption ever. So either I have a flawed Devo 12E specimen or there’s indeed a data consistency issue on Devo 12E.

T8SG V2 datalog signature

Currently it is the same as the Devo 7e, (0x7e) which is wrong, as the Devo 7e has different datalog entries for buttons and no aux channels. It should be changed to whatever unique for T8SG V2.

T8SG V2 Plus - voice volume on turn-on

Using dfplayer and setting the voice volume, the system ignores the volume setting intermittently on turn on and boots with the welcome message at full volume. after boot the voice commands following are at the correct volume.

Trainer cable crashes T8SG

Hello there. I'm new here and i hope this is the right place.

When I connect my Jumper t8sg to a buddy box (used different boxes) with an "S cable" or a "Trainer cable" to the aux cable, the Jumper's transmitter settings get wiped and reset to defualts (12.00 voltage warning for example).

This doesn't happen right away but after a while. It seems to be connected to the throttle (stick 1 up and down) because the Jumper also only recognized +- 2 (instead of +- 100) on that channel. and it seems to happen when i configure the throttle in the PPM in settings.

When i turn the radio on it warns of low battery and can't save. It also starts from "Model 207" when turned on. Nothing I do will save and the only way to rectify this is by flashing.

I assume this has something to do with the power from the buddy box creating a surge of some sort which resets and/or hardlocks somthing in the Jumper.

Thanks for helping!

Any user defined txid greater than 0x7fffffff is not working correctly

Any user defined txid greater than 0x7fffffff is not working correctly due to a typo/mistake in config/hardware.c on line 107:
is:
Transmitter.txid = strtol(value, NULL, 16);
should be:
Transmitter.txid = strtoul(value, NULL, 16);

(Currently txid's 0x7fffffff thru 0xffffffff are the same)

how to edit bmp file?

in folder deviation/src/fs/320x240x16/media/ have many *.bmp files,I use photoshop edit the picture files,and save as 16bit bmp format file,but the file cannot be build with Docker,which picture tool can edit the bmp format picture file?

F12E-XMS : Power off during flight and recv. video (use FPV)

Irregular Crash occurs when F12E-XMS (5.0.0). using FPV

  • version : 5.0.0-21674bd
  • Bind model : cheerson cx95s
  • protocol : DSM2
  • tx mod.
    4 in 1 txmodule
    4MB flash up
  • symptom
    Irregular power off while fly and recv. Video.
    (Create errors.txt)

errors.txt 1
'
[Soft fault]
devof12e-XMS-v5.0.0-21674bd
R0 = 00000045
R1 = 2000bf37
R2 = c0000000
R3 = 00000003
R12 = 2000bf30
LR [R14] (subroutine call return address) = 08009b15
PC [R15] (program counter) = 08009916
PSR = 21000000
BFAR = e000ed38
CFSR = 00000000
HFSR = 00000000
DFSR = 00000000
AFSR = 0000000`

T8SG V2 startup screen.

I’ve installed the latest (nightly) firmware on my T8SG v2 controller and evertything is working super fine! Many thanks for that. There’s just one issue that I’d like to report here; each time I turn on the T8SG there is a popup showing “Ch3 is -6%, safe value = -100”. This message is blocking the controllers operation, I have to press enter to get rid of the popup before the controller starts working.

Is this intentional? Or can I change the configuration so that the controller starts working immediately without the popup? Hope you can help me. Many thanks.

No new nightly build ?

Any idea why the download section hasn't had any new nightly builds added for a few days ?

Flysky LQI telemetry on CH14

Flysky AFHDS2A protocol has max 14 channels. The telemetry "LQI output" setting allows to select only up to 12 channel. Can it be expanded to 14?

Two stage telemetry alarms

As for the aircraft battery voltage I'd like a the two stage warnings:

  1. battery is low
  2. battery i s critical.
    Can it be achived with the Deviationtx? I know I can set whatever alarm on telemerty data, but i have only one stage of it.

Is it maybe a BUG is the software of "Deviation"? (FrSky)

Hello dear friends!

With Frsky receivers there are unfortunately very strong range issues. Me and a friend of mine get a failsave after like 50-100 meters with Frsky!

"FrSky R-XSR Ultra SBUS / CPPM D16 16CH Mini Redundancy Receiver 1.5g for RC Multirotor FPV Racing Drone"

https://www.banggood.com/FrSky-R-XSR-Ultra-SBUS-CPPM-D16-16CH-Mini-Redundancy-Receiver-1-5g-for-RC-Multirotor-FPV-Racing-Drone-p-1186057.html?rmmds=search

Does anyone else have the problem?

On "afdhs 2a" there were no range issues so far with an x6b reciever Unfortunately the receiver is too big for some builds.

This is the one: "Flysky X6B 2.4G 6CH i-BUS PPM PWM Receiver for AFHDS i10 i6s i6 i6x i4x Transmitter"

https://www.banggood.com/Flysky-X6B-2_4G-6CH-i-BUS-PPM-PWM-Receiver-for-AFHDS-i6s-i6-i6x-Transmitter-p-1101513.html?rmmds=search&cur_warehouse= USA

Are there any alternative for small recievers with rssi telemetry?

Is it maybe a BUG is the software of "Deviation"? (FrSky)

Video:

https://youtu.be/EKwYNjRTPWk

Need analyze stack usage

Here is the report generate by https://dlbeer.co.nz/oss/avstack.html. the following table shows the stack usage based on call graph. Please check the page for the detailed explanation for the following table. I am using f12e as example (7e shows similar functions in the top).

Consider some optimization for the top functions.

Func Cost Frame Height

reorder_return_cb@objs/devof12e/mixer_page.o 5640 2824 4
press_cb@objs/devof12e/model_loadsave.o 3504 24 10
file_press_cb 3504 8 10
CONFIG_ResetModel 3496 16 6
main 3496 16 12
CONFIG_ReadTemplateByIndex 3496 24 7
usb_cb 3488 8 10
invalid_stdmixer_cb 3488 16 6
CONFIG_ReadModel 3480 56 5
protoselect_cb 3472 48 5
CONFIG_ReadTemplate 3472 48 5
RemapChannelsForProtocol 3424 608 4
mixermode_cb 3016 48 6
STDMIXER_SaveSwitches 2968 8 5
save_switch 2960 144 4
set_holdstate_cb 2952 136 4
gyro_output_cb 2864 48 4
action_cb@objs/devof12e/mixer_curves.o 2840 16 5
action_cb@objs/devof12e/mixer_setup.o 2832 8 5
okcancel_cb@objs/devof12e/mixer_setup.o 2824 8 4
PAGE_SaveMixerSetup 2824 8 4
MIXER_SetMixers 2816 24 3
fix_mixer_dependencies 2792 2768 2
debug_spi_flash 1064 1032 4
PAGE_MainInit 640 40 13
limit_cb 624 456 6
TGLICO_LoadFonts 600 40 11
show_elements 600 80 12
R _GUI_RefreshScreen 592 32 11
EventLoop 576 8 11
BATTERY_Check 568 24 10
show_iconsel_page 560 88 11
R GUI_DrawObject 560 8 10
LCD_LoadFont 560 32 9
GUI_DrawImageHelper 560 32 9
LCD_DrawImageFromFile 552 24 9
_changename_done_cb@objs/devof12e/model_page.o 552 8 10
GUI_DrawImage 552 24 9
CONFIG_SaveModelIfNeeded 544 8 9
newelem_press_cb 536 8 12
CONFIG_WriteModel 536 128 8
icon_notify_cb 536 32 11
create_element 528 40 11

Flysky telemetry voltage alarms.

Flysky sensor AVT01 is reported on DeviationTX as VoltX (type 0) sensor. It is an older type sensor, reported by FS-i6X as "Internal voltage". This is the same type as the internal receiver sensor for receiver voltage.
Flysky sensor CVT01 is reported on DeviationTX as CX (type 3) sensor. This one is reported by FS-i6X as "external Voltage"
They both show on DeviationTX telemetry screen with the correct voltage values.
But:
The alarm for the Cell Type voltage can be set only up to 5.0V, which is the correct value for the cell of the battery, but not for the CVT01 sensor which AFAIK can be +/- 100V.
Also, the alarm value for the VoltX type sensor is limited to 13,3V, so also not enough for i.e. 4S battery.

FrSky telemetry from flight controller doesn’t show up with the latest R-XSR firmware

With the latest F.Port firmware for R-XSR I only get RSSI, but not the telemetry values from the FC (altitude, tension, current). Downgrading the R-XSR firmware to its February version restores law and order and I get all the telemetry data on my Devo 10 with a “standard” Banggood 4-in-1. (I’m using LBT.)

My first guess was that something must have changed in the F.Port implementation and therefore the RX doesn’t receive telemetry from the FC any more. It seemed plausible, until it turned out that Betaflight developers cannot reproduce the problem with their equipment; FrSky telemetry just works for them on OpenTX, no matter which receiver firmware version they use.

There must have been a change (buggy or intentional) that made the latest R-XSR firmware (at least the F.Port version) incompatible with Deviation in terms of telemetry.

T8SG V2 Plus - minor issues - file corruption

SEE BELOW, Please terminate this comment. file system corrupts from usb writes. When you attempt to modify Hardware.ini from windows 10 via either usb methods the directory list contains a corrupted 0 byte hardware.ini as well as the new hardware.ini as written. The 0 byte file can not be deleted.

T8S - JR bay - crossfire

Hi,

It is plan to support crossfire on T8S jumper thanks to the JR bay ?

Thank you, nice work.

Quick Pages do not work properly

With any added quick page, scrolling quick pages stops working. With 320x240 GUI scrolling quick pages doesn't work even with default settings.

From the start all quick pages except first = Model Menu, it's impossible to clear, so after exit you will have 3 quick pages = Model Menu.

So, Quick Pages feature is totally unusable.

Mux "beep" with the voice mod.

I have the voice mod installed on T8SG V2 plus.
I set the channel mixer to "beep" at a particular value.
When the value is reached on the channel then instead of the "beep" there is a "saving" word spoken.

When using the "voice" mux the correct sound file is used.

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.