Git Product home page Git Product logo

adpco's People

Contributors

antoninomiceli avatar markrivers avatar tjmaddenargonne avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

adpco's Issues

ADPCO lacks a RELEASE.md file

areaDetector repositories should all have a RELEASE.md file that describes each release.

ADPCO has several tags, but no RELEASE.md file.

This can be created retroactively by looking at the differences between each release.

@argonnexraydetector can you please do this?

windowsx-64 static build succeeded, but the IOC shows error

I started ADPCO IOC after successfully built on windows-x64-static.
No error on MEDM screen initially (for about 5 seconds). But an error comes up afterwards on "Detector state".
IOC startup log shows certain values being out of range. Though I couldn't tell where these values come from.

epics> Fri Dec 1 21:23:55 2023
-siSoftware::setConfigFileName use D:/timmaddenedge.mcf
Fri Dec 1 21:23:55 2023
-siSoftware::setConfigFileName use edgeRollShutter.mcf
Fri Dec 1 21:23:55 2023
-siSoftware::initialize sizex = -8773, sizey=-7723
Fri Dec 1 21:23:56 2023
-siSoftware::initialize: HAP_PCOGLSH version 610
Fri Dec 1 21:23:56 2023
-Fg_setParameter(FG_WIDTH) failed: Value out of range
Fri Dec 1 21:24:04 2023
-siSoftware::setConfigFileName use D:/timmaddenedge.mcf
Fri Dec 1 21:24:04 2023
-siSoftware::setConfigFileName use edgeRollShutter.mcf
Fri Dec 1 21:24:04 2023
-siSoftware::initialize sizex = -8773, sizey=-7723
Fri Dec 1 21:24:05 2023
-siSoftware::initialize: HAP_PCOGLSH version 610
Fri Dec 1 21:24:05 2023
-Fg_setParameter(FG_WIDTH) failed: Value out of range

image

linker error in windows-x64 build

