Skip to content

Added random num generator in java #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 563 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
563 commits
Select commit Hold shift + click to select a range
623a979
Update MatrixChainMult.java
i-vishi Dec 25, 2018
6e1d118
Update MatrixChainMult.py
i-vishi Dec 25, 2018
039a9d8
Delete matrixChain.php
i-vishi Dec 25, 2018
6b242c1
Create matrixChain.cs
i-vishi Dec 25, 2018
955f14f
Merge pull request #876 from i-vishi/master
i-vishi Dec 25, 2018
5242685
Create binCoeff.c
i-vishi Dec 25, 2018
1ca4ab5
Create BinCoeff.java
i-vishi Dec 25, 2018
a730e2c
Create binCoeff.py
i-vishi Dec 25, 2018
e41e9ed
Merge pull request #877 from i-vishi/master
i-vishi Dec 25, 2018
4eb5031
Merge pull request #848 from kubeeek/patch-2
i-vishi Dec 29, 2018
8b92e23
Merge pull request #850 from caioz7/master
i-vishi Dec 29, 2018
f953405
Creating lcm.cpp
ShadowSMCodes Jan 2, 2019
f87987e
Added LinkedListModule.py
JekyllAndHyde8999 Feb 8, 2019
e3ec83b
Merge pull request #880 from JekyllAndHyde8999/master
ravivarshney01 Feb 17, 2019
de53357
Set theme jekyll-theme-midnight
antew7 May 12, 2019
c89108a
Set theme jekyll-theme-minimal
antew7 May 12, 2019
fd38553
Update README.md
i-vishi Sep 30, 2019
87ea4ea
Update README.md
i-vishi Sep 30, 2019
9d882e2
Merge pull request #886 from VAR-solutions/dev
i-vishi Sep 30, 2019
850c08a
Create knapsack.cpp
asr0104 Oct 1, 2019
1cb1b28
Merge pull request #890 from asr0104/patch-12
antew7 Oct 1, 2019
40a2684
Create egyptian-fraction.cpp
asr0104 Oct 1, 2019
000f81c
Create ford-fulkerson.cpp
asr0104 Oct 1, 2019
e7ec3b6
Create graphcolor.cpp
asr0104 Oct 1, 2019
f680627
Merge pull request #893 from asr0104/patch-15
antew7 Oct 1, 2019
a10ce79
Merge pull request #891 from asr0104/patch-13
antew7 Oct 1, 2019
f70521d
Merge pull request #892 from asr0104/patch-14
antew7 Oct 1, 2019
fd69702
Create bfs.c
antew7 Oct 1, 2019
2471a18
Create binary.c
antew7 Oct 1, 2019
15bbbf4
Create dfs.c
antew7 Oct 1, 2019
adefcd1
Merge pull request #897 from VAR-solutions/antew7-patch-1
antew7 Oct 1, 2019
bcb43d9
Create mst-prims.c
nagarabhishek2507 Oct 1, 2019
9c313fa
Create MST_kruskal.py
antew7 Oct 1, 2019
ce1d6fa
Merge pull request #900 from VAR-solutions/antew7-patch-2
antew7 Oct 1, 2019
b044068
Create max_flow.py
antew7 Oct 1, 2019
98b7e96
Merge pull request #904 from VAR-solutions/antew7-patch-3
antew7 Oct 1, 2019
8afcba1
Create Cocktail.c
atulbagadeiiitvadodara Oct 1, 2019
d6519c9
Create bublesort.pl
nagarabhishek2507 Oct 1, 2019
5160192
Create Cocktail.cpp
atulbagadeiiitvadodara Oct 1, 2019
0bc378a
Create binarySearch-iterative.pl
nagarabhishek2507 Oct 1, 2019
d3ce6bb
Create binary-search.mat
Abhiraj257 Oct 1, 2019
df01904
Create insert.scala
Aayushdh99 Oct 1, 2019
cb3c1ed
Create binarySearch-recursive.pl
nagarabhishek2507 Oct 1, 2019
0e42cc0
Create Cocktail.f90
atulbagadeiiitvadodara Oct 1, 2019
29d65a1
Merge pull request #915 from Aayushdh99/patch-1
antew7 Oct 1, 2019
3d025a1
Merge pull request #906 from atulbagadeiiitvadodara/dev
antew7 Oct 1, 2019
4206a37
Merge pull request #916 from nagarabhishek2507/patch-3
antew7 Oct 1, 2019
626bf93
pop.scala
Aayushdh99 Oct 1, 2019
7e07e15
Merge pull request #914 from Abhiraj257/patch-1
antew7 Oct 1, 2019
5fe0de0
Merge pull request #912 from nagarabhishek2507/patch-2
antew7 Oct 1, 2019
95b62f9
Merge pull request #907 from nagarabhishek2507/patch-1
antew7 Oct 1, 2019
2570dcc
Merge pull request #919 from Aayushdh99/patch-2
antew7 Oct 1, 2019
60a905f
Merge pull request #899 from nagarabhishek2507/dev
antew7 Oct 1, 2019
3a5ea8b
Create enqueue.scala
kshitijSing Oct 1, 2019
7a263ad
Merge pull request #925 from kshtijsingh/patch-4
i-vishi Oct 1, 2019
39eb7c1
Create Bogosort.java
dwarkesh0337 Oct 1, 2019
e9ba175
Create MaxSubArrray.c
Abhiraj257 Oct 1, 2019
d48551d
Create Bogosort.cs
dwarkesh0337 Oct 1, 2019
63d0823
Merge pull request #929 from Abhiraj257/patch-5
i-vishi Oct 1, 2019
f3a3ff7
Create Fibonaccisearch.java
manan76 Oct 1, 2019
7f58afd
Create Cocktail.R
atulbagadeiiitvadodara Oct 1, 2019
30dccbb
Merge pull request #930 from manan76/dev
i-vishi Oct 1, 2019
262201d
Merge pull request #931 from atulbagadeiiitvadodara/patch-2
i-vishi Oct 1, 2019
9703113
Merge pull request #928 from dwarkesh0337/dev
i-vishi Oct 1, 2019
6b321ff
Create Heapsort.c
antew7 Oct 1, 2019
d523497
Merge pull request #934 from VAR-solutions/antew7-patch-4
antew7 Oct 1, 2019
b27da4a
RPM Calculator
iAbhyuday Oct 1, 2019
bb1683b
Merge pull request #941 from iAbhyuday/dev
i-vishi Oct 1, 2019
4e8b38e
added EMF Detector
iAbhyuday Oct 1, 2019
5e69942
Delete EMF_Detector_upd.ino
iAbhyuday Oct 1, 2019
3e5c253
Added EMF detector
iAbhyuday Oct 1, 2019
2dd8a5f
added EMF Detector
iAbhyuday Oct 1, 2019
0793df1
Basic BT Voice Control
iAbhyuday Oct 1, 2019
d4b1ecb
added HCSR04 Object Detection
iAbhyuday Oct 1, 2019
8a883a5
added AdaFruit IR lib
iAbhyuday Oct 1, 2019
b22d025
Create algorithm-random.md
franzqat Oct 1, 2019
ad2b97c
Update algorithm-random.md
franzqat Oct 1, 2019
750ab6b
Merge pull request #946 from franzqat/md-doc
i-vishi Oct 1, 2019
bdbf0ca
Merge pull request #943 from iAbhyuday/dev
i-vishi Oct 1, 2019
3702a05
Merge pull request #942 from iAbhyuday/iAbhyuday-patch-1
i-vishi Oct 1, 2019
0e16c56
Update fcfs.cpp
Samyak2607 Oct 6, 2019
2db1135
Update fcfs.cpp
Samyak2607 Oct 6, 2019
f78c819
Changes Made
Samyak2607 Oct 6, 2019
e6a0757
Changes Made
Samyak2607 Oct 6, 2019
3853654
Create GnomeSort.go
Mave95 Oct 7, 2019
041af0e
Added counting Sort in C++
vashist99 Oct 9, 2019
0e18866
Added Cryptogrphy andCeaser Cipher in C++
vashist99 Oct 9, 2019
f1a4443
Merge pull request #980 from vashist99/dev
i-vishi Oct 9, 2019
722075c
Merge pull request #982 from VAR-solutions/dev
i-vishi Oct 9, 2019
571bdeb
Merge pull request #983 from VAR-solutions/antew7-patch-1
i-vishi Oct 9, 2019
d754965
Merge pull request #970 from Samyak2607/dev
i-vishi Oct 9, 2019
765b767
Delete armstron.cpp
i-vishi Oct 9, 2019
5a37bca
Delete linkedlist.json
i-vishi Oct 9, 2019
ccf9bed
Merge pull request #984 from i-vishi/dev
i-vishi Oct 9, 2019
71e3040
Merge pull request #1 from VAR-solutions/dev
i-vishi Oct 9, 2019
5ca5254
Delete LinkedList.json
i-vishi Oct 9, 2019
55e8eb2
Rename fcfs.cpp to Scheduling/FCFS/fcfs.cpp
i-vishi Oct 9, 2019
50d99c6
Delete recur.py
i-vishi Oct 9, 2019
8213dd7
Delete greedy
i-vishi Oct 9, 2019
51d8c1d
Rename Heavy Light Decomposition.txt to Tree/Heavy Light Decompositio…
i-vishi Oct 9, 2019
69b95ae
Delete FindDuplicateCharacters.java
i-vishi Oct 9, 2019
db9c338
Delete KruskalOtherVersion.cpp
i-vishi Oct 9, 2019
9e80938
Merge pull request #985 from i-vishi/dev
i-vishi Oct 9, 2019
bebdf4a
Merge pull request #973 from Mave95/patch-1
i-vishi Oct 9, 2019
306a864
Merge pull request #986 from VAR-solutions/dev
i-vishi Oct 9, 2019
4429115
Added description fixes #939
vashist99 Oct 13, 2019
260181c
Merge pull request #993 from vashist99/dev
i-vishi Oct 13, 2019
e0a27fd
Added Selection Algorithm
upinderawat Oct 25, 2019
489f6e2
Create lca1.cpp
mtnshh Oct 28, 2019
325b6fc
Create cartesian_to_polar.cpp
mtnshh Oct 28, 2019
18ee5de
Create perl-6
Parishkrit Oct 31, 2019
25255e1
Create Fractional_Knapsack.java
Nov 7, 2019
992391b
Merge pull request #1075 from vrajparesh/patch-1
ravivarshney01 Dec 21, 2019
0ab3631
Update fibonacci.cpp
Feb 3, 2020
c4d1d54
C# program GCD
Feb 3, 2020
98bcf60
Create lcm.cpp
Feb 3, 2020
242c987
Update README.md
Apr 24, 2020
3177234
Merge pull request #1080 from DarkWarrior703/patch-6
i-vishi Apr 25, 2020
397b536
Update README.md
i-vishi Jul 1, 2020
6a5df90
Merge pull request #1082 from VAR-solutions/master
i-vishi Jul 1, 2020
02829c6
Merge pull request #624 from gargmehul10/patch-1
i-vishi Jul 11, 2020
fac1571
Merge pull request #626 from krit26/master
i-vishi Jul 11, 2020
ec14fb7
Merge pull request #627 from TheRaider/patch-1
i-vishi Jul 11, 2020
a4927ce
Merge pull request #699 from Santan47/upload
i-vishi Jul 11, 2020
3446fc9
Merge pull request #1041 from upinderawat/dev
i-vishi Jul 11, 2020
4162fab
Merge pull request #879 from ShadowXtr/patch-2
i-vishi Jul 11, 2020
a1c19a6
Rename Mathematics/LCM/C/lcm.cpp to Mathematics/LCM/C++/lcm.cpp
i-vishi Jul 11, 2020
9047a07
Merge pull request #1039 from VAR-solutions/dev
i-vishi Jul 11, 2020
6c2662b
Merge pull request #1083 from VAR-solutions/master
i-vishi Jul 11, 2020
77cd390
Merge pull request #635 from TheRaider/patch-6
i-vishi Jul 11, 2020
b444b1c
Merge pull request #640 from aa-deet-eeya/adding-fibonacci_search-c
i-vishi Jul 11, 2020
7c2001c
Merge pull request #644 from amitXsarkar/master
i-vishi Jul 11, 2020
f8f6164
Update README.md
i-vishi Jul 11, 2020
79e8bc9
Update lcm.py
i-vishi Jul 12, 2020
5f6cffa
Delete lcm.cpp
i-vishi Jul 12, 2020
903deb1
Merge pull request #1079 from DarkWarrior703/patch-5
i-vishi Jul 12, 2020
f704038
Merge pull request #1077 from DarkWarrior703/patch-2
i-vishi Jul 12, 2020
7c9bb10
Merge pull request #1076 from DarkWarrior703/patch-1
i-vishi Jul 12, 2020
c20f1f6
Update README.md
i-vishi Jul 12, 2020
8171666
Merge pull request #647 from adnan-alam/master
i-vishi Jul 12, 2020
9a1aceb
Merge pull request #648 from ruchit2801/master
i-vishi Jul 12, 2020
4d4d260
Merge pull request #649 from DianaBabenko/patch-1
i-vishi Jul 12, 2020
bd3d521
Merge pull request #658 from hiagonfs/master
i-vishi Jul 12, 2020
7edb6ad
Merge pull request #1069 from Parishkrit/patch-4
i-vishi Jul 12, 2020
a974ad3
Merge pull request #659 from Chinmay-KB/master
i-vishi Jul 12, 2020
086f0aa
Merge pull request #661 from AmanSharma1997/patch-1
i-vishi Jul 12, 2020
b560e5c
Merge pull request #663 from hasan356/master
i-vishi Jul 12, 2020
e5e6fc8
Merge pull request #664 from izmcm/patch-1
i-vishi Jul 12, 2020
14b0a4c
Merge pull request #667 from gauthamlal/master
i-vishi Jul 12, 2020
7653314
Merge pull request #672 from GajeshS/matrix_fibo
i-vishi Jul 12, 2020
aabc1f9
Delete a.exe
i-vishi Jul 12, 2020
2136c86
Merge pull request #1084 from VAR-solutions/master
i-vishi Jul 12, 2020
82dfcdb
Merge pull request #1085 from VAR-solutions/dev
i-vishi Jul 12, 2020
43c68ce
Merge pull request #673 from eespunes/Pusakiller_Reverse_Polish_Notation
i-vishi Jul 12, 2020
0c29194
Merge pull request #674 from nil3sh99/patch-1
i-vishi Jul 12, 2020
5d91c2a
Merge pull request #675 from nil3sh99/patch-2
i-vishi Jul 12, 2020
f74df41
Merge pull request #677 from kinochi/master
i-vishi Jul 12, 2020
9bcc5c5
Merge pull request #679 from iamyashh/master
i-vishi Jul 12, 2020
c79f5b1
Merge pull request #680 from shashank077/patch-2
i-vishi Jul 12, 2020
b1cc120
Delete selectionsort.java
i-vishi Jul 12, 2020
2e80553
Merge pull request #1087 from VAR-solutions/master
i-vishi Jul 12, 2020
943fd99
Create c-cpp.yml
i-vishi Jul 12, 2020
c7cad35
Merge pull request #1049 from mtnshh/mtnshh-patch-1
i-vishi Jul 14, 2020
7786b9e
Create LCS.java
HardikSoni11 Sep 16, 2020
09530c5
Merge pull request #1091 from HardikSoni11/dev
i-vishi Sep 25, 2020
e9cb849
Update bubble_sort.py
AzharMithani Sep 28, 2020
288a2dc
Create Swap.java
HardikSoni11 Sep 30, 2020
944ca79
fibonacci.java
Raj8998 Sep 30, 2020
eb2bb87
Create TOH.java
HardikSoni11 Sep 30, 2020
0e75d72
Create UnboundedKnapsack.java
HardikSoni11 Sep 30, 2020
e1cd21b
fibonacciModM.java
Raj8998 Sep 30, 2020
760421f
Create SubSetSum.java
HardikSoni11 Sep 30, 2020
c66fe3d
Splay Tree
Ronik-Shah Sep 30, 2020
1178957
Create priority queue using linkedlist.cpp
antew7 Oct 1, 2020
af0b0a5
Delete priority queue using linkedlist.cpp
antew7 Oct 1, 2020
64b76e6
priority queue using linked list in c++
antew7 Oct 1, 2020
fd9be87
Merge pull request #1118 from VAR-solutions/antew7-patch-1
antew7 Oct 1, 2020
8b09efa
Priority Queue in java
antew7 Oct 1, 2020
adc3b88
Doubly linked list in c++
antew7 Oct 1, 2020
20613d3
Check Bipartite in Pyhton
antew7 Oct 1, 2020
afb4e64
Merge pull request #1119 from VAR-solutions/antew7-patch-2
antew7 Oct 1, 2020
71b5b26
Merge pull request #1120 from VAR-solutions/antew7-patch-3
antew7 Oct 1, 2020
1a63beb
Merge pull request #1121 from VAR-solutions/antew7-patch-4
antew7 Oct 1, 2020
14de069
Merge pull request #1096 from AzharMithani/dev
i-vishi Oct 1, 2020
85cbe0d
Merge pull request #1097 from HardikSoni11/patch-1
i-vishi Oct 1, 2020
1102715
Merge pull request #1098 from Raj8998/dev
i-vishi Oct 1, 2020
04d81c2
Rename Recursive Algorithms/Java/factorial.java to Recursive Algorith…
i-vishi Oct 1, 2020
fedcc2d
Merge pull request #1100 from HardikSoni11/patch-2
i-vishi Oct 1, 2020
1d06c51
Rename Recursive Algorithms/Java/TOH.java to Recursive Algorithms/Tow…
i-vishi Oct 1, 2020
15f59c2
Merge pull request #1101 from HardikSoni11/patch-3
i-vishi Oct 1, 2020
74d73b2
Merge pull request #1123 from VAR-solutions/dev
i-vishi Oct 1, 2020
a6cc2c0
Update README.md
i-vishi Oct 1, 2020
769a812
Merge pull request #1103 from HardikSoni11/patch-4
ravivarshney01 Oct 1, 2020
2602759
Merge pull request #1104 from Ronik-Shah/patch-3
ravivarshney01 Oct 1, 2020
b2298e1
Merge pull request #2 from VAR-solutions/dev
i-vishi Oct 1, 2020
72bb784
Create counting-sort.rs
i-vishi Oct 1, 2020
aa459d8
Create merge-sort.rs
i-vishi Oct 1, 2020
179d3dc
Create quick-sort.rs
i-vishi Oct 1, 2020
a01a91e
Rename Sorting/BubbleSortPHP/bubblesort.php to Sorting/Bubble Sort/PH…
i-vishi Oct 1, 2020
cbf9a7f
Delete counting_sort.cpp
i-vishi Oct 1, 2020
861e65f
Merge pull request #1130 from i-vishi/dev
i-vishi Oct 1, 2020
953f9ec
Delete counting_sort.c
i-vishi Oct 1, 2020
97538a9
Rename Sorting/Counting Sort/C++/counting_sort.cpp to Sorting/Countin…
i-vishi Oct 1, 2020
18863d4
Create readme.md
i-vishi Oct 1, 2020
53518d2
Update readme.md
i-vishi Oct 1, 2020
23dd975
Rename Sorting/Bubble Sort/C++/bubble_sort.cpp to Sorting/Bubble Sort…
i-vishi Oct 1, 2020
1f8d21a
Merge pull request #681 from Riei-Joaquim/patch-3
i-vishi Oct 1, 2020
777b85f
Merge pull request #682 from Raviru/master
i-vishi Oct 1, 2020
b11fb69
Revert "Create Recursive Bubble Sort"
i-vishi Oct 1, 2020
e0843ae
Merge pull request #1154 from VAR-solutions/revert-682-master
i-vishi Oct 1, 2020
5a07a6e
Merge pull request #1156 from VAR-solutions/master
i-vishi Oct 1, 2020
ed51828
Merge pull request #690 from ajjuthekaal/patch-2
i-vishi Oct 1, 2020
43fa40f
Merge pull request #698 from pratyushmohapatra33/my-branch
i-vishi Oct 1, 2020
90562b4
Merge pull request #704 from rwithik/patch-1
i-vishi Oct 1, 2020
6549486
Merge pull request #708 from SHAKTISINGH2323/master
i-vishi Oct 1, 2020
d117f55
Merge pull request #712 from johnsoncarl/patch-1
i-vishi Oct 1, 2020
cd5be75
Merge pull request #715 from Garvit-k/patch-1
i-vishi Oct 1, 2020
d072efe
Merge pull request #717 from Garvit-k/patch-3
i-vishi Oct 1, 2020
8e764c2
Create Extended Knapsack Problem.cpp
Aayushdh99 Oct 1, 2020
a4c3c78
Merge pull request #1174 from Aayushdh99/patch-10
ravivarshney01 Oct 1, 2020
ecf563d
Merge pull request #1185 from VAR-solutions/master
i-vishi Oct 1, 2020
55edf00
Rename Mathematics/sieve of Eratosthenes/cpp/Sieve of Eratosthenes.js…
i-vishi Oct 1, 2020
d81e729
Rename Divide and Conquer /closest_points.py to Divide and Conquer/cl…
i-vishi Oct 1, 2020
52da7a8
Delete bogosort.c
ravivarshney01 Oct 1, 2020
3e0bcb2
Delete counting_sort.c
ravivarshney01 Oct 1, 2020
bd9067d
Tree Traversal in Java Programming
saiharsha-22 Oct 1, 2020
9e65437
Create linear_search.rs
Priyansh2001here Oct 1, 2020
9e5c57f
Create binary_search.rs
Priyansh2001here Oct 1, 2020
1b4c4c7
Merge pull request #1220 from saiharsha-22/dev
i-vishi Oct 2, 2020
120aaef
Merge pull request #1232 from Priyansh2001here/dev
i-vishi Oct 2, 2020
544ac59
Update CONTRIBUTING.md
i-vishi Oct 2, 2020
d55df86
Update and rename readme.md to README.md
i-vishi Oct 2, 2020
6cf41f7
Update README.md
i-vishi Oct 2, 2020
e4baf15
added algorithm
tatticoder Oct 2, 2020
8dbf72c
Fixed indentation
tatticoder Oct 2, 2020
f1eda34
Rename java to ShellSort.java
i-vishi Oct 2, 2020
c5cf580
Update README.md
i-vishi Oct 2, 2020
6ce3aa9
Update README.md
i-vishi Oct 2, 2020
a9cbb0b
Update README.md
i-vishi Oct 2, 2020
fc9492a
added list of sorting algorithms
i-vishi Oct 2, 2020
e319106
Merge pull request #3 from VAR-solutions/dev
i-vishi Oct 2, 2020
5f06a18
Merge pull request #1331 from i-vishi/dev
i-vishi Oct 2, 2020
b3e1412
Merge pull request #1322 from tatticoder/num-to-words
i-vishi Oct 2, 2020
948dd45
Merge pull request #1336 from VAR-solutions/dev
i-vishi Oct 2, 2020
4082010
Delete factorial.exe
i-vishi Oct 2, 2020
80fac34
Delete sjf.exe
i-vishi Oct 2, 2020
96e6573
Delete sjf.o
i-vishi Oct 2, 2020
848c556
Merge pull request #1337 from VAR-solutions/dev
i-vishi Oct 2, 2020
08bf59b
Added CentroidofaTree.cpp
VyomGarg47 Oct 3, 2020
16b78d0
Merge pull request #1493 from VyomGarg47/new-branch-1
i-vishi Oct 4, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
23 changes: 23 additions & 0 deletions .github/workflows/c-cpp.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: C/C++ CI

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: configure
run: ./configure
- name: make
run: make
- name: make check
run: make check
- name: make distcheck
run: make distcheck
11 changes: 11 additions & 0 deletions Arduino_Code/Arduino-IRremote/Contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Contribution Guidlines

