xref: /openbmc/gpioplus/example/pulse.cpp (revision 7ba248ad685c8a2029f9cfdbae98d161e9664a3b)
18a87555fSWilliam A. Kennington III #include <gpioplus/chip.hpp>
28a87555fSWilliam A. Kennington III #include <gpioplus/handle.hpp>
3*7ba248adSPatrick Williams 
4*7ba248adSPatrick Williams #include <exception>
58a87555fSWilliam A. Kennington III #include <string>
68a87555fSWilliam A. Kennington III 
main(int argc,char * argv[])78a87555fSWilliam A. Kennington III int main(int argc, char* argv[])
81d25055fSWilliam A. Kennington III {
98a87555fSWilliam A. Kennington III     if (argc != 3)
108a87555fSWilliam A. Kennington III     {
118a87555fSWilliam A. Kennington III         fprintf(stderr, "pulse [chip id] [line offset]\n");
128a87555fSWilliam A. Kennington III         return 1;
138a87555fSWilliam A. Kennington III     }
148a87555fSWilliam A. Kennington III 
153dd6e9d2SWilliam A. Kennington III     try
163dd6e9d2SWilliam A. Kennington III     {
178a87555fSWilliam A. Kennington III         unsigned chip_id = std::stoi(argv[1]);
188a87555fSWilliam A. Kennington III         uint32_t line_offset = std::stoi(argv[2]);
198a87555fSWilliam A. Kennington III 
208a87555fSWilliam A. Kennington III         gpioplus::Chip chip(chip_id);
218a87555fSWilliam A. Kennington III         gpioplus::HandleFlags flags(chip.getLineInfo(line_offset).flags);
228a87555fSWilliam A. Kennington III         flags.output = true;
233dd6e9d2SWilliam A. Kennington III         gpioplus::Handle handle(chip, {{line_offset, 0}}, flags,
243dd6e9d2SWilliam A. Kennington III                                 "example/pulse");
258a87555fSWilliam A. Kennington III         handle.setValues({1});
268a87555fSWilliam A. Kennington III         handle.setValues({0});
271d25055fSWilliam A. Kennington III         return 0;
281d25055fSWilliam A. Kennington III     }
293dd6e9d2SWilliam A. Kennington III     catch (const std::exception& e)
303dd6e9d2SWilliam A. Kennington III     {
313dd6e9d2SWilliam A. Kennington III         fprintf(stderr, "Error: %s\n", e.what());
323dd6e9d2SWilliam A. Kennington III     }
333dd6e9d2SWilliam A. Kennington III     return 1;
343dd6e9d2SWilliam A. Kennington III }
35