Faits :
A.
A._ a travaillé en qualité de maçon au service de l'entreprise individuelle B._ à C._, à compter du 6 septembre 2004. A ce titre, il était assuré obligatoirement contre le risque d'accident auprès de la Caisse nationale suisse d'assurance en cas d'accidents (ci-après: la CNA).
Le 1 er décembre 2009, il a glissé et est tombé sur les avant-bras alors qu'il se trouvait sur un pont de travail à 1,5 mètres du sol. La chute a provoqué une fracture des têtes radiales droite et gauche, opérée par réduction et ostéosynthèse le même jour à l'Hôpital de D._. La CNA a pris en charge le cas.
L'assuré a été mis au bénéfice d'un traitement de physiothérapie. Malgré une tentative de reprise du travail au mois de mai 2010, il n'a pas été en mesure de poursuivre son activité de maçon et a déposé une demande de prestations de l'assurance-invalidité le 2 juin 2010. Il a séjourné à la Clinique E._ du 26 août au 14 septembre 2010, où les médecins ont posé le diagnostic principal de thérapies physiques et fonctionnelles pour douleurs résiduelles et flexum des deux coudes. Ils ont indiqué n'avoir pas de propositions thérapeutiques et que le patient serait probablement contraint de changer d'activité professionnelle (rapport médical de la Clinique E._ du 4 octobre 2010). En raison de la persistance des douleurs, l'assuré a subi une arthrotomie de l'articulation du coude gauche avec ablation des trois vis au niveau de la tête radiale et arthrolyse antérieure, le 14 décembre 2011.
Le 29 juin 2012, la CNA a informé A._ qu'elle mettait un terme, avec effet au 31 juillet 2012 au soir, au versement des indemnités journalières et à la prise en charge des frais médicaux, sous réserve des contrôles médicaux encore nécessaires et du traitement antalgique. Par décision du 19 octobre suivant, confirmée sur opposition le 8 février 2013, elle lui a alloué une rente d'invalidité fondée sur un taux d'incapacité de gain de 20 % à compter du 1 er août 2012, ainsi qu'une indemnité pour atteinte à l'intégrité corporelle de 10 %.
B.
L'assuré a déféré la décision sur opposition à la Cour des assurances sociales du Tribunal cantonal du canton de Vaud, en soutenant pour l'essentiel que son état de santé n'était pas stabilisé. Par lettre du 22 juin 2015, il a sollicité une suspension provisoire de l'instruction de la cause. Il faisait valoir qu'une nouvelle opération des coudes était envisagée par le docteur F._, spécialiste en chirurgie orthopédique et traumatologie de l'appareil locomoteur, et a produit deux rapports de ce médecin des 13 mars et 22 juin 2015.
Par jugement du 29 juin 2015, la cour cantonale a rejeté le recours et confirmé la décision sur opposition de la CNA.
C.
A._ forme un recours en concluant à l'annulation de ce jugement et des décisions des 19 octobre 2012 et 8 février 2013, ainsi qu'au renvoi de la cause à la CNA pour complément d'instruction et nouvelle décision dans le sens des considérants. Il requiert également d'être mis au bénéfice de l'assistance judiciaire.
La CNA conclut au rejet du recours, tandis que la juridiction cantonale et l'Office fédéral de la santé publique renoncent à se déterminer.
Considérant en droit :
1.
Le recourant s'en prend au jugement attaqué uniquement en tant qu'il reconnaît la stabilisation de son état de santé en août 2012.
Lorsque sont en jeu des prestations en espèces et en nature, comme c'est le cas ici, le Tribunal fédéral dispose d'un pouvoir d'examen étendu en ce qui concerne les faits communs aux deux types de prestations (voir arrêt 8C_ 584/ 2009 du 2 juillet 2010 consid. 4).
2.
Les juges cantonaux ont constaté qu'il n'existait plus de traitement médical susceptible d'améliorer, sur le plan somatique, la symptomatologie du recourant à compter du 1 er août 2012. Ils ont relevé que cette date, retenue par la CNA, était d'ailleurs favorable à l'assuré, dans la mesure où - sous réserve de l'ablation du matériel d'ostéosynthèse en décembre 2011 - l'état de santé de celui-ci était déjà largement stabilisé en octobre 2010, comme l'avaient relevé les médecins de la Clinique E._. Il ressortait des rapports médicaux versés au dossier que ce constat n'avait pas varié par la suite, quand bien même l'assuré avait continué à se plaindre de douleurs.
3.
Le recourant fait grief aux premiers juges d'avoir commis un déni de justice en refusant de donner suite à sa requête de suspension de la procédure, malgré l'accord formel de l'intimée. Ce faisant, ils auraient violé l'art. 61 let. c LPGA, qui leur impose d'agir en collaboration avec les parties et d'administrer les preuves nécessaires. Le recourant invoque également un manque de motivation du refus de la suspension. Enfin, il reproche à la juridiction cantonale de n'avoir pas tenu compte dans les considérants du jugement de la nouvelle opération envisagée par le docteur F._ et finalement pratiquée en août 2015. Cela étant, il conteste que son état de santé fût stabilisé en 2012.
4.
4.1. La violation de la maxime inquisitoire (ou, autrement dit, du devoir d'administrer les preuves nécessaires) n'a pas une portée absolue. En effet, le juge peut renoncer à accomplir certains actes d'instruction sans que cela n'entraîne une violation du devoir d'administrer les preuves nécessaires (art. 61 let. c LPGA [RS 830.1]) ou plus généralement une violation du droit d'être entendu s'il est convaincu, en se fondant sur une appréciation consciencieuse des preuves (cf. ATF 125 V 351 consid. 3a p. 352), que certains faits présentent un degré de vraisemblance prépondérante et que d'autres mesures probatoires ne pourraient plus modifier cette appréciation (sur l'appréciation anticipée des preuves cf. ATF 131 I 153 consid. 3 p. 157; 130 II 425 consid. 2 p. 429).
En outre, le juge des assurances sociales apprécie la légalité des décisions attaquées, en règle générale, d'après l'état de fait existant au moment où la décision sur opposition a été rendue (cf. ATF 131 V 242 consid. 2.1 p. 243 et les références).
4.2. En l'espèce, l'autorité cantonale a retenu qu'il n'y avait pas lieu de suspendre l'instruction de la cause dans l'attente des résultats de l'opération envisagée par le docteur F._, étant donné que celui-ci n'avait pas mis en évidence d'élément nouveau en relation avec l'état de santé du patient et qu'il était le seul médecin à être favorable à une nouvelle intervention, tout en admettant que les résultats n'étaient pas garantis, au vu du contexte psychologique et des comorbidités psychiatriques du patient. Ces constatations ne sont pas remises en cause par le recourant. Dans ces conditions, les premiers juges n'ont pas violé l'art. 61 let. c LPGA en considérant qu'il n'y avait pas lieu d'attendre les résultats d'une opération qui, d'ailleurs, n'a été envisagée qu'en mars 2015. En outre, on ne peut pas déduire des rapports des 13 mars et 22 juin 2015 du docteur F._ que l'état de santé du recourant n'était pas stabilisé au 1 er août 2012, quand bien même il proposait une nouvelle intervention. Pour le surplus, on ne voit pas non plus que le devoir de collaboration prévue par l'art. 61 let. c LPGA imposerait au juge de faire droit d'emblée à une requête de suspension de la procédure, quand la partie adverse ne s'y oppose pas.
Vu ce qui précède, les premiers juges n'ont pas ignoré l'avis du docteur F._, contrairement à ce que soutient le recourant. On ne peut pas non plus leur reprocher un défaut de motivation (cf. p. 30 du jugement attaqué).
4.3. Les critiques sont donc mal fondées. Partant, le jugement cantonal n'est pas critiquable et le recours doit être rejeté.
S'agissant de la prise en charge des prestations liées à l'opération pratiquée en août 2015, cette question échappe au pouvoir d'examen du Tribunal fédéral dans le présent litige (supra consid. 4.1). Cependant rien n'empêche le recourant de demander à l'intimée de rendre une décision sur ce point.
5.
Comme le recours paraissait d'emblée dépourvu de chances de succès, le recourant ne saurait bénéficier de l'assistance judiciaire (art. 64 LTF). Il devra donc supporter les frais judiciaires (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties, à la Cour des assurances sociales du Tribunal cantonal du canton de Vaud et à l'Office fédéral de la santé publique.
Lucerne, le 24 février 2016
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : Castella