Coder Social home page Coder Social logo

davidramiro / marlin-ai3m-2.0.x Goto Github PK

View Code? Open in Web Editor NEW
179.0 30.0 103.0 69.94 MB

🖨 Marlin 2.0.x optimized for the Anycubic i3 Mega 3D printer

License: GNU General Public License v3.0

C++ 64.99% C 30.11% Makefile 0.28% Objective-C 2.72% Shell 0.67% Python 0.97% CMake 0.06% OpenSCAD 0.08% HTML 0.01% CSS 0.03% JavaScript 0.05% G-code 0.03%
anycubic 3d-printer i3-mega mega-s marlin marlin-firmware firmware

marlin-ai3m-2.0.x's Issues

SD Card not read

SD card not read.
I have inserted the following lines from an older pins_Trigorilla_14.h into the new pins_Trigorilla_14.h:
#define BEEPER_PIN 31
#define SDSS 53
#define LED_PIN 13
#define SD_DETECT_PIN 49

now the SD card is read. Maybe you can add that to your version

[BUG] M25 Park and M24 Unpark doesn't work the way it did in Marlin 1.1.9

Bug Description

It would seem that filament runout (and M600 colour change and user initiated pause) is not going to be so simple to implement in anycubic_TFT.cpp for Marlin 2.0. The way the head is parked and unparked from filament runout and user initiated pause has changed in marlin 2.0 for the ADVANCED_PAUSE_FEATURE

We need to rework all pause and restart behaviour to work with the new ADVANCED_PAUSE_FEATURE capability of Marlin 2.0.

I noticed that Marlin 2.0 has an extensible UI concept. It might enable us to integrate our anycubic_TFT code more deeply into the Marlin main loop and events/

See this as the original report: MarlinFirmware/Marlin#12437.

My Configurations

Unchanged from your repository master

Steps to Reproduce

  1. Apply fixes to issue #4 first, so that the filament runout or pause doesn't hang the system
  2. Trigger a filament runout event
  3. Wait for head to park
  4. Load filament in the senor and accept the continue dialog.

Expected behavior:

  1. The head should unpark and print job should continue

Actual behavior: [

  1. Nothing happens the head doesn't move

Additional Information

From observing the terminal during a filament runout and continue it seem the M24 call doesn't do anything. Issuing an M108 down the terminal will actually cause the print head to continue and the printer to continue.

Hotend fan only 8V

According to the readme this firmware should put 12V to the hot end cooling fan, However I'm only seeing 8V on the fan output. Is this normal?

[BUG] Extruder motor looses stepts and stops working

Bug Description

My Configurations

Required: Please include a ZIP file cAfter 2 or 3 layers the extruder motor of my Anycubic I3 Mega S stops working with TMC 2208.
Once installed the firmware, i had to reverse the extruder motor's pin to make it working correctly.
I tried to mash calibrating the printer different times, i checked the Vref of the drivers, i tried to swap the drivers, and i tried lowering the plate manually but the motor keeps loosing steps and than it stops working and i need to reboot the printer to make it work again.
I tried extruding filament with the built-in function and it work properly.
I followed the guide, i sent those commands after installing the firmware:

M502
M500
M92 E384
M203 E30
M204 R1500.00
M500
I calibrated the plate manually, before using the "mash calibration" function but it still doesn't work.
I tried to reduce print speed at 40 mm/s but it still stops working.
Those are the driver i'm using: https://www.amazon.it/dp/B086MYZHD9?psc=1&ref=ppx_yo2ov_dt_b_product_details

I tried to update the firmware to marlin V2 but it has the same error. During a print i noticed that the motor became more noisy for 2 seconds and than it has stopped working again

I tried to sent the command G26 C H200 P5 R25 Q4.2 Z4. It moves the extruder and the plate but it doesn't extrude. When it starts, the stepper looses steps and than it just stops working

Is 0.85 correct for the Vref of all drivers?

Mesh Bed Leveling won't go below endstops

Bug Description

When performing manual bed leveling, if a point on the bed is below the end-stops, the z-axis does not exceed that point so it cannot be leveled giving false level readings.

[NO-BUG] Changing Marlin language does not change screen language

Bug Description

Hi, I compiled the .hex file on my own, setting Czech language (#define LCD_LANGUAGE cz). After flashing the firmware and following all the steps in "How to flash this?" section, including sending of M commands, my printer has still original English language. In menu language setting still only switches between English and Chinese. I assume flashing the firmware was successful (no beeps on startup) and "Firmware version V116" in info screen:
LCD

My Configurations

Anycubic Mega-S
Configuration.zip

Steps to Reproduce

  1. Download and configure Marlin-Ai3M-2.0.x
  2. Compile and flash the firmware
  3. M502; M500; M92 E384; M500
  4. Restart printer

Expected behavior:
Czech screen language

Actual behavior: [What actually happens]
English screen language

LV8729 Stepper driver

Dear David

Maybe you can give some information.

I recently ordered the LV8729 motor driver since I have heard good review about them.

I have installed them on the Z, Z2 & E0.
adjusted their voltage to about 1.100V.

Also made the modifications in the code:

#define Z_DRIVER_TYPE LV8729
#define Z2_DRIVER_TYPE LV8729
#define E0_DRIVER_TYPE LV8729

Also needed to switch the direction on the Z, and E0.
#define INVERT_Z_DIR true
#define INVERT_E0_DIR false

The direction now works fine the problem is that the moments is very slow and I also thing it is not the full movement.

My speculation that since it is by default 1/128 and not 1/16 could maybe cause this issue, but what I dont understand is why since if you define the driver type to be LV8729 it should know that that the stepping is 1/128 and work accordingly
CgAGTFl8LauAKo8xAAVdUtF9gCA957

do you have any clue?
By the way it is not only on the 2.0 firmware it is also shown in the 1.19 firmware

Do I need to modify this as well??
X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]

#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 412 }
to:
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 3200, 3296}