I am building the latest ADPCO on Windows 10.
I already built ADCameralink without problems.
But ACPCO throwing multiple definition on the following symbols:
cameralink.lib(cameralink.dll) : error LNK2005: "public: virtual __cdecl ADCameralink::~ADCameralink(void)" (??1ADCameralink@@UEAA@XZ) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: __cdecl ADCameralink::ADCameralink(class ADCameralink const &)" (??0ADCameralink@@qeaa@AEBV0@@z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: __cdecl ADCameralink::ADCameralink(class ADCameralink &&)" (??0ADCameralink@@qeaa@$$QEAV0@@z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: class ADCameralink & __cdecl ADCameralink::operator=(class ADCameralink const &)" (??4ADCameralink@@QEAAAEAV0@AEBV0@@z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: class ADCameralink & __cdecl ADCameralink::operator=(class ADCameralink &&)" (??4ADCameralink@@QEAAAEAV0@$$QEAV0@@z) already defined in PCOSerial.obj
Creating library pco.lib and object pco.exp
===================================last few lines of build log============================

cl -EHsc -GR               -nologo -FC -D__STDC__=0 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE    -RTCsu -Zi -FS   -W3 -w44355 -w44344 -w44251     -D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING /D USEASYNSERIAL /D USELOGFILE -DH5_BUILT_AS_DYNAMIC_LIB      -MDd -DEPICS_BUILD_DLL -DEPICS_CALL_DLL -TP  -I. -I../O.Common -I. -I. -I.. -I../../../include/compiler/msvc -I../../../include/os/WIN32 -I../../../include   -IC:/epics/modules/synApps_6_1_epics7/support/include   -IC:/epics/modules/synApps_6_1_epics7/support/asyn-R4-38/include     -IC:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/include/os/WIN32 -IC:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/include   -IC:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCore/include -IC:/epics/base-7.0.4/include/compiler/msvc -IC:/epics/base-7.0.4/include/os/WIN32 -IC:/epics/base-7.0.4/include   -IC:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCameralink/include        -c ../pcoEdgePlugin.cpp
pcoEdgePlugin.cpp
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(55): warning C4101: 'fn1': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(55): warning C4101: 'fn0': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(54): warning C4101: 'str1': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(53): warning C4101: 'str0': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(60): warning C4101: 'wt': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(56): warning C4101: 'fullfname': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(57): warning C4101: 'is_update': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(71): warning C4101: 'sizex': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(71): warning C4101: 'sizey': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(74): warning C4101: 'ii0': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(75): warning C4101: 'imgc': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(73): warning C4101: 'fnx': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(76): warning C4101: 'wt': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(75): warning C4101: 'nimg': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(72): warning C4101: 'is_update': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(69): warning C4101: 'stripsize': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(217): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(218): warning C4267: '=': conversion from 'size_t' to 'int', possible loss of data
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(239): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(240): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(114): warning C4101: 'kx': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(115): warning C4101: 'dst': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(124): warning C4101: 'pco_edge_fastscan': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(107): warning C4101: 'elapsed_time': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(122): warning C4101: 'mesgx': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(115): warning C4101: 'src': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(128): warning C4101: 'dd': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(118): warning C4101: 'diff_tot': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(117): warning C4101: 'diff': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(445): warning C4101: 'fnx': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(446): warning C4101: 'is_update': unreferenced local variable
C:\epics\modules\synApps_6_1_epics7\support\areaDetector-R3-7\ADPCO\pcoApp\src\pcoEdgePlugin.cpp(554): warning C4101: 'i': unreferenced local variable
link -nologo -subsystem:windows -dll -debug -incremental:no -fixed:no -MACHINE:X64      -out:pco.dll -implib:pco.lib     PCOSerial.obj pco.obj drvPcoEpics.obj drvpcoEdgePluginEpics.obj pcoEdgePlugin.obj      C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCameralink/lib/windows-x64-debug/cameralink.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCore/lib/windows-x64-debug/NDPlugin.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCore/lib/windows-x64-debug/ADBase.lib  C:/epics/modules/synApps_6_1_epics7/support/asyn-R4-38/lib/windows-x64-debug/asyn.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADCore/lib/windows-x64-debug/ntndArrayConverter.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/nt.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/pvDatabase.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/pvAccess.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/pvData.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/netCDF.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/Magick++.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/coders.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/Magick.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/jbig.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/jp2.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/bzlib.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/png.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/webp.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/lcms.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/ttf.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/wmf.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/filters.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/tiff.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/xml2.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/NeXus.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/hdf5.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/hdf5_hl.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/bitshuffle.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/blosc.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/szip.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/zlib.lib  C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADSupport/lib/windows-x64-debug/jpeg.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/dbRecStd.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/dbCore.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/ca.lib  C:/epics/base-7.0.4/lib/windows-x64-debug/Com.lib gdi32.lib oleaut32.lib
cameralink.lib(cameralink.dll) : error LNK2005: "public: virtual __cdecl ADCameralink::~ADCameralink(void)" (??1ADCameralink@@UEAA@XZ) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: __cdecl ADCameralink::ADCameralink(class ADCameralink const &)" (??0ADCameralink@@QEAA@AEBV0@@Z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: __cdecl ADCameralink::ADCameralink(class ADCameralink &&)" (??0ADCameralink@@QEAA@$$QEAV0@@Z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: class ADCameralink & __cdecl ADCameralink::operator=(class ADCameralink const &)" (??4ADCameralink@@QEAAAEAV0@AEBV0@@Z) already defined in PCOSerial.obj
cameralink.lib(cameralink.dll) : error LNK2005: "public: class ADCameralink & __cdecl ADCameralink::operator=(class ADCameralink &&)" (??4ADCameralink@@QEAAAEAV0@$$QEAV0@@Z) already defined in PCOSerial.obj
   Creating library pco.lib and object pco.exp
pco.dll : fatal error LNK1169: one or more multiply defined symbols found
gmake[3]: *** [C:/epics/base-7.0.4/configure/RULES_BUILD:298: pco.dll] Error 1169
gmake[3]: Leaving directory 'C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADPCO/pcoApp/src/O.windows-x64-debug'
gmake[2]: *** [C:/epics/base-7.0.4/configure/RULES_ARCHS:58: install.windows-x64-debug] Error 2
gmake[2]: Leaving directory 'C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADPCO/pcoApp/src'
gmake[1]: *** [C:/epics/base-7.0.4/configure/RULES_DIRS:85: src.install] Error 2
gmake[1]: Leaving directory 'C:/epics/modules/synApps_6_1_epics7/support/areaDetector-R3-7/ADPCO/pcoApp'
gmake: *** [C:/epics/base-7.0.4/configure/RULES_DIRS:85: pcoApp.install] Error 2

Dynamic builds on Windows don't work

Dynamic builds on Windows don't work. Here is the error when trying to build with the windows-x64 architecture on base 3.14.12.5 and ADCore 2-5. This was after already fixing problems in configure/RELEASE and pcoApp/src/Makefile:

make -C O.windows-x64 -f ../Makefile TOP=../../.. \
    T_A=windows-x64 install
make[3]: Entering directory 'P:/epics/epics/devel/areaDetector-2-5/ADPCO/pcoApp/src/O.windows-x64'
link /nologo /subsystem:windows /dll /LTCG /incremental:no /opt:ref /release   /MACHINE:X64      /implib:pco.lib /out:pco.dll          PCOSerial.obj pco.obj drvPcoEpics.obj drvpcoE
dgePluginEpics.obj pcoEdgePlugin.obj      P:\\epics\\epics\\devel\\areaDetector-2-5\\ADCameraLink\\lib\\windows-x64\\cameralink.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADCo
re\\lib\\windows-x64\\NDPlugin.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADCore\\lib\\windows-x64\\ADBase.lib  P:\\epics\\epics\\devel\\asyn-4-30\\lib\\windows-x64\\asyn.lib
 P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSupport\\lib\\windows-x64\\netCDF.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\lib\\windows-x64\\tiff.lib  P:\\epics\\epics\\devel\
\areaDetector-2-5\\lib\\windows-x64\\jpeg.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSupport\\lib\\windows-x64\\xml2.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSuppor
t\\lib\\windows-x64\\NeXus.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSupport\\lib\\windows-x64\\hdf5.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSupport\\lib\\windows
-x64\\szip.lib  P:\\epics\\epics\\devel\\areaDetector-2-5\\ADSupport\\lib\\windows-x64\\zlib.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\recIoc.lib  P:\\epics\\epics\\
base-3.14.12.5\\lib\\windows-x64\\softDevIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\miscIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\rsrvIoc.lib
P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\dbtoolsIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\asIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x6
4\\dbIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\registryIoc.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\dbStaticIoc.lib  P:\\epics\\epics\\base-3.14.
12.5\\lib\\windows-x64\\ca.lib  P:\\epics\\epics\\base-3.14.12.5\\lib\\windows-x64\\Com.lib gdi32.lib oleaut32.lib
   Creating library pco.lib and object pco.exp
PCOSerial.obj : error LNK2001: unresolved external symbol pasynOctetSyncIO
pco.obj : error LNK2001: unresolved external symbol pasynTrace
pco.dll : fatal error LNK1120: 2 unresolved externals
P:/epics/epics/base-3.14.12.5/configure/RULES_BUILD:300: recipe for target 'pco.dll' failed
make[3]: *** [pco.dll] Error 1120
make[3]: Leaving directory 'P:/epics/epics/devel/areaDetector-2-5/ADPCO/pcoApp/src/O.windows-x64'
P:/epics/epics/base-3.14.12.5/configure/RULES_ARCHS:64: recipe for target 'install.windows-x64' failed
make[2]: *** [install.windows-x64] Error 2
make[2]: Leaving directory 'P:/epics/epics/devel/areaDetector-2-5/ADPCO/pcoApp/src'
P:/epics/epics/base-3.14.12.5/configure/RULES_DIRS:87: recipe for target 'src.install' failed
make[1]: *** [src.install] Error 2
make[1]: Leaving directory 'P:/epics/epics/devel/areaDetector-2-5/ADPCO/pcoApp'
P:/epics/epics/base-3.14.12.5/configure/RULES_DIRS:87: recipe for target 'pcoApp.install' failed
make: *** [pcoApp.install] Error 2

There are 3 basic problems:

  • Include files are in the wrong order with respect to epicsExport.h. That file must be the last file included before the include files that define functions that will be located in this DLL.
  • Include files should really only include other include files that are needed for the definitions in that include file. Other include files should be included in the .cpp files, not in the .h files (e.g. , EPICS include files not defining items in this .h file, etc.). This is generally good style, and is very helpful when trying to get dynamic builds on Windows to work.
  • Missing LIB_LIBS files. When building dynamically all external libraries must be defined when the library is built, using LIB_LIBS. This is not needed when building statically, or on non-Windows architectures, so it is frequently overlooked.

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.