#!/usr/bin/env python3 """Add 0x2000-0x2003 entries to ODList in OD.c""" import sys path = "/root/workspace/canopen_lab/CANopenLinux/CANopenNode/example/OD.c" with open(path) as f: content = f.read() # Find the 0x1A03 entry and add after it target = " {0x1A03, 0x09, ODT_REC, &ODObjs.o_1A03_TPDOMappingParameter, NULL}," insert = """ {0x2000, 0x01, ODT_VAR, &ODObjs.o_2000_MfrData1, NULL}, {0x2001, 0x01, ODT_VAR, &ODObjs.o_2001_MfrData2, NULL}, {0x2002, 0x01, ODT_VAR, &ODObjs.o_2002_MfrData3, NULL}, {0x2003, 0x01, ODT_VAR, &ODObjs.o_2003_MfrData4, NULL}, """ if target in content: content = content.replace(target, target + "\n" + insert) with open(path, "w") as f: f.write(content) print("[OK] ODList entries added") else: print("[ERR] Target not found!") sys.exit(1)