for Z (since the LV8729 is by default 1/128 according to the default of the main board)
1/16 = 400
1/32 = 800
1/64 = 1600
1/128 = 3200

For E0:
1/16 = 412
1/32 = 824
1/64 = 1648
1/128 = 3296

Is that correct?

What about the speed? they move very slow, will this change also accelerate the speed?

Print menu crash

I installed the hex ok and everything worked when i made the mesh. I put 7 files on the sd and when i put the sd in, i can see 3 of the first gcode files. If i move the menu down the firmware freezes.
Whats up with that.

Bug: "//#define ARC_SUPPORT" in "conv._adv.h" create compiler error

Servas David!

wenn man ARC_SUPPORT deaktiviert bekommt man einige compiler errors. Hast du was in der planer routine geändert?

C:\Users\TheDude\AppData\Local\Temp\cc4G2ake.ltrans1.ltrans.o: In function `GcodeSuite::process_parsed_command(bool)':

<artificial>:(.text+0x6d14): undefined reference to `plan_arc(XYZEval<float> const&, XYval<float> const&, unsigned char)'

collect2.exe: error: ld returned 1 exit status

bug in operator overloading in Marlin/src/core/types.h

see at MarlinFirmware/Marlin#17826

Description
In the file Marlin/src/core/types.h the operator overloading of operator* and operator/ for struct XYZval had a bug. See for example:

350: FI XYZval operator* (const float &v) const { XYZval ls = *this; ls.x *= v; ls.y *= v; ls.z *= z; return ls; }

here the value of z is not multiplied by v but by z instead.

Benefits
correct operations are ensured

[BUG] Hot end fan runs only at 100%

Bug Description

Does hot end fan support PWM control? It only blows when fan speed is set to 100%. In any other value fan keeps stopped.

My Configurations

Marlin.zip

Steps to Reproduce

  1. Use slicer to configure fan to be active at different speeds
  2. Send gcode to print

Expected behavior: Fan should adapt its speed to setting

Actual behavior: Fan works only if speed is set to 100%

Additional Information

Fan I use is a 5015 like this: https://es.aliexpress.com/item/4000011565156.html

I'll try to connect an oscilloscope to check if PWM is applied. What setting should I ensure to be activated so that Fan 0 is controlled with PWM?

[FR] Include Piezo Build

Hi David,
first: thanks for your work!

I've some questions:

  • Would you like to include a builds which support the piezo sensor for automatic leveling? (If yes I could prepare PR)
  • You've a travis integration but seems travis does not really build the FW, why are you going this way?