This library is the culmination of the expertise of many members of the open source community who have dedicated their time and hard work. The best way to ask for help or propose a new idea is to [create a new issue](https://github.com/z3t0/Arduino-IRremote/issues/new) while creating a Pull Request with your code changes allows you to share your own innovations with the rest of the community.

The following are some guidelines to observe when creating issues or PRs:
- Be friendly; it is important that we can all enjoy a safe space as we are all working on the same project and it is okay for people to have different ideas
- [Use code blocks](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code); it helps us help you when we can read your code! On that note also refrain from pasting more than 30 lines of code in a post, instead [create a gist](https://gist.github.com/) if you need to share large snippets
- Use reasonable titles; refrain from using overly long or capitalized titles as they are usually annoying and do little to encourage others to help :smile:
- Be detailed; refrain from mentioning code problems without sharing your source code and always give information regarding your board and version of the library

If there is any need to contact me then you can find my email on the README, I do not mind responding to emails but it would be in your own interests to create issues if you need help with the library as responses would be from a larger community with greater knowledge!
22 changes: 22 additions & 0 deletions Arduino_Code/Arduino-IRremote/Contributors.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Contributors
These are the active contributors of this project that you may contact if there is anything you need help with or if you have suggestions.

- [z3t0](https://github.com/z3t0) : Active Contributor and currently also the main contributor.
* Email: [email protected]
- [shirriff](https://github.com/shirriff) : An amazing person who worked to create this awesome library and provide unending support
- [AnalysIR](https:/github.com/AnalysIR): Active contributor and is amazing with providing support!
- [Informatic](https://github.com/Informatic) : Active contributor
- [fmeschia](https://github.com/fmeschia) : Active contributor
- [PaulStoffregen](https://github.com/paulstroffregen) : Active contributor
- [crash7](https://github.com/crash7) : Active contributor
- [Neco777](https://github.com/neco777) : Active contributor
- [Lauszus](https://github.com/lauszus) : Active contributor
- [csBlueChip](https://github.com/csbluechip) : Active contributor, who contributed major and vital changes to the code base.
- [Sebazzz](https://github.com/sebazz): Contributor
- [lumbric](https://github.com/lumbric): Contributor
- [ElectricRCAircraftGuy](https://github.com/electricrcaircraftguy): Active Contributor
- [philipphenkel](https://github.com/philipphenkel): Active Contributor
- [MCUdude](https://github.com/MCUdude): Contributor
- [marcmerlin](https://github.com/marcmerlin): Contributor (ESP32 port)

Note: This list is being updated constantly so please let [z3t0](https://github.com/z3t0) know if you have been missed.
200 changes: 200 additions & 0 deletions Arduino_Code/Arduino-IRremote/IRremote.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
//******************************************************************************
// IRremote
// Version 2.0.1 June, 2015
// Copyright 2009 Ken Shirriff
// For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html
//
// Modified by Paul Stoffregen <[email protected]> to support other boards and timers
// Modified by Mitra Ardron <[email protected]>
// Added Sanyo and Mitsubishi controllers
// Modified Sony to spot the repeat codes that some Sony's send
//
// Interrupt code based on NECIRrcv by Joe Knapp
// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556
// Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/
//
// JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post)
// LG added by Darryl Smith (based on the JVC protocol)
// Whynter A/C ARC-110WD added by Francesco Meschia
//******************************************************************************

// Defining IR_GLOBAL here allows us to declare the instantiation of global variables
#define IR_GLOBAL
# include "IRremote.h"
# include "IRremoteInt.h"
#undef IR_GLOBAL

#ifndef IR_TIMER_USE_ESP32
#include <avr/interrupt.h>
#endif


//+=============================================================================
// The match functions were (apparently) originally MACROs to improve code speed
// (although this would have bloated the code) hence the names being CAPS
// A later release implemented debug output and so they needed to be converted
// to functions.
// I tried to implement a dual-compile mode (DEBUG/non-DEBUG) but for some
// reason, no matter what I did I could not get them to function as macros again.
// I have found a *lot* of bugs in the Arduino compiler over the last few weeks,
// and I am currently assuming that one of these bugs is my problem.
// I may revisit this code at a later date and look at the assembler produced
// in a hope of finding out what is going on, but for now they will remain as
// functions even in non-DEBUG mode
//
int MATCH (int measured, int desired)
{
DBG_PRINT(F("Testing: "));
DBG_PRINT(TICKS_LOW(desired), DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(measured, DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(TICKS_HIGH(desired), DEC);

bool passed = ((measured >= TICKS_LOW(desired)) && (measured <= TICKS_HIGH(desired)));
if (passed)
DBG_PRINTLN(F("?; passed"));
else
DBG_PRINTLN(F("?; FAILED"));
return passed;
}

//+========================================================
// Due to sensor lag, when received, Marks tend to be 100us too long
//
int MATCH_MARK (int measured_ticks, int desired_us)
{
DBG_PRINT(F("Testing mark (actual vs desired): "));
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
DBG_PRINT(F("us vs "));
DBG_PRINT(desired_us, DEC);
DBG_PRINT("us");
DBG_PRINT(": ");
DBG_PRINT(TICKS_LOW(desired_us + MARK_EXCESS) * USECPERTICK, DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(TICKS_HIGH(desired_us + MARK_EXCESS) * USECPERTICK, DEC);

bool passed = ((measured_ticks >= TICKS_LOW (desired_us + MARK_EXCESS))
&& (measured_ticks <= TICKS_HIGH(desired_us + MARK_EXCESS)));
if (passed)
DBG_PRINTLN(F("?; passed"));
else
DBG_PRINTLN(F("?; FAILED"));
return passed;
}

//+========================================================
// Due to sensor lag, when received, Spaces tend to be 100us too short
//
int MATCH_SPACE (int measured_ticks, int desired_us)
{
DBG_PRINT(F("Testing space (actual vs desired): "));
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
DBG_PRINT(F("us vs "));
DBG_PRINT(desired_us, DEC);
DBG_PRINT("us");
DBG_PRINT(": ");
DBG_PRINT(TICKS_LOW(desired_us - MARK_EXCESS) * USECPERTICK, DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(measured_ticks * USECPERTICK, DEC);
DBG_PRINT(F(" <= "));
DBG_PRINT(TICKS_HIGH(desired_us - MARK_EXCESS) * USECPERTICK, DEC);

bool passed = ((measured_ticks >= TICKS_LOW (desired_us - MARK_EXCESS))
&& (measured_ticks <= TICKS_HIGH(desired_us - MARK_EXCESS)));
if (passed)
DBG_PRINTLN(F("?; passed"));
else
DBG_PRINTLN(F("?; FAILED"));
return passed;
}

//+=============================================================================
// Interrupt Service Routine - Fires every 50uS
// TIMER2 interrupt code to collect raw data.
// Widths of alternating SPACE, MARK are recorded in rawbuf.
// Recorded in ticks of 50uS [microseconds, 0.000050 seconds]
// 'rawlen' counts the number of entries recorded so far.
// First entry is the SPACE between transmissions.
// As soon as a the first [SPACE] entry gets long:
// Ready is set; State switches to IDLE; Timing of SPACE continues.
// As soon as first MARK arrives:
// Gap width is recorded; Ready is cleared; New logging starts
//
#ifdef IR_TIMER_USE_ESP32
void IRTimer()
#else
ISR (TIMER_INTR_NAME)
#endif
{
TIMER_RESET;

// Read if IR Receiver -> SPACE [xmt LED off] or a MARK [xmt LED on]
// digitalRead() is very slow. Optimisation is possible, but makes the code unportable
uint8_t irdata = (uint8_t)digitalRead(irparams.recvpin);

irparams.timer++; // One more 50uS tick
if (irparams.rawlen >= RAWBUF) irparams.rcvstate = STATE_OVERFLOW ; // Buffer overflow

switch(irparams.rcvstate) {
//......................................................................
case STATE_IDLE: // In the middle of a gap
if (irdata == MARK) {
if (irparams.timer < GAP_TICKS) { // Not big enough to be a gap.
irparams.timer = 0;

} else {
// Gap just ended; Record duration; Start recording transmission
irparams.overflow = false;
irparams.rawlen = 0;
irparams.rawbuf[irparams.rawlen++] = irparams.timer;
irparams.timer = 0;
irparams.rcvstate = STATE_MARK;
}
}
break;
//......................................................................
case STATE_MARK: // Timing Mark
if (irdata == SPACE) { // Mark ended; Record time
irparams.rawbuf[irparams.rawlen++] = irparams.timer;
irparams.timer = 0;
irparams.rcvstate = STATE_SPACE;
}
break;
//......................................................................
case STATE_SPACE: // Timing Space
if (irdata == MARK) { // Space just ended; Record time
irparams.rawbuf[irparams.rawlen++] = irparams.timer;
irparams.timer = 0;
irparams.rcvstate = STATE_MARK;

} else if (irparams.timer > GAP_TICKS) { // Space
// A long Space, indicates gap between codes
// Flag the current code as ready for processing
// Switch to STOP
// Don't reset timer; keep counting Space width
irparams.rcvstate = STATE_STOP;
}
break;
//......................................................................
case STATE_STOP: // Waiting; Measuring Gap
if (irdata == MARK) irparams.timer = 0 ; // Reset gap timer
break;
//......................................................................
case STATE_OVERFLOW: // Flag up a read overflow; Stop the State Machine
irparams.overflow = true;
irparams.rcvstate = STATE_STOP;
break;
}

// If requested, flash LED while receiving IR data
if (irparams.blinkflag) {
if (irdata == MARK)
if (irparams.blinkpin) digitalWrite(irparams.blinkpin, HIGH); // Turn user defined pin LED on
else BLINKLED_ON() ; // if no user defined LED pin, turn default LED pin for the hardware on
else if (irparams.blinkpin) digitalWrite(irparams.blinkpin, LOW); // Turn user defined pin LED on
else BLINKLED_OFF() ; // if no user defined LED pin, turn default LED pin for the hardware on
}
}
Loading