Thanks and greets

[Question] should I change steppers pin before compile?

Hi, I’m a little confused about pins settings in trigorilla_14.h and ramps.h

I see that 1.x version has configuration for z2 stepper in
https://github.com/davidramiro/Marlin-Ai3M/blob/master/Marlin/pins_TRIGORILLA_14.h which corresponding for actual wirings. But in 2.x version I see that e1 has pins that actually wired to z2.

Should I change this setting before compile 2.x version?

And another question is if I want to add additional extruder, what should I change in this files? Is enough to just add e2 block with corresponding pins?

[BUG] Nozzle as Probe

Complier Error by Probe methode „nozzle as Probe or fix mounted Probe“ only with the Anycubic i3 Mega Stock Display.
Complier Error:
Anycubic_TFT.cpp zprobe_zoffset was not declared in this scope

Printer crashes on Stop

Just installed version 2.0 on my Anycubic i3 Mega S.

Every time I press the Stop button on the printer, a few more print movements happens and then it continues to repeat moving back and forth on the same spot while retracting and and unretracting. Also, the screen is frozen so my only option is to turn the printer off and on.

[ARC SUPPORT not true] (Failure with G2/G3)

Bug Description

Installed to Hex File on a Anycubic Mega-S in wanted to use the Arc Welder plugin which needs Arc Support.
G2/G3 commands give out an error, which should mean that Arc Support isnt enabled at the firmware.
I checked the Code in the Configuration_adv.h file at line 1631 and it looks like it should be enabled.
Are there any additional steps, that need to be made?

[BUG] Is using inject_P() to send commands to the command buffer from the anycubic_TFT.cpp file actually the right way to do this

Bug Description

Understanding that issue #4 will actually make the anycubic_TFT.cpp code command queuing work the same way in Marlin 2.0 as it did in Marlin 1.1.9 it's still worth considering if this is actually the correct way to do this.

Anytime we are injecting commands to the queue (aborting the current queue) we are technically throwing away commands that had been queued in the command queue just prior to our call.

This means that even in the Marlin 1.1.9 code version of the filament runout code exhibits this behaviour. And effectively once the print resumes we could in theory lose whatever commands were in the queue. Granted this is probably a small number of commands but still possible.

What we really need is a way to prevent the queue from accepting any more commands, but still enqueue our commands immediately after the last command in the queue.

Note sure if Marlin has a concept to do this. We need to review the key code to understand if this is even a problem, and if there is even an elegant way to solve this.

[BUG] MAXTEMP trigger when SD-Card print ends

Bug Description

I discovered a bug while printing using the SD-Card feature in the software.

My printer ran fine on your previous Marlin version (1.1.9)

After the upgrade to Marlin 2.0, my printer does not finish print jobs from SD card correctly.
Hoever, When I print using USB Connection, every print works just as expected.

When I monitor the Serial output I get the following response:

SENT: M105 READ: X:86.81 Y:94.96 Z:1.53 E:0.00 Count X:8138 Y:8138 Z:612 READ: ok T:219.79 /220.00 B:74.99 /75.00 @:47 B@:62 READ: X:92.47 Y:88.40 Z:1.53 E:0.00 Count X:7010 Y:7498 Z:612 READ: X:94.28 Y:86.81 Z:1.53 E:0.00 Count X:7398 Y:7072 Z:612 SENT: M105 **READ: TFT Serial Debug: SD print done... J14 READ: DEBUG: AI3M Pause State: 0 READ: Error:MAXTEMP triggered, system stopped! Heater_ID: 0** SENT: M105 READ: Error:Printer halted. kill() called! READ: TFT Serial Debug: Kill command... J11

After that, the printer immediatelly stops.

I am quite sure the connection to the hotend thermistor is not loose.

Any idea what could trigger the kill function?

My Configurations

Link to configuration file: https://cloud.hansen-its.de:443/share.cgi?ssid=0O2KKcb

Steps to Reproduce

Error does not occur while printing via usb (Simplify 3D)
However, the same G-Code does not work when I put it on to SD-Card
Start print using SD-Card

Last few Lines of the G-Code are:

G92 E0.0000 G1 E-7.0000 F3900 ; layer end G91; relative positioning G1 Z5 ;lift Z axis after printing G90; absolute positioning G1 X0 Y195 F2400 ; position for easy part removal M106 S0 ; fan off M104 S0 ; turn off extruder M140 S0 ; turn off bed M84 ; disable motors

The print finishes as expected, but the printhead stays at the object (it does not lift the nozzle after printing) and the build plate is not moved forward.

Expected behavior: [What you expect to happen]
Printer finishes print and does all commands as expected
Actual behavior: [What actually happens]
Printer calls the kill function and stops immediatelly

Additional Information

[BUG] Mega-S hangs after printing interruption: the printer endlessly repeats the last track in the loop, the touch screen does not respond to clicks

Bug Description

Mega-S hangs after printing interruption: the printer endlessly repeats the last track in the loop, the touch screen does not respond to clicks

My Configurations

Anycubic Mega-S in stock configuration.
Mesh Bed Leveling was performed and enabled(M501 and M420 S1).
Linear advance was enabled(M900 K0.65)

Configuration.h:678-690 were commented(all *_DRIVER_TYPE defines)
Configuration.h:1055-1063 were changed according to comments for stock drivers
Everything else corresponds to the 2.0.x branch

Steps to Reproduce

1: run printing any model, wait until printer starts to print it(e.g.: wait second layer printing).
2: Press "STOP" button.

Expected behavior: the printing correctly has stopped, like in stock firmware.

Actual behavior: the printer hangs: it repeats last track in the loop, the touch screen does not respond to clicks. To stop this loop I have to turn off power.

[BUG] Replace calls to enqueue_now_P in anycubic_TFT.cpp with inject_P

Bug Description

In your 1.4.6 codebase you use the command enqueue_and_echo_commands_P() to send commands to the printer. From the comments in the code of Marlin 1.1.9 enqueue_and_echo_commands_P() actually aborts the current queue and queues your specified command immediately (see code snippet below). But in your Marlin 2.0 codebase you use the command queue.enqueue_now_P(). But from tracing this funciton it appears that enqueue_now_P() will enqueue this command on the end of the command queue, and if the queue is full (which happens if trying to do anything during an sdcard print) then the function just throws out any commands that don't fit on the queue silently.

The Marlin 2.0 code that does the closest thing to enqueue_and_echo_commands_P() is actually queue.inject_P(). Basically enqueue_now_P() will work for any commands from the TFT executed while the printer is not printing from SDCard (like say performing a bed levelling), but it won't work during an SDcard print.

My Configurations

Unchanged from your repository master

Steps to Reproduce

  1. Install Marlin 2.0 codebase
  2. Do an M502 and M500
  3. Load backed up M92 ,G29, M301, M304 values and store with m500
  4. Feed filament into the extruder but bypass filament sensor
  5. Add a small strip of filament in the filament sensor so that it does indicate filament outage
  6. Start any 3d print
  7. Pull the small strip of filament out of the filament sensor to trigger a filament runout

Expected behavior:

  1. Filament runout beeps
  2. Print head parks
  3. A prompt on screen telling you the filament runout has been triggered

Actual behavior:

  1. Printhead stops moving.
  2. No prompt on screen, no beep and no parked head

Additional Information

Code signature of original call in Marlin 1.1.9

/**
*   Record one or many commands to run from program memory.
*   Aborts the current queue, if any.
*   Note: drain_injected_commands_P() must be called repeatedly to drain the commands afterwards
*/
void enqueue_and_echo_commands_P(const char const pgcode) {

Lyer Shifting with Ai3M and TMC2209's

Marlin-Ai3M-2.0.x paired with TMC2209s (0.86v current on each, upgraded cooling, stealthchop enabled) causes random Y Layer Shifts (random in both time and direction) using Marlin2-Ai3M-v2.0.0_TMC2208-reversed.hex.
This also is true with "stable" Marlin-Ai3M-v1.4.6-TMC2208_reversed.hex

tried toggling linear advance, tried disabling jerk/accel

ADVANCED_PAUSE_FEATURE: M108 delay

Hi.

I've been using one of your pre-builds for a year, and everything works perfectly, and the M600 does what I expect.

I have cloned the repo to change some options, and when I test it I see that everything is going correctly, but when I pause with M600 and then launch M108, it takes about 10-15 seconds to start loading the filament (once the loading speed is as expected)

My Configurations

#if ENABLED(ADVANCED_PAUSE_FEATURE)
  #define PAUSE_PARK_RETRACT_FEEDRATE         60  // (mm/s) Initial retract feedrate.
  #define PAUSE_PARK_RETRACT_LENGTH            4  // (mm) Initial retract.
                                                  // This short retract is done immediately, before parking the nozzle.
  #define FILAMENT_CHANGE_UNLOAD_FEEDRATE     40  // (mm/s) Unload filament feedrate. This can be pretty fast.
  #define FILAMENT_CHANGE_UNLOAD_ACCEL        25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
  #define FILAMENT_CHANGE_UNLOAD_LENGTH      430  // (mm) The length of filament for a complete unload.
                                                  //   For Bowden, the full length of the tube and nozzle.
                                                  //   For direct drive, the full length of the nozzle.
                                                  //   Set to 0 for manual unloading.
  #define FILAMENT_CHANGE_SLOW_LOAD_FEEDRATE   6  // (mm/s) Slow move when starting load.
  #define FILAMENT_CHANGE_SLOW_LOAD_LENGTH     0  // (mm) Slow length, to allow time to insert material.
                                                  // 0 to disable start loading and skip to fast load only
  #define FILAMENT_CHANGE_FAST_LOAD_FEEDRATE  40  // (mm/s) Load filament feedrate. This can be pretty fast.
  #define FILAMENT_CHANGE_FAST_LOAD_ACCEL     25  // (mm/s^2) Lower acceleration may allow a faster feedrate.
  #define FILAMENT_CHANGE_FAST_LOAD_LENGTH   393  // (mm) Load length of filament, from extruder gear to nozzle.
                                                  //   For Bowden, the full length of the tube and nozzle.
                                                  //   For direct drive, the full length of the nozzle.
  //#define ADVANCED_PAUSE_CONTINUOUS_PURGE       // Purge continuously up to the purge length until interrupted.
  #define ADVANCED_PAUSE_PURGE_FEEDRATE        2  // (mm/s) Extrude feedrate (after loading). Should be slower than load feedrate.
  #define ADVANCED_PAUSE_PURGE_LENGTH          50  // (mm) Length to extrude after loading.
                                                  //   Set to 0 for manual extrusion.
                                                  //   Filament can be extruded repeatedly from the Filament Change menu
                                                  //   until extrusion is consistent, and to purge old filament.
  #define ADVANCED_PAUSE_RESUME_PRIME          0  // (mm) Extra distance to prime nozzle after returning from park.
  //#define ADVANCED_PAUSE_FANS_PAUSE             // Turn off print-cooling fans while the machine is paused.

                                                  // Filament Unload does a Retract, Delay, and Purge first:
  #define FILAMENT_UNLOAD_PURGE_RETRACT       13  // (mm) Unload initial retract length.
  #define FILAMENT_UNLOAD_PURGE_DELAY       3000  // (ms) Delay for the filament to cool after retract.
  #define FILAMENT_UNLOAD_PURGE_LENGTH         8  // (mm) An unretract is done, then this length is purged.
  #define FILAMENT_UNLOAD_PURGE_FEEDRATE      25  // (mm/s) feedrate to purge before unload

  #define PAUSE_PARK_NOZZLE_TIMEOUT          900  // (seconds) Time limit before the nozzle is turned off for safety.
  #define FILAMENT_CHANGE_ALERT_BEEPS         3  // Number of alert beeps to play when a response is needed.
  #define PAUSE_PARK_NO_STEPPER_TIMEOUT           // Enable for XYZ steppers to stay powered on during filament change.

  #define PARK_HEAD_ON_PAUSE                      // Park the nozzle during pause and filament change.
  //#define HOME_BEFORE_FILAMENT_CHANGE           // Ensure homing has been completed prior to parking for filament change

  //#define FILAMENT_LOAD_UNLOAD_GCODES           // Add M701/M702 Load/Unload G-codes, plus Load/Unload in the LCD Prepare menu.
  //#define FILAMENT_UNLOAD_ALL_EXTRUDERS         // Allow M702 to unload all extruders above a minimum target temp (as set by M302)```

**Required:** Please include a ZIP file containing your `Configuration.h` and `Configuration_adv.h` files.

### Steps to Reproduce

<!-- Please describe the steps needed to reproduce the issue -->

1. M600
2. M108


**Expected behavior:** After launching M108, the filament begin to load

**Actual behavior:** 10-15 seconds delayed
[Marlin.zip](https://github.com/davidramiro/Marlin-Ai3M-2.0.x/files/6283722/Marlin.zip)


#### Additional Information

* Provide pictures or links to videos that clearly demonstrate the issue.
* See [How Can I Contribute](#how-can-i-contribute) for additional guidelines.

[BUG] Out of filament sensor does not trigger printing pause

Bug Description

Filament sensor does not pause print. When filament is out of sensor a message is shown on screen but printing goes on normally.

My Configurations

I'm running latest 2.0.x commit [d47dbd5]

Marlin.zip

Steps to Reproduce

  1. Put a piece of filament on sensor to simulate run out.
  2. Start printing as usual
  3. Remove filament from sensor

Expected behavior: I would expect that printing pauses waiting for new filament

Actual behavior: A message is shown on LCD, so sensor works fine. Printing process goes on.

[BUG] (y_min & x_max endstop not detected)

Bug Description

When triggered, both the y_min & x_max endstop do not change state

My Configurations

I'm running latest 2.0.x commit 9b7f0ba, with stock code, no modifications
Moved from Marlin 1.1.9 and there was no problem on that firmware.
Tried to compare both configuration file in the "Endstop" section but without any result

Expected behavior: [Normal Homing of all Axes]

Actual behavior: [Y Axis and the second Z axis keep pushing the rail after reaching the endstop]

[BUG] Z position not saving

Bug Description

Hi. I'm unable to set Z position in LCD menu, but also positioning instruction provided in the readme file doesn't work. I have sent those commands, saved, rebooted and Z axis is in the same position as it was - pressing the bed.

My Configurations

Anycubic I3 Mega with Chinese nozzle, which is 2.8mm higher than original.

Steps to Reproduce

a) Change position of Z axis via LCD, save, reboot
b) Send G91, G1, G90, or even M206, M428

Actual behavior: EEPROM is not being overwritten (?)

Filament In or Filament remove trough the LCD doesnt work.

Description

Steps to Reproduce

  1. [First Step]
  2. [Second Step]
  3. [and so on...]

Expected behavior: [What you expect to happen]

Actual behavior: [What actually happens]

Additional Information

  • Include a ZIP file containing your Configuration.h and Configuration_adv.h files.
  • Provide pictures or links to videos that clearly demonstrate the issue.
  • See How Can I Contribute for additional guidelines.

trigorilla stepper assignment Z2/E1?

printer: Anycubic I3 Mega-S (upgraded)
board: 8 bit trigorilla 1.0

I'm running a mixed (tmc2209/A4988) stepper driver configuration (A4988 on extruder). and i am very confused about configuring the steppers.

On a Trigorilla board, the second Z-axis is connected to E1 header

in "Configuration.h" I have

#define X_DRIVER_TYPE  TMC2209_STANDALONE
#define Y_DRIVER_TYPE  TMC2209_STANDALONE
#define Z_DRIVER_TYPE  TMC2209_STANDALONE
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE TMC2209_STANDALONE

But when i look into "pins_TRIGORILLA_14.h", E1 is not defined. and Y2 and Z2 have the same pins assigned to them (which actually match E1 header on the board). Mind you, there is no Y2 on a trigorilla, and the second Z is hardwired in parallel).

So should "Configuration.h" have
define Z2_DRIVER_TYPE TMC2209_STANDALONE
or
define E1_DRIVER_TYPE TMC2209_STANDALONE
if you have a 2209 driver on the second Z-axis driver? I believe it is Z2 (according to the pins layout), but that is just plain confusing, as it does not actually matches the silkscreen on the trigorilla pcb.

in vanilla Marlin 2.0, this seems to have been changed, and "pins_TRIGORILLA_14.h" has an include for "pins_RAMPS.h", which has the correct pin assignments for the X, Y, Z, E0 and E1 headers on the trigo board.

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.